Я использую ArchLinux, недавно обновил Apache с 2.2 до 2.4 и обновил мой конфиг (вручную добавив изменения из нового файла конфигурации по умолчанию). Мои сценарии CGI, которые раньше выполнялись, теперь не работают - я вижу исходный код сценария CGI. Сценарий является исполняемым во всем мире, и, что более важно, разрешения не изменились, так как было известно, что он работает.

В корневой папке, в которой находится сценарий, включена поддержка CGI в httpd.conf:

DocumentRoot "/srv/http"
<Directory "/srv/http">
    Options Indexes FollowSymLinks ExecCGI Includes

в настройках MIME .cgi настроен так:

<IfModule mime_module>
    AddHandler cgi-script .cgi

и модуль mime_module загружается.

Как мне снова запустить мои CGI-скрипты?

2 ответа2

0

Вы смотрели на http://httpd.apache.org/docs/2.4/upgrading.html?

Делая то же самое некоторое время назад, я обнаружил, что основным изменением для меня было управление доступом, например:

В этом примере все запросы разрешены.

2.2 конфигурация:

    Order allow,deny
    Allow from all

Конфигурация 2.4 :

    Require all granted

Вы можете обнаружить, что у вас есть такие элементы управления доступом для изменения в ваших файлах конфигурации.

0

Видимо, когда я сливал конфиги, мне удалось отключить mod_cgi. Раскомментирование строки:

LoadModule cgid_module modules/mod_cgid.so

сделал трюк.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .