70 votes

Windows ne peut pas démarrer Apache2 sur l'ordinateur local - problème

Lors de l'installation d'Apache2, j'ai reçu le message suivant dans la fenêtre cmd :

Installation du service Apache2.2 Le service Apache2.2 est installé avec succès. Test de httpd.conf....

Les erreurs signalées ici doivent être corrigées avant que le service puisse être démarré. httpd.exe: Impossible de déterminer de manière fiable le nom de domaine pleinement qualifié du serveur, en utilisant 192.168.1.3 pour ServerName (OS 10048) Une seule utilisation de chaque adresse de socket (protocole/réseau/adresse/port) est normalement autorisée. : make_sock: n'a pas pu se lier à l'adresse 0.0.0.0:80 aucun socket d'écoute disponible, arrêt Impossible d'ouvrir les journaux Remarquez les erreurs ou messages ci-dessus, et appuyez sur la touche pour sortir. 24...

et après l'installation tout semble bien, mais ce n'est pas le cas. Si j'essaie de démarrer le service, je reçois le message suivant :

Windows n'a pas pu démarrer Apache2 sur l'ordinateur local. Pour plus d'informations, consultez le journal des événements système. S'il s'agit d'un service non-Microsoft, contactez le fournisseur de service et référez-vous au code d'erreur spécifique au service 1.

La version d'Apache2 est 2.2.9

Est-ce que quelqu'un a rencontré le même problème, ou pourrait m'aider.

139voto

Vinko Vrsalovic Points 116138

Il y a un autre programme qui écoute sur le port 80, les suspects habituels sont

  1. Skype (Écoute sur le port 80)
  2. NOD32 (Ajoutez Apache à la liste d'exceptions IMON pour lui permettre d'autoriser Apache à se lier)
  3. Un autre antivirus (Comme ci-dessus)

La façon de le corriger est soit d'arrêter le programme qui utilise le port 80, soit de le configurer pour utiliser un port différent ou de configurer Apache pour écouter sur un port différent avec la directive Listen dans httpd.conf. Dans le cas de l'antivirus, configurez l'antivirus pour autoriser Apache à se lier sur le port que vous avez choisi.

La façon de diagnostiquer quelle application, le cas échéant, s'est liée au port 80 est d'exécuter le netstat avec ces options, cherchez :80 à côté de l'adresse IP locale (deuxième colonne) et trouvez le PID (dernière colonne). Ensuite, sur le gestionnaire des tâches, vous pouvez trouver quel processus a le PID que vous avez obtenu à l'étape précédente. (Vous devrez peut-être ajouter la colonne PID sur le gestionnaire des tâches)

C:\Users\vinko>netstat -ao -p tcp

Conexiones activas

  Proto  Dirección local          Dirección remota        Estado           PID
  TCP    127.0.0.1:1110         127.0.0.1:51373        TIME_WAIT       0
  TCP    127.0.0.1:1110         127.0.0.1:51379        TIME_WAIT       0
  TCP    127.0.0.1:1110         127.0.0.1:51381        ESTABLISHED     388
  TCP    127.0.0.1:1110         127.0.0.1:51382        TIME_WAIT       0
  TCP    127.0.0.1:1110         127.0.0.1:51479        TIME_WAIT       0
  TCP    127.0.0.1:1110         127.0.0.1:51481        TIME_WAIT       0
  TCP    127.0.0.1:1110         127.0.0.1:51483        TIME_WAIT       0
  TCP    127.0.0.1:1110         127.0.0.1:51485        ESTABLISHED     388
  TCP    127.0.0.1:1110         127.0.0.1:51487        TIME_WAIT       0
  TCP    127.0.0.1:1110         127.0.0.1:51489        ESTABLISHED     388
  TCP    127.0.0.1:51381        127.0.0.1:1110         ESTABLISHED     5168
  TCP    127.0.0.1:51485        127.0.0.1:1110         ESTABLISHED     5168
  TCP    127.0.0.1:51489        127.0.0.1:1110         ESTABLISHED     5168
  TCP    127.0.0.1:59264        127.0.0.1:59265        ESTABLISHED     5168
  TCP    127.0.0.1:59265        127.0.0.1:59264        ESTABLISHED     5168
  TCP    127.0.0.1:59268        127.0.0.1:59269        ESTABLISHED     5168
  TCP    127.0.0.1:59269        127.0.0.1:59268        ESTABLISHED     5168
  TCP    192.168.1.34:51278     192.168.1.33:445       ESTABLISHED     4
  TCP    192.168.1.34:51383     67.199.15.132:80       ESTABLISHED     388
  TCP    192.168.1.34:51486     66.102.9.18:80         ESTABLISHED     388
  TCP    192.168.1.34:51490     74.125.4.20:80         ESTABLISHED     388

