Sei que essa pergunta é muito solicitada, mas as soluções que vi não funcionaram para mim.
Eu tenho apenas um host virtual ativado e estou tentando habilitar o acesso a uma pasta que não está na raiz do documento
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>
Eu defino da /etc/apache2/envvars
seguinte forma
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=public
Certifiquei-me de que / home / nome de usuário / vídeos / e suas subpastas pertencem username:public
, defina as permissões para 777 (depois que o 775 não funcionou) e verifiquei se o usuário www-data
pertence ao grupo public
.
Agora, quando eu navego para http://localhost/movies
eu recebo
[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
Mas quando eu configuro /etc/apache2/envvars
executar o Apache em username
(meu próprio nome de usuário) tudo funciona bem. O problema está relacionado à permissão, mas não vejo como no meu caso; especialmente quando eu defino as permissões para 777
. Alguma ideia?
A versão PS Ubuntu é 14.04, o Apache é 2.4.7 e não editei outros arquivos de configuração.
/home
com a ACL ativada? (há um sinal "+" no final dos bits de permissão se for o caso (consulte o ls -l
))