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
/etc/apache2/apache2.conf
,/etc/apache2/sites-enabled/000-default.conf
et si vous avez défini votre/etc/apache2/sites-available/yourFile.conf
Réponses:
Courir
et vous obtiendrez quelque chose comme
notez le pid du processus d'écoute du port, dans mon cas c'était 1066. Puis exécutez
N'oubliez pas de changer le pid en celui qui écoute le port, il pourrait ne pas être le même que 1066
la source
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 :80
et recherchez le nom du processus qui écoute sur le port 80. Ensuite, reconfigurez ou supprimez ce programme.la source
Sur quel type de serveur utilisez-vous cela?
Pour résoudre la première erreur
Vous devrez modifier le
httpd.conf
fichier, ajoutez cette ligne:Pour résoudre les autres erreurs, vous devez vous assurer que vous essayez d'exécuter Apache avec les privilèges root.
la source
httpd.conf
dossier. Puis-je mettre cette ligneapache2.conf
?ServerName
enhttpd.conf
n'a pas d' effet.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:
J'ai cette même erreur:
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:
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
sudo
comme ceci:et j'ai eu:
En
sudo
exé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.
la source
sudo
, pour qu'il ait ce format ... j'espère que vous aurez bien compris.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
la source
Dans mon cas, ce n'était pas un problème avec les journaux, mais en fait avec la
Listen
directive - 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.
la source