Apache не использует новый корневой каталог документов

Apache не использует новый корневой каталог документов

Я установил веб-сервер Apache на свой Centos 7 и включил mod_sslего. Но когда я пытаюсь изменить его корневой каталог документов по умолчанию на новый (например /home/user/public_html, ), он показывает мне 403 Forbiddenстраницу. Я думаю, что это из-за прав доступа к каталогу, но я не знаю, что с этим делать и как это изменить. Что мне теперь делать? Любая помощь действительно ценится.

решение1

Не размещайте корни документов в домашних каталогах пользователей. Это небезопасно по ряду причин, и SELinux по умолчанию не разрешает веб-серверу читать файлы в домашних каталогах пользователей. Используйте каталог, который распознает SELinux, например /srv/www, создайте в нем каталоги для каждого виртуального хоста и предоставьте им соответствующие разрешения и списки контроля доступа для пользователей, которые должны получить доступ к содержимому.

Если по какой-то причине вы не можете следовать рекомендациям и вам необходимо, чтобы веб-сервер считывал содержимое из домашних каталогов пользователей, вы можете задать httpd_read_user_contentлогическое значение.

setsebool -P httpd_read_user_content 1

Но обратите внимание, что, опять же в целях безопасности, SELinux никогда не разрешит запись в домашние каталоги пользователей, поэтому функции веб-приложений, которые ожидают записи контента (например, загрузок пользователей), работать не будут. В другом каталоге, таком как /srv/www, каталогам, которые должны быть доступны для записи, можно присвоить тип httpd_sys_rw_content_t.

Связанный контент