Zehn Tipps zur Fehlersuche beim Apache-Server

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.

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Deutlicher Anstieg der Cyberangriffe auf deutsche Unternehmen

Hierzulande liegt das Wachstum im dritten Quartal gegenüber dem Vorjahreszeitraum bei 78 Prozent. In Österreich…

1 Woche ago

310 Mio. Euro: Irische Datenschutz- behörde verhängt Bußgeld gegen LinkedIn

Die Datenschützer kritisieren die Nutzung von Kundendaten für gezielte Werbung auf LinkedIn. Die Microsoft-Tochter muss…

2 Wochen ago

Deutscher Cybersicherheitsmarkt erstmals elfstellig

Im Jahresvergleich legen die Ausgaben für IT Security um fast 14 Prozent zu. Gut die…

2 Wochen ago

14,6 Millionen geleakte Konten in Deutschland im dritten Quartal

Mehr Datenverstöße registriert Surfshark in den USA, Frankreich und Russland. Hierzulande werden im dritten Quartal…

2 Wochen ago

Google schließt drei schwerwiegende Sicherheitslücken in Chrome 130

Browsererweiterungen können die Sicherheitsfunktion Site Isolation aushebeln. Betroffen sind Chrome für Windows, macOS und Linux.

2 Wochen ago

IT-Ausgaben wachsen 2025 weltweit voraussichtlich um 9,3 Prozent

Das Plus fällt höher aus als in diesem Jahr. Das größte Wachstum der Ausgaben sagt…

2 Wochen ago