У меня есть набор сценариев cgi, которые отлично работают в RHEL 6.x (с Apache 2.2).
Есть каталог cgi-bin, содержащий сценарии, плюс index.html (чистый html), который служит интерфейсом для сценариев, позволяя мне щелкнуть кнопку, чтобы вызвать любой сценарий, который я хочу.
При развертывании того же набора сценариев в блоке RHEL 7.x с Apache 2.4 эта конфигурация больше не работает.
Я обнаружил директиву «Требовать все предоставленные», которую мне пришлось изменить между 2.2 и 2.4, но я думаю, что должно быть что-то еще.
При попытке загрузить index.html я получаю следующие сообщения об ошибках:
AH01215: (13) Permission denied: exec of '/path/to/index.html' failed Конец вывода сценария перед заголовками: index.html
У меня есть директива ScriptAlias для моего каталога cgi-bin.
Из всего этого я понимаю, что apache предполагает, что все в этом каталоге является сценарием, и пытается выполнить index.html через CGI.
Что, я думаю, справедливо, но эта конфигурация работала в 2.2, поэтому мне интересно, есть ли способ сделать исключение для файлов .html, или мне придется изменить структуру каталогов?
редактировать:
SELinux уже был отключен.
Сценарии доставляются через файл rpm, который также включает файл .conf для /etc/httpd/conf.d/
/etc/httpd/conf/httpd.conf пока оставлен по умолчанию в RHEL 7.x
Файл .conf, поставляемый rpm, выглядит следующим образом:
ScriptAlias /turnover-client/ /opt/tools/turnover-client/cgi-bin/
Alias /turnover-client /opt/tools/turnover-client/cgi-bin/index.html
<Location /turnover-client>
Order Allow,Deny
Allow from all
</Location>
Который, на данный момент, я изменил на это:
ScriptAlias /turnover-client/ /opt/tools/turnover-client/cgi-bin/
Alias /turnover-client /opt/tools/turnover-client/cgi-bin/index.html
<Location /turnover-client>
Require all granted
Options +ExecCGI
</Location>