Как добавить каталог в белый список в Apache

Как добавить каталог в белый список в Apache

Файлы, которые я хочу обслуживать через браузер, находятся в /root/my_folder(ubuntu 14.04). Я изменил путь с /var/www/htmlна /root/my_folderв /etc/apache2/sites-available/000-default.conf, после этого я получаю ошибку «запрещено» при попытке доступа к ним в браузере.

На странице приветствия Apache по умолчанию указано следующее:

По умолчанию Ubuntu не разрешает доступ через веб-браузер ни к одному файлу, кроме тех, которые находятся в каталогах /var/www, public_html (если включено) и /usr/share (для веб-приложений). Если ваш сайт использует корневой каталог веб-документов, расположенный в другом месте (например, в /srv), вам может потребоваться добавить корневой каталог документов в белый список в /etc/apache2/apache2.conf.

Как добавить корневой каталог в белый список? /etc/apache2/apache2.confКакой синтаксис использовать?

решение1

Вы не можете и не должны обслуживать из /rootкаталога. Он доступен только пользователю, rootпока Apache работает с пользователем www-data. Взгляните на журнал ошибок, и вы увидите, что Apache жалуется на разрешения:

tail -f /var/log/apache2/error.log

Если вы в любом случае работаете с rootпользователем в своей системе, то вам следует загружать файлы непосредственно внутрь /var/www/html, поскольку у вас уже есть там разрешения.

решение2

Самым простым решением, вероятно, будет привязать монтирование этого каталога следующим /var/www/htmlобразом:

mount -t none -o bind,ro /root/my_folder /var/www/html

затем запустите Apache.

Примечание: В дистрибутиве Fedora Linux и, возможно, в других, использующих systemd, некоторые службы не видят монтирования, выполненные после их запуска, из-за некоторых функций безопасности, включенных по умолчанию. Для получения более подробной информации см.systemd для администраторов, часть XII. Также, если используется SELinux, файлы должны иметь правильную метку, например public_content_t.

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