apache на centos 5.6 выдает ошибку «Отказано в разрешениях»

10

Я запускаю apache на centos 5.6, и всякий раз, когда я пытаюсь загрузить скрипт php в любой каталог, кроме / var / www / html (корневой каталог по умолчанию apache), он выдает ошибку отказа в разрешении.

Однако, когда я проверяю права доступа моего нового корневого каталога (/ var / www-dev) к каталогу по умолчанию (/ var / www / html), они совпадают одинаково. оба говорят: root: root 755

я даже попытался сменить владельца на apache: apache, и все равно получил ту же ошибку

Но когда я изменяю конфигурацию apache обратно, это корневой каталог по умолчанию (/ var / www / html), все работает.

Я делаю что-то неправильно?

Это настройки, которые я меняю:

DocumentRoot "/var/www/html"

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Примечание: я перезагружаю apache каждый раз, когда меняю конфигурацию и разрешения apache.

а также: у меня также включены REMI и EPEL

koeder
источник
SELinux включен?
Барт Де Вос
@TiZon я не верю в это. это должно быть?
Кодер
Можете ли вы дать нам точное сообщение? Это «отказано в разрешении», исходящее из файловой системы или напрямую из apache (например, по какой-то директиве Order)? И есть ли сообщения в файле error.log?
Рафаэль Лютигер
И проверьте, есть ли у вас файлы .htaccess в этих двух подкаталогах.
Рафаэль Лютигер
1
Спасибо @TiZon! SELinux, был включен. Как только я отключил его, отредактировав файл / etc / selinux / config, мои веб-приложения могли загружаться другими директорами.
Кодер

Ответы:

11

Обычно это происходит из-за того, что Selinux не дает доступа к папке. делать

ls -alZ /var/www/

и если папка html не имеет контекста system_u: object_r: httpd_sys_content_t, исправьте ее с помощью chcon

chcon -v -R --type=httpd_sys_content_t /var/www/html

http://wiki.centos.org/HowTos/SELinux

Жюльен Вехент
источник
Спасибо @Julien Vehent! Я вознагражу вас за ответ, потому что ваш метод позволяет мне редактировать разрешения SELinux для конкретной папки, а не отключать SELinux все вместе. Большое спасибо. Это сработало! и спас меня от головной боли.
koeder