J'ai installé une nouvelle copie de Centos 7. Ensuite, j'ai redémarré Apache mais Apache n'a pas pu démarrer. J'ai 3 jours bloqués dans ce numéro. Même le support ne peut pas comprendre l'erreur.
Sudo service httpd start
Failed to start Apache :
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2016-05-09 16:08:02 BST; 59s ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 5710 (code=exited, status=1/FAILURE)
May 09 16:08:02 mike079.startdedicated.de systemd[1]: Starting The Apache HTTP Server...
May 09 16:08:02 mike079.startdedicated.de httpd[5710]: (98)Address already in use: AH00072: make_sock: could not bind to address 85.25.12.20:80
May 09 16:08:02 startdedicated.de httpd[5710]: no listening sockets available, shutting down
May 09 16:08:02 startdedicated.de httpd[5710]: AH00015: Unable to open logs
May 09 16:08:02 startdedicated.de systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
May 09 16:08:02.startdedicated.de kill[5712]: kill: cannot find process ""
May 09 16:08:02 .startdedicated.de systemd[1]: httpd.service: control process exited, code=exited status=1
May 09 16:08:02startdedicated.de systemd[1]: Failed to start The Apache HTTP Server.
May 09 16:08:02 startdedicated.de systemd[1]: Unit httpd.service entered failed state.
May 09 16:08:02 mike: httpd.service failed.
De votre sortie:
pas de prises d'écoute disponibles, fermeture
en gros, cela signifie que tout port dans lequel Apache est sur le point d'écouter est déjà utilisé par une autre application.
netstat -punta | grep LISTEN
Vous donnera une liste de tous les ports utilisés et les informations nécessaires pour identifier le processus permettant de kill
stop
ou de faire ce que vous voulez.
Après avoir fait une nmap
de votre adresse IP, je peux voir que
80/tcp open http
donc je suppose que vous avez réglé le problème.
Dans mon cas, j'ai eu l'erreur simplement parce que j'avais changé le Listen 80 pour écouter 443 dans le fichier
/etc/httpd/conf/httpd.conf
Depuis que j'ai installé mod_ssl
en utilisant les commandes yum
yum -y install mod_ssl
il y avait une directive d'écoute 443 en double dans le fichier ssl.conf
créé lors de l'installation de mod_ssl
.
Vous pouvez le vérifier si vous avez dupliqué listen 80 ou 443 en exécutant la commande ci-dessous dans linux centos (Mon linux).
grep '443' /etc/httpd/conf.d/*
ci-dessous est un exemple de sortie
/etc/httpd/conf.d/ssl.conf:Listen 443 https
/etc/httpd/conf.d/ssl.conf:<VirtualHost _default_:443>
/etc/httpd/conf.d/ssl.conf:#ServerName www.example.com:443
Annuler simplement le listen 443 dans httd.conf pour écouter 80 corrige mon problème.
<VirtualHost *:80>
ServerName www.YOURDOMAIN.COM
ServerAlias YOURDOMAIN.COM
DocumentRoot /var/www/YOURDOMAIN.COM/public_html
ErrorLog /var/www/YOURDOMAIN.COM/error.log
CustomLog /var/www/YOURDOMAIN.COM/requests.log combined
DocumentRoot /var/www/YOURDOMAIN.COM/public_html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/YOURDOMAIN.COM/public_html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>