Я установил веб-сервер apache на моем Centos 7, и я включил mod_ssl
для него. Но когда я пытаюсь изменить корневой каталог документа по умолчанию на новый (например, / home / user / public_html
), он показывает мне страницу 403 Forbidden
. Я думаю, возможно, это из-за разрешений на каталог, но я не знаю, что с ним делать и как его изменить. Что мне теперь делать? Любая помощь действительно приветствуется.
Не размещайте корни документов в домашних каталогах пользователей. Это небезопасно по ряду причин, и SELinux по умолчанию не разрешает веб-серверу читать файлы в домашних каталогах пользователей. Используйте каталог, который распознает SELinux, например /srv/www
, создайте в нем каталоги для каждого виртуального хоста и предоставьте им соответствующие разрешения и списки управления доступом для пользователей, которые должны получать доступ к содержимому.
Если по какой-то причине вы не можете следовать рекомендациям и должны заставить веб-сервер читать содержимое из домашних каталогов пользователей, вы можете установить логическое значение httpd_read_user_content
.
setsebool -P httpd_read_user_content 1
Но учтите, что опять же из соображений безопасности SELinux никогда не разрешает запись в домашние каталоги пользователей, поэтому функции веб-приложений, которые предполагают запись контента (например, пользовательские загрузки), не будут работать. В другом каталоге, таком как /srv/www
, каталогам, которые должны быть доступны для записи, может быть присвоен тип httpd_sys_rw_content_t
.