Я пытаюсь изменить свой 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>