Je sais que cette question est beaucoup posée, mais les solutions que j'ai vues ne m'ont pas fonctionné.
Un seul hôte virtuel est activé et j'essaie d'activer l'accès à un dossier qui ne se trouve pas sous la racine du document.
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>
Je mets /etc/apache2/envvars
comme suit
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=public
Je me suis assuré que / home / nom d'utilisateur / Videos / et ses sous-dossiers appartiennent à username:public
, définissez les autorisations sur 777 (après que 775 ne fonctionne pas) et assurez-vous que l'utilisateur www-data
appartient au groupe public
.
Maintenant, quand je navigue sur http://localhost/movies
je reçois
[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 /etc/apache2/envvars
lance Apache sous username
(mon propre nom d'utilisateur), tout fonctionne correctement. Le problème est lié à la permission, mais je ne vois pas comment dans mon cas; surtout quand je mets les permissions à 777
. Des idées?
La version PS Ubuntu est 14.04, Apache est 2.4.7 et je n’ai pas édité d’autres fichiers de configuration.
/home
avec ACL activé? (il y a un signe "+" à la fin des bits d'autorisation si c'est le cas (vérifier avec ls -l
))