76 votes

Apache ne démarre pas, Adresse déjà utilisée (mais pas vraiment)

J'essaie de configurer une machine virtuelle fonctionnant sous Ubuntu 12.04. J'ai deux hôtes virtuels configurés en utilisant le port 80, mais Apache ne démarre pas.

Je reçois cette erreur :
(98) Address already in use: make_sock: could not bind to address 0.0.0.0:80

La sortie de netstat -tulpn montre que rien n'utilise le port 80. Quelle pourrait être la cause de ce problème ?

4voto

Mike Venzke Points 434

J'ai trouvé la solution. J'avais des commandes Listen 80 en double dans mon httpd.conf et mon ports.conf.

De plus, en copiant le fichier de configuration pour le serveur qui est en train d'être virtualisé, je n'ai pas remarqué que le répertoire du journal des erreurs avait été modifié. En regardant dans ce journal d'erreurs, j'ai remarqué que le répertoire pour le fichier mime.types était incorrect dans mon fichier de configuration httpd.conf fichier. J'ai mis à jour ce paramètre, et le serveur a bien démarré.

3voto

Scott Stensland Points 12948

Pas seulement des mentions en double de

Listen 80

mais aussi la mention de ce dernier en plus de Listen 80

Include ports.conf

2voto

Dylan Dodds Points 51

Cela signifie que votre port 80 est déjà utilisé, soit vous changez le port pour apache2 (ce que je ne recommande pas) en éditant :

/etc/apache2/ports.conf

Ou fermez l'application fonctionnant sur le port 80 :

netstat -antp | grep 80

Pour trouver ce qui fonctionne sur le port 80.

2voto

mschr Points 121

Juste un conseil pour tous ceux qui utilisent VirtualBox avec des réseaux NAT. J'ai découvert qu'une règle NAT entre mon invité et l'hôte s'était mise en place, liant le port

1voto

GChuf Points 334

Je n'ai pas pu déterminer quel était mon problème. Il n'y avait pas de doublons pour l'écoute sur le port 80 avec grep -ri listen /etc/apache2 et je n'ai vu aucune autre application utilisant le port 80 avec netstat .

Je fais tourner un site web avec un certificat installé et j'ai fini par me dire que je n'avais même pas besoin d'écouter sur le port 80 (corrigez-moi si je me trompe, s'il vous plaît), donc j'ai simplement supprimé Listen 80 ligne dans /etc/apache2/ports.conf et maintenant ça marche.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X