7. Sicherstellen, dass Apache tatsächlich läuft
Es kommt öfter vor, als man denkt: Der Entwickler verbringt viel Zeit damit, Fehlerprotokolle und die httpd.conf-Datei zu durchforsten, bevor er auf den Gedanken kommt, nachzusehen, ob Apache überhaupt läuft.
Moral: Jeder hat gelegentlich einen schlechten Tag. Deshalb sollte man gerade die einfachsten Dinge nicht aus den Augen verlieren.
8. Auf Port-Konflikte achten
Wurde Apache mit den Standardeinstelllungen installiert, überwacht der httpd-Service den Port 80. Gibt es noch mehr Dienste, die über Port 80 arbeiten, beispielsweise einen anderen Webserver, kann Apache keine Anfragen annehmen. Oder aber Apache funktioniert normal, doch die andere Anwendung nicht. In diesen Fällen muss sichergestellt werden, dass Apache der einzige Service ist, der über Port 80 läuft.
Um das zu gewährleisten, kombiniert man den fuser– und den ps-Befehl. Der Befehl fuser -n tcp 80 zeigt eine Liste der Prozesse, die über Port 80 laufen. Mit dem Befehl ps -ef | grep httpd lässt sich dann sehen, welche Prozesse der httpd-Dämon verwendet.
Jetzt müssen die beiden Listen von Ports verglichen werden, die der fuser-Befehl erstellt und der ps-Befehl erzeugt hat. Enthält die fuser-Liste mehr Ports als die ps-Liste, kann mit dem ps-Befehl genau festgestellt werden, welche anderen Dienste über Port 80 arbeiten.
9. Den Configtest verwenden
Angenommen, man hat an der httpd.conf-Datei Veränderungen vorgenommen. Apache funktioniert nicht mehr richtig, und es ist kein Backup der Originaldatei zur Hand, um herauszufinden, was nicht stimmt.
Glücklicherweise haben die Apache-Entwickler auch an eine Möglichkeit gedacht, wie man die httpd.conf-Datei scannen und sich vergewissern kann, dass sie keine offensichtlichen Fehler enthält. Dieses Tool zur Fehlersuche ist Bestandteil des apachectl-Programms. Es lässt sich mit dem Befehl apachectl -configtest aufrufen. Das apachectl-Programm befindet sich übrigens im bin-Verzeichnis der Apache-Installation.
Werden keine Fehler gefunden, erfolgt folgende Ausgabe:
[root@localhost bin]# ./apachectl configtest Syntax OK
Um zu zeigen, wie dieses Tool funktioniert, wurde absichtlich eine httpd.conf-Datei mit ein beziehungsweise zwei Fehlern erzeugt.
In diesem Fall wurde ein Eintrag falsch geschrieben: Er sollte „ServerSignature“ lauten, nicht „SServerSignature“. Auch wenn der Fehler korrigiert wird, sollte das Tool noch einmal durchlaufen, denn es könnte weitere Fehler finden. Im vorliegenden Beispiel sieht das so aus:
Hier enthält der Verzeichnisname im DocumentRoot-Eintrag ebenfalls einen Schreibfehler. Das hätte zur Folge, dass Apache keinen Inhalt ausliefern könnte, da das Verzeichnis nicht vorhanden ist.
Neueste Kommentare
Noch keine Kommentare zu Zehn Tipps zur Fehlersuche beim Apache-Server
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.