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 configtestbekomme ich Syntax OK, aber wenn ich laufe, apache2 -tbekomme ich AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf(unter anderem)
apachectl configtestist die richtige Antwort. Leider habe ich eine Windows-Installation, bei der apachectl fehlt. Hier httpdhilft auch telefonieren.
Der Apache-Konfigurationstest ( apachectl configtestoder 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 configtestkein 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