Sé que esta pregunta se hace mucho, pero las soluciones que vi no funcionaron para mí.
Solo tengo un host virtual habilitado, y estoy tratando de habilitar el acceso a una carpeta que no está debajo de la raíz del 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>
Establezco de la /etc/apache2/envvars
siguiente manera
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=public
Me aseguré de que / home / username / Videos / y sus subcarpetas son propiedad de username:public
, establecí los permisos en 777 (después de que 775 no funcionó) y me aseguré de que el usuario www-data
pertenece al grupo public
.
Ahora, cuando busco http://localhost/movies
me sale
[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
Pero cuando configuro /etc/apache2/envvars
ejecutar Apache con username
(mi propio nombre de usuario) todo funciona bien. El problema está relacionado con los permisos, pero no veo cómo en mi caso; especialmente cuando configuro los permisos para 777
. ¿Algunas ideas?
La versión de PS Ubuntu es 14.04, Apache es 2.4.7 y no edité otros archivos de configuración.
/home
con ACL habilitado? (hay un signo "+" al final de los bits de permiso si es el caso (verifique con ls -l
))