AH00015: Impossible d'ouvrir les journaux L'action 'start' a échoué. dans ubuntu 14.04

10

J'essaie d'installer apache2, j'ai rencontré ce problème. Donnez-moi des solutions

Le redémarrage du serveur Web apache2 donne l'erreur:

    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
la source
Pourriez-vous publier votre fichier de configuration apache?
Lety
désolé, comment obtenir le fichier de configuration d'apache?
narru033
Ce devrait être le cas /etc/apache2/apache2.conf, /etc/apache2/sites-enabled/000-default.confet si vous avez défini votre/etc/apache2/sites-available/yourFile.conf
Lety

Réponses:

8

Courir

sudo netstat -tulpn | grep :80

et vous obtiendrez quelque chose comme

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

notez le pid du processus d'écoute du port, dans mon cas c'était 1066. Puis exécutez

sudo kill -9 1066

N'oubliez pas de changer le pid en celui qui écoute le port, il pourrait ne pas être le même que 1066

Muhammad Ali
la source
1

Comme de nombreuses applications serveur, vous ne pouvez pas vous lier à un port déjà lié à une autre application (dans ce cas, le port 80, pour http). La cause de votre erreur est qu'Apache ne peut pas se lier au port 80 car quelque chose d'autre l'écoute déjà.

Exécutez sudo netstat -tulpn | grep :80et recherchez le nom du processus qui écoute sur le port 80. Ensuite, reconfigurez ou supprimez ce programme.

Thomas Ward
la source
1

Sur quel type de serveur utilisez-vous cela?

Pour résoudre la première erreur

AH00558: apache2: impossible de déterminer de manière fiable le nom de domaine complet du serveur à l'aide de 127.0.1.1. Définissez la directive 'ServerName' globalement pour supprimer ce message

Vous devrez modifier le httpd.conffichier, ajoutez cette ligne:

ServerName localhost

Pour résoudre les autres erreurs, vous devez vous assurer que vous essayez d'exécuter Apache avec les privilèges root.

sudo /usr/sbin/apachectl start
georgeriding
la source
1
Ce n'était pas leur vraie erreur.
Thomas Ward
Je n'ai pas de httpd.confdossier. Puis-je mettre cette ligne apache2.conf?
JohnK
Réglage ServerNameen httpd.confn'a pas d' effet.
Cerin
1

J'ai le même problème.

J'ai essayé d'installer LAMP sur WSL en suivant ce blog: LAMP sur WSL mais quand j'ai émis cette commande:

/etc/init.d/apache2 start  

J'ai cette même erreur:

 * 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.
*

J'avais précédemment essayé d'installer Nginx sur Windows proprement dit et j'avais échoué mais je me souvenais que j'avais lié Nginx au port 80. Le problème est que je ne suis pas un expert Linux et je ne pouvais pas voir dans le fichier de configuration apache2 la zone à lier à un port.

J'ai essayé de courir:

sudo netstat -tulpn | grep :80

et n'a rien obtenu. J'avais également transmis le port dans mon routeur, donc je ne pouvais pas comprendre comment résoudre l'erreur.

Je sais que Nginx ne fonctionnait pas, donc le port 80 aurait dû être correct, sauf pour le chrome qui, je suppose, fonctionnait également sur le port 80. Donc, frustré de ne pas savoir ce qui va se passer, j'ai exécuté la commande sudocomme ceci:

sudo  /etc/init.d/apache2 start  

et j'ai eu:

 * Starting Apache httpd web server apache2                                                                              
 *

En sudoexécutant la commande de démarrage avec , Apache2 est autorisé à s'exécuter. C'est une solution à court terme car il n'est pas conseillé d'exécuter Apache2 avec les privilèges root (nous en sommes donc informés) donc la solution est toujours là mais pour l'instant, je peux au moins continuer mes tests.

Si quelqu'un connaît la solution, veuillez nous en informer.

seanbw
la source
@Yufenyuy merci. J'ai essayé d'attraper tous les codes mais ...
seanbw
... @ seanbw vous êtes les bienvenus. C'est pourquoi nous sommes dans une communauté ...
ThunderBird
@Yufenyuy Les modifications que j'obtiens. Plus. pouvez-vous me donner un lien qui m'apprend à marquer des mots comme sudo dans le cadre d'une phrase parce que je vois que sudo a son propre format mais ce n'est pas sur une ligne séparée. Merci
seanbw
... @ seanbw vous pouvez mettre le mot entre `et` exemple sudo, pour qu'il ait ce format ... j'espère que vous aurez bien compris.
ThunderBird
0

Vous pouvez installer un nouveau serveur web ou quoi que ce soit réserver le port 80 vérifier vos services et ce que vous venez d'installer

Muhammad El-Saeed
la source
0

Dans mon cas, ce n'était pas un problème avec les journaux, mais en fait avec la Listendirective - il était réglé sur Listen sur une IP qui n'existait pas (lorsque j'ai déplacé mon ordinateur portable vers un autre réseau).

Cela n'est apparu qu'après avoir désinstallé le service, l'ai réinstallé et il a dit:

(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

Je viens donc de commenter la directive Listen offensante (et de garder les autres) voila.

Je sais que le Q concerne Ubuntu, mais d'autres personnes pourraient atterrir ici pour rencontrer le problème.

PunchyRascal
la source