У меня возникли трудности с правильной настройкой веб-приложения Perl на моем сервере Apache2. Я получаю 500 Internal Server Error
при попытке доступа к сайту из веб-браузера.Apache Perl cgi-bin setup: Внутренняя ошибка сервера
Сообщение об ошибке в журнале ошибки:
[Wed Nov 30 23:55:46.848517 2016] [cgid:error] [pid 6899] (2)No such file or directory: AH01241: exec of '/var/cgi-bin/choose.pl' failed
[Wed Nov 30 23:55:46.849213 2016] [cgid:error] [pid 2090] [client 127.0.0.1] End of script output before headers: choose.pl, referer: http://localhost/test/
Но когда я пытаюсь запустить скрипт из терминала (perl choose.pl
) его пробегов, как и ожидалось, без ошибок. Файлы имеют 755 прав и начинаются с надлежащего shebang.
Сценарий загружается в файл html следующим образом: <frame src=/cgi-bin/choose.pl name=choose scrolling=auto>
Когда я пытаюсь получить к нему доступ напрямую, он также терпит неудачу.
Мой /etc/apache2/sites-available/000-default.conf
выглядит следующим образом:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html
ScriptAlias "/cgi-bin/" "/var/cgi-bin/"
<Directory "/var/cgi-bin/">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Спасибо за любую помощь! Это очень ценится!
ОС сообщает, что '/ var/cgi-bin/choose.pl' не существует. Вы думаете иначе? – ikegami
Имейте в виду, что услуги подчиняются вещам, таким как chroot jails и SElinux, поэтому то, что они видят как/var, может отличаться от того, что вы видите как/var. – ikegami
@ikegami Да, файл существует. Если я запустил 'perl/var/cgi-bin/choose.pl', он будет выполняться так, как ожидалось. – JMac