Ответ 1
Я решил эту проблему! Apache не смог получить доступ к этим каталогам из-за настроек безопасности SELinux. Все, что я должен был сделать, это применить эту команду к каталогу в пути к документу root:
chcon -R -t httpd_sys_content_t
Я только что настроил apache на моей Fedora 16. И я не могу заставить своих vhosts работать!
Хотя localhost/phpmyadmin работает нормально.
Я получил это в своем httpd.conf
<Directory /home/renat/www>
AllowOverride All
Options +Indexes +FollowSymLinks
Order allow,deny
Allow from all
</Directory>
NameVirtualHost *:80
<VirtualHost *:80>
ServerName fabbro.fm
DocumentRoot /home/renat/www/fabbro
</VirtualHost>
Все в порядке с разрешениями:
ls -l
drwxr-xr-x. 32 renat renat 4096 янв. 7 16:12 www
И у меня 403 ошибка при попытке получить доступ к fabbro.fm error_log говорит:
[client 127.0.0.1] (13)Permission denied: access to / denied
Что мне делать?
Я решил эту проблему! Apache не смог получить доступ к этим каталогам из-за настроек безопасности SELinux. Все, что я должен был сделать, это применить эту команду к каталогу в пути к документу root:
chcon -R -t httpd_sys_content_t
У меня была проблема SELinux. Сначала я попробовал chcon -t httpd_sys_content_t
, но это не исправить. После этого я сделал setsebool -P httpd_read_user_content 1
, и это сработало. Я не знаю, нужна ли первая команда или только вторая.
Эта строка:
[клиент 127.0.0.1] (13) Разрешение отклонено: доступ к /denied
заставляет меня думать, что где-то есть некорректная конфигурация - например, второй VirtualHost
или глобальное определение DocumentRoot
.
Это второе определение каким-то образом устанавливает DocumentRoot
в корневой каталог системы. Apache имеет право отрицать это.
Вам нужно найти определение, вызывающее это, и удалить его.
Мне нужно было запустить следующее, чтобы оно работало. chcon и setsebool, упомянутые ранее, не помогли.
firewall-cmd -add-service = http
Это версия Fedora 20 (Heisenbug), кстати.