Je sais que cette question est posée souvent, mais les solutions que j'ai vues ne fonctionnaient pas pour moi.
J'ai seulement un hôte virtuel activé, et j'essaie d'autoriser l'accès à un dossier qui n'est pas situé sous la racine des documents
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
Alias /movies /home/username/Videos/Movies
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
J'ai configuré /etc/apache2/envvars
comme suit
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=public
J'ai vérifié que /home/username/Videos/ et ses sous-dossiers appartiennent à username:public
, j'ai défini les autorisations à 777 (après que 775 n'a pas fonctionné) et je me suis assuré que l'utilisateur www-data
appartient au groupe public
.
Maintenant, lorsque je navigue à http://localhost/movies
j'obtiens
[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
Mais lorsque je configure /etc/apache2/envvars
pour exécuter Apache sous username
(mon propre nom d'utilisateur), tout fonctionne bien. Le problème est lié aux permissions, mais je ne vois pas où est le problème dans mon cas; surtout quand j'ai défini les permissions à 777
. Des idées?
P.S. La version d'Ubuntu est 14.04, Apache est 2.4.7 et je n'ai pas modifié d'autres fichiers de configuration.