Lorsque j'essaie de démarrer Apache, l'erreur suivante apparaît.
root@server11362:~# Sudo /etc/init.d/Apache2 restart
Restarting web server Apache2 (98)Address already in use:
make_sock: could not bind to address 111.90.150.93:80
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
En fait, le journal Apache ne contient pas plus d'informations.
netstat -tulpn
renvoie le texte suivant
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1098/mysqld
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 1414/redis-server
tcp 0 0 111.90.150.93:53 0.0.0.0:* LISTEN 1068/named
tcp 0 0 111.90.150.92:53 0.0.0.0:* LISTEN 1068/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1068/named
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 1194/postgres
tcp 0 0 0.0.0.0:44888 0.0.0.0:* LISTEN 845/sshd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1395/master
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 1068/named
tcp 0 0 0.0.0.0:6081 0.0.0.0:* LISTEN 1435/varnishd
tcp 0 0 127.0.0.1:6082 0.0.0.0:* LISTEN 1434/varnishd
tcp6 0 0 :::53 :::* LISTEN 1068/named
tcp6 0 0 :::44888 :::* LISTEN 845/sshd
tcp6 0 0 :::25 :::* LISTEN 1395/master
tcp6 0 0 ::1:953 :::* LISTEN 1068/named
tcp6 0 0 :::6081 :::* LISTEN 1435/varnishd
udp 0 0 111.90.150.93:53 0.0.0.0:* 1068/named
udp 0 0 111.90.150.92:53 0.0.0.0:* 1068/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 1068/named
udp6 0 0 :::53
Il n'y a rien sur le port 80 mais je ne peux toujours pas redémarrer
Il est peut-être plus cassé, parce que vous obtenez également
Unable to open logs
Tout d'abord, activer plus de journalisation
LogLevel debug
dans votre /etc/Apache2/Apache2.conf
.
Vérifiez vos autorisations de fichier dans /var/log/Apache2
.
J'utilise souvent la commande suivante pour déboguer:
strace -f Apache2ctl start 2>&1|grep -v " ENOENT " | grep -Ee " E[A-Z]+"
Cela vous montre de manière exacte quels appels ont échoué.
[Modifier]
Une autre raison pourrait produire des adresses d’écoute se chevauchant comme:
Listen *:80
Listen 1.2.3.4:80
Donc, vous écoutez toutes les interfaces et la 2ème ligne d'écoute a essayé d'ouvrir un port déjà ouvert. Comme décrit ici .
Essayez-vous de démarrer Apache en tant qu'utilisateur non root? Il est possible que vous n'ayez pas la permission de lier Apache à des ports inférieurs à 1024 (généralement possible uniquement par l'utilisateur root) et que les fichiers journaux sont la propriété de quelqu'un d'autre qu'Apache: apache ou de la racine, ce qui empêcherait Apache de en les ouvrant.
Vérifiez que/etc/Apache2/logs appartient à l'utilisateur Apache2 et que vous démarrez le service en tant que root (et assurez-vous que Utilisateur et Groupe dans /etc/Apache2/conf/Apache2.conf (ou httpd.conf) sont spécifié à l'utilisateur correct).