Si vous souhaitez désactiver Skype pour qu'il n'écoute pas sur le port 80 et 443, vous pouvez suivre le lien http://www.mydigitallife.info/disable-skype-from-using-opening-and-listening-on-port-80-and-443-on-local-computer/

0 votes

Oui, je déteste comment Skype essaie d'utiliser le port 80... Il m'arrive parfois d'oublier de le changer, et ensuite lorsque j'essaie de tester quelque chose sur le web que j'ai écrit, Apache ne démarre pas.

0 votes

Il semble que le problème soit un nouveau problème nod32 :(

0 votes

Ajoutez Apache à sa liste d'exceptions pour lui permettre de se lier au port 80

109voto

Tim Santeford Points 10126

Exécutez le fichier httpd.exe à partir de la ligne de commande pour obtenir une description précise du problème.

J'ai reçu le même message d'erreur et il s'est avéré qu'il s'agissait d'un chemin ServerRoot mal configuré. Même après avoir exécuté setup_xampp.bat, le httpd.conf avait le mauvais chemin.

Mon fichier error.log était vide et le démarrage du service ne donnait pas de message d'erreur informatif.

6 votes

Cette réponse m'a vraiment aidé. Lorsque j'ai essayé de démarrer Apache en démarrant le service, j'ai juste obtenu un message d'erreur générique. Lorsque j'ai essayé d'exécuter C: \ Program Files (x86) \ Apache Software Foundation \ Apache2.2 \ bin \ httpd.exe à partir de la fenêtre de commande, il m'a dit exactement quelle ligne de mon fichier de configuration il n'aimait pas.

6 votes

THIS! Il suffit d'exécuter le httpd.exe à partir de la ligne de commande. Cela vous dira EXACTEMENT ce qui ne va pas. Je suis toujours perplexe pourquoi le panneau de contrôle de XAMPP ne fournit pas de sortie d'erreur.

2 votes

Super réponse. Dans mon cas, il s'est avéré qu'un service Skype écoutait sur le port 443 bloquait apache, même si j'utilisais apache sur le port 80!

22voto

La meilleure façon de résoudre le problème est de changer le numéro de port dans Apache2\conf\httpd.conf. Changez le numéro de port comme suit : Listen 8888 et ServerName machinename:8888. Redémarrez le serveur Apache après avoir changé le numéro de port.

6 votes

Il n'est pas nécessaire de réinstaller le serveur ; il suffit de le redémarrer (en fait, de le démarrer, étant donné qu'il ne fonctionne pas en premier lieu). De plus, cela ne résout le problème que dans les situations où vous n'avez pas de problème à exécuter Apache sur un autre port.

5voto

user46795 Points 261

J'ai rencontré le même problème. J'ai vérifié netstat, les autres processus en cours d'exécution, le pare-feu et j'ai modifié httpd.conf, arrêté l'antivirus, mais tous mes efforts ont été vains. :(

Finalement, la solution a été d'arrêter le IIS. Et ça a fonctionné :)

Je suppose que IIS et Apache ne peuvent pas fonctionner ensemble. Si quelqu'un connaît un moyen de contourner ce problème, faites-le nous savoir.

1 votes

3voto

Gopinath Guru Points 44

Suivez cette étape, cela fonctionnera bien. Aller à Panneau de configuration--> Programmes et fonctionnalités--> cliquer sur Activer ou désactiver des fonctionnalités de Windows--> vérifier si IIS est cochée ou non Si elle est cochée, veuillez décocher IIS et redémarrer l'ordinateur. Ensuite, ouvrez les services, vérifiez l'état du service Web Deployement Agent, s'il est démarré, veuillez l'arrêter. Et vérifiez également WampApache et WampSqlID, s'ils ne sont pas démarrés, veuillez les démarrer manuellement. Cela a fonctionné pour moi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X