AH00015: Protokolle können nicht geöffnet werden Aktion 'Start' ist fehlgeschlagen. in Ubuntu 14.04

10

Ich versuche Apache2 zu installieren, ich habe dieses Problem konfrontiert. Geben Sie mir einige Lösungen

Beim Neustart des Webservers apache2 wird folgender Fehler angezeigt:

    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
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
[fail]
 * The apache2 instance did not start within 20 seconds. Please read the log files to discover problems
narru033
quelle
Könnten Sie Ihre Apache-Konfigurationsdatei veröffentlichen?
Lety
Entschuldigung, wie bekomme ich die Apache-Konfigurationsdatei?
narru033
Es sollte sein /etc/apache2/apache2.conf, /etc/apache2/sites-enabled/000-default.confund wenn Sie Ihre/etc/apache2/sites-available/yourFile.conf
Lety

Antworten:

8

Lauf

sudo netstat -tulpn | grep :80

und Sie erhalten eine Ausgabe wie

tcp        0      0 0.0.0.0:80         0.0.0.0:*      LISTEN     1066/lighttpd

Beachten Sie die PID des Prozesses, der den Port abhört, in meinem Fall war es 1066. Führen Sie dann aus

sudo kill -9 1066

Denken Sie daran, die PID in die PID zu ändern, die den Port abhört. Möglicherweise ist sie nicht mit 1066 identisch

Muhammad Ali
quelle
1

Wie bei vielen Serveranwendungen können Sie nicht an einen Port binden, an den bereits eine andere Anwendung gebunden hat (in diesem Fall Port 80 für http). Die Ursache für Ihren Fehler ist, dass Apache nicht an Port 80 binden kann, da dort bereits etwas anderes lauscht.

Führen Sie aus sudo netstat -tulpn | grep :80und suchen Sie nach dem Namen des Prozesses, der Port 80 überwacht. Konfigurieren Sie dann das Programm neu oder entfernen Sie es.

Thomas Ward
quelle
1

Auf welchem ​​Servertyp wird dies ausgeführt?

So beheben Sie den ersten Fehler

AH00558: apache2: Der vollständig qualifizierte Domänenname des Servers konnte unter Verwendung von 127.0.1.1 nicht zuverlässig ermittelt werden. Legen Sie die Direktive 'ServerName' global fest, um diese Nachricht zu unterdrücken

Sie müssen die httpd.confDatei bearbeiten und diese Zeile hinzufügen:

ServerName localhost

Um die anderen Fehler zu beheben, sollten Sie sicherstellen, dass Sie versuchen, Apache mit Root-Rechten auszuführen.

sudo /usr/sbin/apachectl start
Georgeriding
quelle
1
Dies war nicht ihr wirklicher Fehler.
Thomas Ward
Ich habe keine httpd.confDatei. Kann ich diese Zeile einfügen apache2.conf?
JohnK
Einstellung ServerNamein httpd.confkeine Wirkung.
Cerin
1

Ich habe das gleiche Problem.

Ich habe versucht, LAMP auf WSL zu installieren , indem ich diesem Blog gefolgt bin : LAMP auf WSL, aber als ich diesen Befehl ausgegeben habe:

/etc/init.d/apache2 start  

Ich habe den gleichen Fehler erhalten:

 * Starting Apache httpd web server apache2                                                                             
(13)Permission denied: AH00072: make_sock: could not bind to address [::]:80
(13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
*

Ich hatte zuvor versucht, Nginx unter Windows zu installieren, und es schlug fehl, aber ich erinnerte mich, dass ich Nginx an Port 80 gebunden hatte. Das Problem ist, dass ich kein Linux-Experte bin und in der Datei apache2 conf den Bereich zum Binden an einen Port nicht sehen konnte.

Ich habe versucht zu laufen:

sudo netstat -tulpn | grep :80

und bekam nichts. Ich hatte auch den Port in meinem Router weitergeleitet, sodass ich nicht verstehen konnte, wie der Fehler behoben werden kann.

Ich weiß, dass Nginx nicht ausgeführt wurde, daher hätte Port 80 in Ordnung sein sollen, mit Ausnahme von Chrome, von dem ich annehme, dass es auch auf Port 80 ausgeführt wurde. Aus Frustration, ohne zu wissen, was passieren wird, ging ich wie folgt vor sudo:

sudo  /etc/init.d/apache2 start  

und ich bekam:

 * Starting Apache httpd web server apache2                                                                              
 *

Wenn Sie den sudoStartbefehl mit ausführen, hat Apache2 die Berechtigung zum Ausführen. Dies ist eine kurzfristige Lösung, da es nicht ratsam ist, Apache2 mit Root-Rechten auszuführen (wir sind also informiert), sodass die Lösung noch verfügbar ist, aber ich kann vorerst zumindest mit meinen Tests fortfahren.

Wenn jemand die Lösung kennt, lassen Sie es uns bitte wissen.

Seanbw
quelle
@ Yufenyuy danke. Ich habe versucht, alle Codes zu fangen, aber ...
Seanbw
... @ seanbw du bist willkommen. Deshalb sind wir in einer Gemeinschaft ...
Yufenyuy Veyeh Dider 9.
@ Yufenyuy Die Änderungen, die ich bekomme. Die meisten. Können Sie mir einen Link geben, der mir beibringt, wie man Wörter wie sudo als Teil eines Satzes markiert, weil ich sehe, dass sudo ein eigenes Format hat, aber nicht in einer separaten Zeile. Danke
Seanbw
... @ seanbw Sie können das Wort zwischen `und` Beispiel einfügen sudo, damit es dieses Format hat ... hoffe, Sie bekommen es klar.
Yufenyuy Veyeh Dider 9.
0

Sie können einen neuen Webserver installieren oder den Port 80 reservieren. Überprüfen Sie Ihre Dienste und was Sie neu installiert haben

Muhammad El-Saeed
quelle
0

In meinem Fall war dies kein Problem mit Protokollen, sondern mit der ListenDirektive - sie wurde so eingestellt, dass eine nicht vorhandene IP abgehört wird (da ich meinen Laptop in ein anderes Netzwerk verschoben habe).

Dies tauchte erst auf, nachdem ich den Dienst deinstalliert, neu installiert und gesagt hatte:

(OS 10049) The requested address is not valid in its context. : AH00072: make_sock: could not bind to address 0.0.0.0:80 AH00015: Unable to open logs

Also habe ich gerade die beleidigende Listen-Direktive auskommentiert (und andere behalten).

Ich weiß, dass es in Q um Ubuntu geht, aber einige andere Leute könnten hier landen und auf das Problem stoßen.

PunchyRascal
quelle