Apache kann nicht neu starten

71

Versuch, Apache vom Terminal aus mit folgendem Befehl neu zu starten:

 sudo service apache2 restart

Wenn Sie diesen Befehl ausführen, wird der folgende Fehler angezeigt:

Job for apache2.service failed. See "systemctl status apache2.service" and "journalctl -xe" for details.

Bei der Ausführung von "systemctl status apache2.service" wurde die Ausgabe unterschritten

apache2.service - (null)
   Loaded: loaded (/etc/init.d/apache2)
   Active: failed (Result: exit-code) since Sat 2015-05-30 02:22:41 IST; 12s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 4866 ExecStart=/etc/init.d/apache2 start (code=exited, status=1/FAILURE)

Apache error.log

AH00489: Apache/2.4.12 (Unix) configured -- resuming normal operations
AH00094: Command line: '/usr/local/apache2/bin/httpd'
Gautam Savaliya
quelle
6
Nachdem Sie den Neustart von Apache2 ausgeführt haben und diese Fehlermeldung erhalten haben, können Sie anhand des folgenden Befehls sudo journalctl -xebesser nachvollziehen, was passiert ist. wenn Sie noch Probleme haben, es zu verstehen. Veröffentlichen Sie die Ergebnisse hier.
grag42
okay. Das hat mir auch nicht geholfen. Was ist in den Apache-Protokolldateien. /var/log/apache2/error.log
grag42
@ grag42 danke für deinen vorschlag, ich habe sudo journalctl -xe ausgeführt und festgestellt, dass ein Problem mit der Überschreibregel vorhanden ist, das behoben wurde und jetzt ausgeführt wird.
Gautam Savaliya
4
Mögliches Duplikat von Apache startet nicht
Rancho
3
@ Rancho: Was führt Sie zu der Annahme, dass die Frage ein Duplikat ist? Die verknüpfte Frage enthält eine ganz bestimmte Fehlermeldung, die wir hier nicht haben. Die möglichen Ursachen für das OP-Problem sind derzeit ziemlich unklar.
David Foerster

Antworten:

61

Vielleicht hilft das, die Ursache zu finden:

journalctl | tail

In meinem Fall war es ein Fehler in der Konfigurationsdatei:

AH00526: Syntax error on line 5 of /etc/apache2/sites-enabled/mydomain-wsf.lan.conf
Arek
quelle
6
No journal files were found.
Stevie G
5
@StevieG, versuchen Siesudo journalctl | tail
Dherik
1
Was haben Sie getan, um das Problem zu beheben?
Léo Léopold Hertz 준영
in meinem fall habe ich auch einen fehler in der apache2.config-datei gemacht
alamin
Vielen Dank. Ich habe mein Verzeichnis für meine neu hinzugefügte Site conf falsch eingegeben.
Lynnell Emmanuel Neri
48

Die Datei enthält einen Syntaxfehler apache2.conf.

Geben Sie in einem Terminal Folgendes ein:

cd /etc/apache2

Dann:

apache2ctl configtest

Es zeigt Ihnen, wo der apache2.confzu korrigierende Fehler in der Datei liegt.

Rancho
quelle
1
tolle Annäherung TNX, sparte meine Zeit
George Garchagudashvili
1
Das ist fantastisch.
Abalter
1
Vielen Dank. War ein Problem mit der Option redmine und PassengerResolveSymlinksInDocumentRoot.
Vadim
lol, nach dem ausführen: apache2ctl configtestgot syntax ok, aber wenn ich apache2 --helpgot apache2: Syntax error on line 82 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot und keine fehler in apache error.log ausführen!
Vladimir Ch
nachdem ich genau nach /etc/apache2/sites-enabled/dir gesehen habe, ist mir aufgefallen, dass ich eine Datei bekommen habe, keine symbolische Verknüpfung zu site.conf ahh "
Vladimir Ch
18

Das Problem ist, dass einige Konfigurationsdateien gelöscht werden und Sie sie neu installieren müssen.

APACHE2 NEU INSTALLIEREN:

Um gelöschte Konfigurationsdateien zu ersetzen, ohne das Paket zu löschen, haben Sie folgende Möglichkeiten:

sudo apt-get -o DPkg::Options::="--force-confmiss" --reinstall install apache2

Um die Apache2-Konfigurationsdateien vollständig zu entfernen, sollten Sie:

sudo apt-get purge apache2

