Posez votre question Signaler

Probleme demarrage apache2

yohan - Dernière réponse le 14 juin 2011 à 11:49
Bonjour,
je possède une machine Debian et dessus j'ai installer apache2 j'ai fait quelques configs d'apres certains tutos et tout marché tres bien jusqu'a ce matin.
En effet, ce matin lorsque j'ai démarrer apache2 avec la commande /etc/init.d/apache2 start voila la reponse :
Starting web server (apache2)...[Fri Jun 13 13:20:15 2008] [warn] NameVirtualHost *:443 has no VirtualHosts
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
failed!
Est ce que quelqu'un peut m'aider car je ne sais plus quoi faire !!!
Merci
Lire la suite 

Probleme demarrage apache2 »

13 réponses
Réponse
+5
moins plus
Je ne crois pas qu'il critiquait mais bon...

edit ton fichier httpd.conf
Vérifie que tu as bien

Listen 80 (pour qu'apache écoute sur le bon port)

rajoute la variable NameVirtualHost *:80

et à la suite ecrit un virtualhost de ce type:
<VirtualHost *:80>
ServerAdmin webmaster@ton_domaine.com
DocumentRoot /disk01/www/ (le chemin où il y a ton fichier index.php)
ServerName ton_domaine.com
ErrorLog logs/ton_domaine.com-error.log
CustomLog logs/ton_domaine.com-access.log combined
</VirtualHost>

puis /etc/init.d/httpd graceful (redémarrage "propre")

Si tu as activé
Include conf.d/*.conf dans httpd.conf alors créé des fichiers séparés pour chaque virtualhost.

Je te balance ca brut de forme, mais je detaille plus si tu as besoin.

Bye
Ajouter un commentaire
Réponse
+4
moins plus
killall apache2

et redémarrer.
Ajouter un commentaire
Réponse
+2
moins plus
oh je dis une bêtise en fait^^

apache2 utilise des sockets ipv6
donc pour utiliser de l'ipv4, il mappe les adresse ipv6 en ipv4 (par defaut sur bcp de distrib sauf FreeBSD, NetBSD, et OpenBSD)
Le mapping des adresses ipv6 en ipv4 sert jsute a limiter le nb de sockets

Listen 0.0.0.0:80 va jsute 'brider' apache pour qu'il n'utilise que de l'ipv4
(apache ne gèrera donc plus les connection ipv6)

écrire Listen[::]:80 revient à écrire Listen 80

et écrire

Listen[::]:80
Listen 0.0.0.0:80 ne devrait a priori marcher que sur les distrib ki ne compilent pas apache avec le mapping des adresses ipv6 en ipv4 par défaut (free, net et openbsd)

les connection ipv4 devraient être supportée donc.. en théorie.. c bizarre donc :p
Ajouter un commentaire
Réponse
+1
moins plus
En fait a ce que j'ai compris avec ces erreurs c'est qu'il me dit que l'adresse est deja utilisé et lorsque je tape le commande suivante pour savoir qui utilise le port 80 voila ce que j'obtient :

debian:/home/yohan# netstat -lpn | grep :80
tcp6 0 0 :::80 :::* LISTEN 2419/apache2

et sinon je voulais dire aussi que apache2 fonctionne que de temps a temps.
Ajouter un commentaire
Réponse
+1
moins plus
Bonjour,

une solution est par içi ...
http://frankmash.blogspot.com/2005/11/address-already-in-use-makesock-could.html
Ajouter un commentaire
Réponse
+0
moins plus
Voir la doc ici au chapitre 3 : http://www.nuxwin.com/article-18-tutorial-serveur-web-apache-2-virtualhost

Verifiez aussi que vous avez bien les liens symbolique entre /etc/apache2/sites-available/ et /etc/apache2/sites-enable/
yohan - 13 juin 2008 à 12:26
merci pour ce tuto et j'ai bien fait ce qui etait marké mai ce ne marche toujours pas. Voila le mesage d'erreur :
Forcing reload of web server (apache2)...httpd (no pid file) not running
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
failed!
keke - 9 févr. 2011 à 11:19
vérifie que tu lance bien ta commande en root...
Ajouter un commentaire
Réponse
+0
moins plus
A mon avis vous n'avez pas mis d'adresse IP à la directive NameVirtualHost dans le fichier /etc/apache2/apache2.conf

Le démon htttpd va écouter un port sur une adresse. Il faut emttre l'adresse locale.
Si vous utilisez aussi https, il faut mettre 2 lignes :

NameVirtualHost 192.168.1.1:80
NameVirtualHost 192.168.1.1:443

il est peut etre possible d'utiliser 0.0.0.0 pour toutes les adresses ?

l faut qu'il y ait au moins 2 vhost (1 pour chaque port si vous utilisez les ports 80 et 443).

Le vhost doit reprendre le numero IP et le port :

<VirtualHost 192.168.1.1:80>
DocumentRoot /var/www/www.site1.com
ServerName www.site1.com
...
<VirtualHost>

<VirtualHost 192.168.1.1:443>
DocumentRoot /var/www/www.site1.com
ServerName www.site1.com
...
<VirtualHost>

Il est possible d'inscrire la config du 2e vhost pour https dans le meme fichier de config (c'est la meme adresse).

Pour que tout fonctionne, il faut que le serveur puisse trouver les entrées dans le DNS nom_dns->IP
Il faut donc configurer /etc/hosts ou bind9 (si vous avez bind9 installé)

127.0.0.1 localhost
192.168.1.1 www.site1.com site1.com
192.168.1.1 www.site2.com site2.com
etc...

Comme le serveur va faire la distinction du vhost par rapport a son nom DNS et pas par rapport a son adresse IP, il faut que le DNS fonctionne.

NOTA : si le serveur n'est pas lancé, il ne faut pas faire un "apache2 reload" mais un "apache2 start".
yohan - 13 juin 2008 à 14:53
Merci pour tout ces commandes mais j'ai deja mes 2 vhosts et tout est comme tu le dis mais quand j'essaye de la demarrer je n'obtient plus que ces lignes :

Starting web server (apache2)...(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
failed!
Ajouter un commentaire
Réponse
+0
moins plus
en fait quand tu fais un
netstat -lpn, la première colonne indique le protocol utilisé

comme on peut le voir, c'est du version 6

Il me semble que c'est lié au
Listen 80

si tu met a la place un Listen 0.0.0.0:80
tu peux retomber sur de l'ipv4 et je pesne que tu aura moins de souci
(0.0.0.0 est aps une adresse valide d'interface mais c pour écouter a priori à partir de n'importe laquelle mais en ipv4 car j'ai l'impression que dans apache2, Listen 80 par défaut écoute les interfaces ipv6)
Ajouter un commentaire
Réponse
+0
moins plus
pour l'ipv6 je crois que ca s'écrit [::] poru l'adresse 0.0.0.0 (ai aps encore l'habitude lol)

donc d'après ce que je vosi le Listen 80 correspond en fait à Listen [::]:80
Ajouter un commentaire
Réponse
-6
moins plus
Apache marche très bien (c'est probablement le serveur http les plus utilisé)

en même temps c'est connu,

"bad worker blames his tool"

je veux dire quand on sait pas utiliser apache, on ne critique pas :p
Ajouter un commentaire
Ce document intitulé « Probleme demarrage apache2 » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?