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

So günstig & effizient war Content Produktion noch nie: Neues Content System erobert deutschen Markt

Kontinuierliche Content Produktion und Markenaufbau sind essentieller Pfeiler von langfristigen Unternehmenserfolg. Das ist mittlerweile auch…

4 Tagen ago

Lenovo übertrifft die Erwartungen und hebt Prognose an

KI-Funktionen beschleunigen die Erholung des PC-Markts. Der Nettogewinn legt um 44 Prozent zu, der Umsatz…

5 Tagen ago

Bedrohungsakteure betten Malware in macOS-Flutter-Anwendungen ein

Googles App-Entwickler-Kit dient der Tarnung des schädlichen Codes. Der Sicherheitsanbieter Jamf hält die Schadsoftware für…

5 Tagen ago

CopyRhadamantys greift weltweit Unternehmen an

Ausgeklügelte Phishing-Kampagne verwendet eine weiterentwickelte Version der Rhadamanthys-Stealer-Malware.

1 Woche ago

Facebook Marketplace: EU verhängt Geldbuße von fast 800 Millionen Euro gegen Meta

Die EU-Kommission kritisiert die Verknüpfung von Facebook und dem hauseigenen Online-Kleinanzeigendienst. Sie sieht darin einen…

1 Woche ago

Umfrage: Angestellte in Deutschland unterschätzen NIS-2-Richtlinie

Fast zwei Drittel halten jedoch eine Umsetzung aller Vorgaben von NIS 2 bis Jahresende für…

1 Woche ago