Ich weiß, diese Frage wird oft gestellt, aber die Lösungen, die ich gesehen habe, haben bei mir nicht funktioniert.
Ich habe nur einen virtuellen Host aktiviert und versuche, den Zugriff auf einen Ordner zu aktivieren, der sich nicht unter dem Dokumentstamm befindet
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>
Ich stelle /etc/apache2/envvars
wie folgt ein
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=public
Ich habe sichergestellt, dass / home / username / Videos / und seine Unterordner Eigentum von sind username:public
, die Berechtigungen auf 777 gesetzt (nachdem 775 nicht funktioniert hat) und sichergestellt, dass der Benutzer www-data
zur Gruppe gehört public
.
Wenn ich jetzt stöbere, http://localhost/movies
bekomme ich
[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
Aber wenn ich /etc/apache2/envvars
Apache unter username
(meinem eigenen Benutzernamen) laufen lasse, funktioniert alles einwandfrei. Das Problem hängt mit der Erlaubnis zusammen, aber ich verstehe nicht, wie in meinem Fall. vor allem wenn ich die erlaubnisse auf setze 777
. Irgendwelche Ideen?
PS Ubuntu-Version ist 14.04, Apache ist 2.4.7 und ich habe keine anderen Konfigurationsdateien bearbeitet.
/home
mit aktivierter ACL gemountet haben ? (Es gibt ein "+" Zeichen am Ende der Erlaubnis-Bits, wenn es der Fall ist (überprüfen Sie mit ls -l
))