Как внести в белый список каталог в 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какой синтаксис я использую?

2 ответа

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

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

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

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

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

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

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

Другие вопросы по тегам