it-swarm.com.de

Apache2-Start fehlgeschlagen, kein Fehlerprotokoll

Ich würde Apache2 neu starten, aber es kommt ein Fehler

$ Sudo service Apache2 start

Starting web server Apache2

Action 'start' failed.
The Apache error log may have more information.

Alle Fehlerprotokolle in "/ var/log/Apache2 /" sind jedoch leer. 

Editieren: Die Dateien befinden sich unter "/ var/log/Apache2" und es gibt einige Einträge aus früheren Problemen, aber diese Aufgabe erstellt keine neuen ...

Wo ist das Problem?


Ich habe das Problem gelöst!

Es war ein Fehler im SSL-Zertifikat und der Pfad zu "error.log" wurde in der vHost-Konfiguration geändert.

Wenn Sie kein SSL benötigen (ich tue es nicht, weil ich ein lokales System betreibe), deaktivieren Sie einfach alle VHost HTTPS/SSL-Einträge in der Konfiguration per Befehlszeile für Line Out.

29
fechnert

Danke, Tim! Großer Stumper für mich. Einige andere Details können andere hilfreich finden:

(Apache2 auf Ubuntu 12.04)

Ich habe zwei Sites, die auf demselben Server laufen, und hatte gerade das SSL-Zertifikat für eine von ihnen aktualisiert. Beim Neustart des Servers erhielt ich diese kryptische Nachricht und keine der beiden Seiten funktionierte (offensichtlich). Ich habe auch die Weiterleitung für die Protokolldateien in den Konfigurationsdateien gefunden. Ich habe das Problem aufgespürt und das Problem gefunden (in der Protokolldatei der gerade aktualisierten Site).

Meine Konfigurationsdateien befinden sich in/etc/Apache2/sites-available

vim oder cat die Datei (cat {Dateiname}) und suchen Sie nach der Zeile ErrorLog . Dadurch erfahren Sie, wo Sie auf Ihrem Server suchen müssen. cat diese Datei und die Fehlermeldung, die ich gefunden habe, war:

[error] Unable to configure RSA server private key
[error] SSL Library Error: 185073780 error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
[warn] RSA server certificate CommonName (CN) `<snip>.com' does NOT match server name!?

Ich hatte eine meiner cert-Dateien in das falsche Verzeichnis kopiert. Ich habe es einfach in das richtige Verzeichnis verschoben und beim nächsten Start war alles in Ordnung. (tipp: wo diese datei sein soll ist auch in der config datei;)

11
Ed Birm

Ich bin auch auf ein ähnliches Problem gestoßen, dh service Apache2 reload schlägt fehl, druckt aber keine nützlichen Informationen. Dies liegt daran, dass das Skript in /etc/init.d/Apache (zumindest unter Debian) die Ausgabe des Befehls Apache2ctl configtest frisst, der zur Ausführung der Apache-Konfiguration ausgeführt wird.

Eine einfachere Lösung, um eine aussagekräftigere Erklärung für den Fehler zu erhalten, besteht darin, Apache2ctl configtest selbst erneut auszuführen, wodurch die (hoffentlich nützlichen) Fehlermeldungen an die Konsole ausgegeben werden.

19
pix

Syntaxfehler in der Konfigurationsdatei scheinen Probleme zu verursachen. Ich fand heraus, was das Problem war, indem ich in das Verzeichnis ging und dieses von der Befehlszeile aus entschuldigte.

httpd -e info 

Das gab mir den Fehler

Syntax error on line 156 of D:/.../Apache Software Foundation/Apache2.2/conf/httpd.conf:
Invalid command 'PHPIniDir', perhaps misspelled or defined by a module not included in the server configuration
13
Toby Allen

im Apache virtualhost müssen Sie den Pfad zur Fehlerprotokolldatei definieren. Wenn Apache2 zum ersten Mal gestartet wird, wird es automatisch erstellt.

zum Beispiel ErrorLog "/var/www/www.localhost.com/log-Apache2/error.log" im Apache virtualhost ..

8
drabo2005

Bei XAMPP verwenden

D:\xampp\Apache\bin>httpd -t -D DUMP_VHOSTS

Dies führt zu Fehlern in der Konfiguration der virtuellen Hosts

3
Pianoman

Auf dem Raspberry Pi bin ich auf dieses Problem gestoßen. Nachdem ich alles außer einer Neuinstallation ausprobiert hatte, löschte ich aus einer Laune /var/run/Apache2/Apache2.pid. Ich habe Apache neu gestartet und alles hat funktioniert. Ich weiß nicht, wie ich das erklären soll.

1

Sie haben folgende Möglichkeiten, damit es funktioniert:

  1. Löschen Sie /var/run/Apache2/Apache2.pid und prüfen Sie, ob es funktioniert

  2. Sie können SELinux deaktivieren und dann prüfen, ob es funktioniert. Sie können SELinux dauerhaft oder vorübergehend deaktivieren, indem Sie das Lernprogramm https://linux4one.com/how-to-disable-selinux-on-centos-7/ verwenden

0
Mike Henry

Ich bin heute genau auf dieses Problem gestoßen. Ich hatte das gesamte/etc/httpd von RHEL 6 kopiert und auf ein CentOS 6-System gestellt und sichergestellt, dass alle RPMs installiert waren.

Bei jedem Start von Apache würde dies automatisch fehlschlagen. Es dauerte eine strace, um den Täter zu finden: Ich benutzte CustomLog , um ein Programm aufzurufen, das nicht auf dem Zielsystem installiert war. Nachdem ich das erwartete Programm installiert hatte, wurde Apache HTTP Server sofort gestartet.

0
jaqque

Versuchen Sie, SElinux oder Konfigurations-Virtualhost für SElinux zu deaktivieren

zur Konfiguration mit SElinux https://muchbits.com/Apache-selinux-vhosts.html

sElinux https://linuxize.com/post/how-to-disable-selinux-on-centos-7/ deaktivieren

0

Wenn wir keine Einträge in den Protokolldateien haben, können wir versuchen, Apache2 mit dem folgenden Befehl zu debuggen:

$ Apache2 -S

oder

$ Apache2 -e debug

Mögliche Ausgabe:

[Fri Apr 05 04:04:59.682880 2019] [core:warn] [pid 11086] AH00111: Config variable ${Apache_RUN_DIR} is not defined
Apache2: Syntax error on line 80 of /etc/Apache2/Apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot
0
simhumileco