Damit können Sie es wie gewohnt neu installieren:

sudo apt-get install apache2

Bereinigen ist erforderlich, um alle Konfigurationsdateien zu entfernen. Wenn Sie die Konfigurationsdateien löschen, aber nur das Paket entfernen, wird dies nicht vergessen und fehlende Konfigurationsdateien werden nicht standardmäßig neu installiert.

Dann installieren Sie PHP5 neu:

apt-get purge libapache2-mod-php5 php5 && \
apt-get install libapache2-mod-php5 php5
Rujika Rajan
quelle
1
Warum wurden Ihrer Meinung nach einige Konfigurationsdateien gelöscht?
Léo Léopold Hertz 준영
2

Problem:

Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.

Lösung:

  • Um die Apache2-Konfigurationsdateien vollständig zu entfernen, sollten Sie:

    1) sudo apt-get purge apache2

  • Damit können Sie es wie gewohnt neu installieren:

    2) sudo apt-get install apache2

==> Es funktioniert gut ...

Vielen Dank....

Riyal Padhiyar
quelle
2

Ich habe den gleichen Fehler erhalten, nachdem ich einen virtuellen Host entfernt habe. Das Problem war die verbliebene SSL-Konfigurationsdatei, die dem Host in zugeordnet ist /etc/apache2/sites-enabled. Die SSL-Verschlüsselung wurde über Let's Encrypt durchgeführt. Der zu entfernende Code lautete also:

sudo rm yourdomain.com-le-ssl.conf
iMarketingGuy
quelle
1

Beim Arbeiten mit .htaccess sind die gleichen Fehler aufgetreten

Ich habe gerade diesen Befehl gegeben

<Directory /var/www/html>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
</Directory>

in /etc/apache2/sites-enabled/000-default.confdiesem Ordner

nachdem ich dieses addiert habe, erhalte ich den Fehler

dann lösche ich diese befehlsfreiheit aus der datei und mein fehler ist behoben.

Kaushikdjay
quelle
1

Sie haben höchstwahrscheinlich einen Syntaxfehler. Für mich war es in meinem "sites-enabled" Ordner.

Ich habe 'ServerAlias' in 'ServerAlisa' falsch geschrieben.

Bruce Tong
quelle
Meins war, dass ich meinen Ordner falsch geschrieben habe.
Lynnell Emmanuel Neri
0

Dies ist meist ein Konfigurationsfehler. Ich hatte gerade eine alte Seite auf Apache aktiviert, was diesen Fehler verursacht hat. Also musste ich es deaktivieren, bevor ich Apache neu lade.

sudo a2dissite <my-site>
sudo service apache2 reload

Problem gelöst :)

Thomas Venturini
quelle
0

Danke für deine Hilfe! Ich konnte mit Lösung richtig installieren:

Um die Apache2-Konfigurationsdateien vollständig zu entfernen, sollten Sie:

  1. sudo apt-get purge apache2 Damit können Sie es wie gewohnt neu installieren:

  2. sudo apt-get install apache 2

Es funktioniert jetzt gut.

Renata Sembay
quelle
0

Ich denke, das Problem ist, dass Sie eine Website aktiviert haben, aber die Konfigurationsdatei gelöscht haben. Versuchen Sie, die Site mit sudo a2dissite "name" zu deaktivieren, und starten Sie dann den Apache-Server neu. Zumindest war dies das Problem für mich und diese Aktion löste es.

Ilias Koritsas
quelle
0

In meinem Fall trat der Fehler nach dem Ausführen auf apt upgrade. Nachdem ich viel gespielt hatte, ging ich in folgende Verzeichnisse, um zu sehen, was ich deaktivieren kann.

  • / etc / apache2 / mods-enabled - a2dismod (um wieder einzuschalten a2enconf)
  • / etc / apache2 / conf-enabled - a2disconf (um wieder einzuschalten a2enconf)

In meinem Fall musste ich diese MODS aktivieren.

Bildbeschreibung hier eingeben

Es scheint, dass apt-upgradePHP 7.2 entfernt / defekt sein muss, denn sobald ich es deaktiviert und neu gestartet habe, hat alles funktioniert. Natürlich kann es in jedem anderen Fall etwas anderes sein. Wenn Apache abstürzt, kann es sich um eine schlechte Konfiguration oder einen schlechten Mod handeln. Sie müssen Ihre Schlachten auswählen.

MadBoy
quelle