Назад | Перейти на главную страницу

Настройка виртуальных хостов Apache, указывающих на файлы в каталоге пользователя. Работал нормально на Ubuntu, теперь я на Fedora

Недавно я перешел с Ubuntu на Fedora. Теперь мне жаль, что я не сделал это намного раньше, потому что я понял, что знаю о Linux не так много, как следовало бы - Ubuntu многое от меня скрывала.

Раньше на Ubuntu у меня было несколько виртуальных хостов, указывающих на каталог в домашнем каталоге моего пользователя:

/home/foo/Code/PHP/somedir/

Вот один из виртуальных хостов:

<VirtualHost *:80>
        DocumentRoot /home/foo/Code/PHP/somedir

        <Directory /home/foo/Code/PHP/somedir/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride all
                Order allow,deny
                allow from all
        </Directory>

        ServerName database.dev
</VirtualHost>

Я установил database.dev в моем файле hosts.

Что я уже сделал: После добавления виртуального хоста (в /etc/httpd/conf.d/database.dev.conf - это правильное место?), я перезапустил Apache. Я получил несколько предупреждений SELinux и устранил их с помощью инструмента, поставляемого с Fedora. Я больше не получаю предупреждения SELinux при перезапуске Apache или просмотре http://database.dev/ в моем браузере. Однако я все еще получаю 403 ошибки.

В DocumentRoot для database.dev, Я создал файл с именем "hello.txt", к которому я попытался получить доступ в моем браузере. Игра с правами доступа к файлам и владельцем ничего не дала. Вот отрывок из журнала ошибок:

[Sat Dec 31 20:20:34 2011] [error] [client 127.0.0.1] (13)Permission denied: access to /hello.txt denied
[Sat Dec 31 20:20:38 2011] [error] [client 127.0.0.1] (13)Permission denied: access to /hell2o.txt denied

(«hell2o.txt» не существует, «hello.txt» существует).

Вопрос: Если кто знает решение этой проблемы, поделитесь пожалуйста. Если у вас есть руководство по настройке Apache в Fedora (16) - поделитесь, пожалуйста, и этим, мне не удалось найти ничего специфического для Fedora. Все, что было адаптировано для предыдущих пользователей Ubuntu, было бы дополнительным бонусом.

Он по-прежнему считает, что SELinux связан с ошибкой, которую вы указываете, и аналогичной ошибкой в ​​этом конкретном руководстве. Единственный способ полностью исключить его из будущей конфигурации - отключить SELinux и настроить Apache. Убедитесь, что все работает. Затем включите его снова. Если ошибки начинают повторяться, значит, вы, очевидно, нашли своего виновника.

http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:Ch20: _The_Apache_Web_Server

Можете ли вы описать "игру с правами доступа к файлам", которую вы сделали?

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

Либо одно из этих разрешений неверно, либо у вас все еще есть проблемы с SELinux.