Я знаю, що це питання задають багато, але рішення, яке я бачив, не працювало для мене.
У мене включений лише один віртуальний хост, і я намагаюся дозволити доступ до папки, яка не знаходиться під корінцем документа
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
Alias /movies /home/username/Videos/Movies
<Directory /home/username/Videos/Movies/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Я встановлюю /etc/apache2/envvars
так
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=public
Я переконався, що / home / username / Videos / та її підпапки належать username:public
, встановив дозволи (777) (після 775 не працював) і переконався, що користувач www-data
належить до групи public
.
Тепер, коли я переглядаю, http://localhost/movies
я отримую
[Mon Apr 21 11:28:14.971844 2014] [core:error] [pid 1385:tid 140067725104896] (13)Permission denied: [client 127.0.0.1:46603] AH00035: access to /movies/ denied (filesystem path '/home/username/Videos') because search permissions are missing on a component of the path
Але коли я налаштовую /etc/apache2/envvars
запустити Apache в username
(власне ім’я користувача), все працює добре. Проблема пов'язана з дозволом, але я не бачу, як у моєму випадку; особливо коли я встановлюю дозволи 777
. Будь-які ідеї?
Версія PS Ubuntu - 14.04, Apache - 2.4.7, а я не редагував інші файли конфігурації.
/home
з включеним ACL? (в кінці дозволу є знак "+", якщо це так (перевірити ls -l
))