Antworten:
Überprüfen Sie: http://httpd.apache.org/docs/2.2/programs/apachectl.html
apachectl configtest
Ein anderer Weg ist httpd -t
. Daher ist es in der Windows-Version von Apache verfügbar. Überprüfen Sie http://httpd.apache.org/docs/2.4/programs/httpd.html
apachectl configtest
bekomme ich Syntax OK
, aber wenn ich laufe, apache2 -t
bekomme ich AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf
(unter anderem)
apachectl configtest
ist die richtige Antwort. Leider habe ich eine Windows-Installation, bei der apachectl fehlt. Hier httpd
hilft auch telefonieren.
Der Apache-Konfigurationstest ( apachectl configtest
oder seine Entsprechungen) überprüft nur die Konfigurationsdatei (und die darin enthaltenen Dateien rekursiv) auf gültige Syntax. Die ursprüngliche Frage betraf jedoch die Vermeidung von Ausfallzeiten. Selbst wenn apachectl configtest
kein Fehler zurückgegeben wird, kann ein tatsächlicher Neustart dennoch fehlschlagen und Ausfallzeiten verursachen.
Häufige Ursachen für solche Fehler sind fehlende oder nicht zugreifbare SSL-Zertifikate, fehlende Verzeichnisse für Protokolldateien oder ein fehlendes Website-Stammverzeichnis. Häufig werden solche Fehler durch das Entfernen des Verzeichnisses eines vhost verursacht, ohne die vhost-Apache-Konfigurationsdatei zu entfernen. Es wird dringend empfohlen, ein Werkzeug wie Marionette oder Ansible zu verwenden, um solche Inkonsistenzen zu vermeiden.
Angesichts der Tatsache, dass diese Frage der Hit Nummer eins beim googeln von "apache config lint" ist, dachte ich, ich würde dieses kleine Detail erwähnen ...
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message