Gestern hat mein Apache-Server beschlossen, nicht mehr zu laufen und ich weiß nicht warum. Jeder virtuelle Host zeigt eine 403-Fehlermeldung wie die folgende an, die ich aus der Protokolldatei kopiert habe:
[error] [client 127.0.0.1] (13)Permission denied: access to / denied
Ich denke, die Rechte sind richtig gesetzt, ich habe es mit ls -al /home/... überprüft. Und eigentlich habe ich nichts an der Konfiguration geändert:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName webprojekte
DocumentRoot /home/tarea/Webprojekte/work
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/tarea/Webprojekte/work/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
Übrigens funktioniert phpmyadmin immer noch einwandfrei. Danke für deine Hilfe!
Antwort1
Es liegt nicht an der Konfiguration, sondern an den Dateiberechtigungen selbst. Sie müssen chmod
Ihre Web-Stammverzeichnisse auf 755 und Ihre Webdateien auf 664 setzen.
Eine weitaus bessere Lösung besteht in der Verwendung des Benutzermoduls in Apache, das dem Benutzer das Hosten von Dateien in einem Ordner „public_html“ im Home-Verzeichnis ermöglicht.
Weitere Informationen finden Sie unter:
Apache mit symbolischem Link zum Home-Verzeichnis - Berechtigungsfehler