У меня неправильная конфигурация Apache. Мой скрипт не хочет выполняться, и браузер пытается загрузить его как файл.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName president.com
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /var/www/cgi/
<Directory /var/www/cgi/>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Require all granted
AddHandler cgi-script .cgi .pl
</Directory>
- Скрипты принадлежат пользователю
www-data:www-data
с правами755
и могут быть выполнены (+x
). - Шебанг например
#!/usr/bin/perl
. - Журнал ошибокпустой.
решение1
Задача решена!
Я удаляю все Require all granted
(это только для Apacvhe 2.4+) и вставляю:
Order allow,deny
allow from all
Также я перехожу AddHandler cgi-script .cgi .pl
к описанию каталога DocumentRoot