В доступе отказано с помощью фильтра apache

Я использую Apache httpd на Centos7 (SELinux) и пытаюсь создать выходной фильтр для изменения всех обслуживаемых HTML-страниц. Я просмотрел некоторые учебные пособия о том, как их создавать, но я продолжаю спотыкаться на первом шаге даже до того, как приступаю к программированию.

В настоящее время у меня есть это в моем httpd.conf

ExtFilterDefine portal_header mode=output intype=text/html cmd="/var/www/root/main/portal/portal.php"SetOutputFilter portal_header

Чтобы точно определить мою проблему, я удалил весь настоящий код в файле /var/www/root/main/portal/portal.php на данный момент, и в настоящее время он выглядит так

#!/usr/bin/php
<php?
/* test */
?>

Но когда я знаю, попытаться получить доступ к любому HTML на сервере, я получаю «500 Internal Server Error». После комментирования строки SetOutputFilter в httpd.conf страницы работают так, что фильтр генерирует ошибку.

В моем журнале ошибок это читает

[Fri Feb 10 14:36:55.458174 2017] [ext_filter:error] [pid 171495] (13)Permission denied: [client 10.2.8.109:49278] AH01458: couldn't create child process to run `/var/www/root/main/portal/portal.php'
[Fri Feb 10 14:36:55.458215 2017] [ext_filter:error] [pid 171495] (13)Permission denied: [client 10.2.8.109:49278] AH01467: can't initialise output filter portal_header: aborting

У меня есть хотя бы

  • изменил права доступа к файлу на 777
  • проверил, что php находится в / usr / bin / php и принадлежит группе apache с соответствующими правами
  • пытался добавить и удалить ScriptAlias ​​и / или SetHander cgi-скрипт для каталога в httpd.conf
  • попробовал с полностью пустым файлом скрипта

но ничего из вышеперечисленного не имеет никакого эффекта. Единственное изменение в том, что когда я намеренно неправильно написал имя файла, вместо этого я получил ошибку «Нет такого файла или каталога».

У кого-нибудь есть идея, что я должен сделать, чтобы эта работа? На данный момент я был бы рад видеть, что скрипт вообще ничего не делает, если он просто не ломается, и только потом добавляет в него некоторые функциональные возможности.

ОБНОВЛЕНИЕ: я смог определить проблему с политиками SELinux, так как после их отключения (setenforce 0) ошибка исчезла. Поэтому в настоящее время я пытаюсь понять, как я должен изменить политику.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]