Ошибка Apache 403, (13) Разрешение отклонено: доступ к /denied, Fedora 16

Я только что настроил 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

Что мне делать?

Ответ 1

Я решил эту проблему! Apache не смог получить доступ к этим каталогам из-за настроек безопасности SELinux. Все, что я должен был сделать, это применить эту команду к каталогу в пути к документу root:

chcon -R -t httpd_sys_content_t

Ответ 2

У меня была проблема SELinux. Сначала я попробовал chcon -t httpd_sys_content_t, но это не исправить. После этого я сделал setsebool -P httpd_read_user_content 1, и это сработало. Я не знаю, нужна ли первая команда или только вторая.

Ответ 3

Эта строка:

[клиент 127.0.0.1] (13) Разрешение отклонено: доступ к /denied

заставляет меня думать, что где-то есть некорректная конфигурация - например, второй VirtualHost или глобальное определение DocumentRoot.

Это второе определение каким-то образом устанавливает DocumentRoot в корневой каталог системы. Apache имеет право отрицать это.

Вам нужно найти определение, вызывающее это, и удалить его.

Ответ 4

Мне нужно было запустить следующее, чтобы оно работало. chcon и setsebool, упомянутые ранее, не помогли.

firewall-cmd -add-service = http

Это версия Fedora 20 (Heisenbug), кстати.