Heute hatte eine meiner Domains auf einmal nicht mehr funktioniert, wofür ich zunächst keine Erklärung finden konnte. Bei jedem Aufruf kam nur eine Fehlerseite zurück, mit der Meldung dass der Zugriff nicht erlaubt ist oder kein Indexdokument vorhanden sein.

Da aber beides meines Erachtens nicht zutreffen sollte, machte ich mich also auf die Suche und traf in den error-Logs des Apache2-Webservers auf folgenden Fehler:

1
[Mon May 22 10:52:42 2006] [crit] [client 123.123.123.123] (13)Permission denied: /var/www/XXX/html/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

Einige Elemente dieser Fehlermeldung sind von mir gelöscht worden

Wie sich erkennen lässt, “mault” der Apache wegen einer .htaccess, die seines Erachtens nicht lesbar ist. Nun habe ich also eine solche überhaupt nicht in diesem Verzeichnis, was seltsam war. Ich habe dann eine .htaccess angelegt, die einfach mal testweise auf “chmod 777” gesetzt, der Fehler ist jedoch trotzdem nicht verschwunden.

Nach einer intensiven Befragung von Google bin ich schlussendlich darauf gekommen, dass es ein rechte Problem zu sein scheint. Apache hat nur schlicht und einfach keinen Zugriff auf das GANZE verzeichnis gehabt. Nach einem Vergleich mit dem Verzeichnis einer anderen Domain und der anschließenden neuen Rechtevergabe funktionierte wieder alles so, wie es sollte. Es waren wohl aus Versehen falsche Benutzerrechte gesetzt worden.

Ob der Apache auf ein Verzeichnis zugreifen kann, lässt sich sehr schnell und unkompliziert feststellen:

1
su - www-data -s /bin/bash -c "cd /var/www/XXX/html; ls -la"

Wenn der Befehl ein “Permission denied” ausgibt, dann hat der Webserver definitiv keinen Zugriff auf das Verzeichnis. “www-data” ist hierbei der Nutzer des Webservers, und “/var/www/XXX/html” das verzeichnis.

Vielleicht hilfts ja jemandem bei der Fehlersuche :)