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

Установка Apache DocumentRoot в Fedora

Я пытаюсь изменить свой DocumentRoot с APACHE_ROOT / htdoc на / home / user / www в Fedora 16. Я получаю 403 Forbidden: у вас нет разрешения на доступ к / на этом сервере.

Я изменил DocumentRoot в conf / httpd.conf как:

..
DocumentRoot "/home/user/www"
...

Я изменил свое разрешение "www" на

chmod -R 777 www

Я перезапустил сервер apache, но по-прежнему получаю сообщение об ошибке "у вас нет разрешения на доступ / на этом сервере"

Я даже попытался настроить SELinux как

echo 0 > /selinux/enforce

все еще проблема не устранена.

Думаю, проблема в самом файле конфигурации .. Есть ли еще какие-то параметры, которые нужно изменить.

Я бы не рекомендовал использовать 777. Прежде всего вам нужно выяснить, под каким пользователем httpd / apache настроен запуск. Обычно это www-данные или «никто». Он будет в основном файле конфигурации apache («httpd.conf»?). У меня также есть группа, и у меня есть учетные записи разработчиков ftp, входящие в группу apache.

Тогда ты просто

chown -Rv nobody /home/user/www

где никто не является пользователем apache, или если вы тоже хотите использовать группу, сделайте

chown -Rv nobody:nogroup /home/user/www

Тогда я бы порекомендовал установить для вашего chmod что-нибудь более безопасное, используя

chmod -Rv 0775 /home/user/www

Вам нужно будет выбрать лучший chmod для себя. Если вы используете группы для управления тем, кто может редактировать файлы, то, вероятно, 775, если нет, то 755. Я обычно начинаю все с 644 и даю дополнительные разрешения там, где это необходимо. Но это может раздражать большие системы

Заявлено, что вы также должны изменить директиву каталога, путь к вашему корню

....
DocumentRoot /home/user/www
....
<Directory /home/user/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

Вы также должны лучше настроить свою политику разрешений для меня ...

Измените контекст SELinux в терминале как root:

chcon -R -t httpd_user_content_t /home/user/www

Не изменяйте conf / httpd.conf. Создайте файл /etc/httpd/conf.d/mysites.conf и вставьте его содержимое:

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName localhost
    DocumentRoot /home/user/www
    <Directory /home/user/www>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>