LINUX.ORG.RU
решено ФорумAdmin

Apache2 CGI-файл не запускается

 ,


0

1

Браузер предлагает загрузить файл при переходе на http://cgi/cgi-bin/index.cgi.

Конфигурация из /etc/apache2/sites-available:

<VirtualHost *:80>
        ServerName cgi
        ServerAdmin webmaster@localhost

        ScriptAlias /cgi-bin /var/www/cgi/

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Буду благодарен за помощь.

★★

Options ExecCGI разве не нужно в <Directory "/var/www/cgi">?

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em
<VirtualHost *:80>
        ServerName cgi
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/cgi

        <Directory /var/www/cgi/>
                Options ExecCGI
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

ЧЯДНТ?

Razip ★★ ()
Ответ на: комментарий от Razip

А зачем у тебя CGI прямо в DocumentRoot? Если так хочется мешать CGI и HTML, то лучше сделай AddHandler cgi-script .cgi, а ExecCGI убери. Тогда файлы с суффиксом .cgi будут исполняться. Наверное.

Модуль mod_cgi загружен?

LoadModule cgi_module modules/mod_cgi.so
или это только в старом надо было?

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

Создал отдельный каталог для CGI-скриптов - /var/www/cgi/cgi-bin, оставил для него ExecCGI.

Не нашел каталог modules в /etc/apache2/, зато там есть каталог mods-available, в котором есть cgi.load. Также я встретил такие строчки в apache2.conf:

# Include module configuration:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
Т.е. скорее всего модуль загружен по умолчанию.

Razip ★★ ()
Ответ на: комментарий от Razip

Меня навело на одну мысль. В этих строках на конце «enabled*», вместо «available*», т.е. возможно как-то нужно включать модуль на подобии a2ensite для виртуальных хостов.

Razip ★★ ()
Ответ на: комментарий от Razip

Действительно, оказалась такая программа и модуль включился. Сейчас поэкспериментирую с ScriptAlias директивой.

Razip ★★ ()
Ответ на: комментарий от Razip

Выводится ошибка HTTP 500, буду разбирать логи Apache2.

Razip ★★ ()
Ответ на: комментарий от Razip

Логи сообщили о том, что CGI-файл выводил неправильный HTTP-header. После редактирования программы все заработало.

Всем спасибо, вопрос решен!

Razip ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.