Как внести в белый список каталог в 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
например.