Le serveur Apache (xampp) ne fonctionne pas sous Windows 10 (port 80)

84

J'ai installé le programme Windows 10 Insider. Tout fonctionne, sauf Apache. Quand j'essaye de le démarrer, il dit que le port 80 est bloqué. Existe-t-il un moyen de le débloquer ou de dire à Apache d'utiliser un autre port à la place?

J'utilisais Windows 7 avant. J'ai eu des problèmes avec le port 80 avec skype, mais je l'ai désactivé.

Aloso
la source
Le PID est 4. Le processus est système (noyau NT et système)
Aloso
Méfiez-vous de la marque de votre ordinateur: découvrez que mon ordinateur dispose d'un service personnalisé qui bloquait le port. J'ai dû désactiver tous les services un par un pour enfin comprendre cela ...
Jean-François Savard
Double
Burgi
Changer le PORT IIS: stackoverflow.com/questions/19312136/…
Suresh Kamrushi

Réponses:

208

J'ai eu le même problème sous Windows 10, IIS / 10.0 utilisait le port 80

Pour résoudre cela:

  • trouver le service "W3SVC"
  • le désactiver ou le régler sur "manuel"

Le nom français est: " Service de publication World Wide Web "

Le nom anglais est: " World Wide Web Publishing Service "

le nom allemand est: "WWW-Publishingdienst" - merci @fiffy

Le nom polonais est: "Usługa publikowania w sieci WWW" - merci @KrzysDan

Le nom russe est "Служба веб-публикаций" - merci @Kreozot

Le nom italien est "Servizio Pubblicazione sul Web" - merci @ Claudio-Venturini

Le nom espagnol est "Servicio de publicación World Wide Web" - merci @ Daniel-Santarriaga

Le nom portugais (Brésil) est "Serviço de publicação da World Wide Web" - merci @ thiago-born


Alternatives:


Edit 07 oct 2015: Pour plus de détails, voir la réponse de Matthew Stumphy Apache Server (xampp) ne fonctionne pas sous Windows 10 (Port 80)

paaacman
la source
2
Génial ... C'est un problème avec Windows 10 par défaut
user3658423
3
Le service peut être désactivé au démarrage en ouvrant Administrative Toolset en sélectionnant Services. Une fenêtre apparaîtra intitulée Services. Puis recherchez World Wide Web Publishing Services, faites un clic droit et sélectionnez Properties. Changement Startup Typede Manualet cliquez surApply
zgr024
3
D'autres peuvent trouver le nom d'affichage en appelantsc getdisplayname W3SVC
Honza Kuchař
Y a-t-il une raison pour que W3SVC fonctionne sur un ordinateur normal qui ne fonctionne pas comme un serveur Web?
DaedalusAlpha
Ne serait-il pas préférable de supprimer le service de publication World Wide Web de la liste des composants Windows installés? Ensuite, il n'est pas nécessaire de désactiver le service car il ne sera plus installé.
Arnoud Sietsema
31

Cette réponse est conçue comme un addendum à la réponse la mieux notée sur ce fil par paaacman. Je voulais juste ajouter des détails utiles pour les utilisateurs comme moi qui ne connaissent pas non plus Windows 10.

Windows 10 exécute automatiquement IIS (Internet Information Services, le logiciel de serveur Web de Microsoft) lors du démarrage sur le port 80. Pour utiliser le serveur Apache sur ce port, IIS doit être arrêté.

La réponse de paaacman fait référence au serveur IIS sous le nom de "W3SVC" ou "World Wide Web Publishing Service". Je suppose que c'est parce que Windows 10 exécute IIS en tant que service. Afin de le désactiver ou de modifier le fonctionnement du service, vous devez savoir où trouver les «Services» dans votre système.

J'ai trouvé le moyen le plus simple de cliquer sur le bouton de recherche à côté du bouton du menu Démarrer dans la barre des tâches de Windows 10 et de taper "Outils d'administration" . Vous pouvez soit appuyer sur retour, soit cliquer sur le lien "Outils d'administration" que Windows trouve pour vous.

Une fenêtre du panneau de contrôle s'ouvre avec une liste d'outils. Celui que vous voulez est " Services ". Double-cliquez dessus.

Une autre fenêtre s'ouvrira appelée «Services». Recherchez celui nommé « Service de publication World Wide Web ». Certains autres utilisateurs de ce fil ont répertorié ce qu'il est appelé dans d'autres langues, si votre liste n'est pas en anglais.

Si vous souhaitez uniquement désactiver le serveur IIS pour cette session Windows, mais souhaitez qu'il s'exécute à nouveau automatiquement la prochaine fois que vous démarrez Windows, cliquez avec le bouton droit sur «Service de publication World Wide Web» et choisissez « Arrêter ». Le serveur s'arrêtera et le port 80 sera libéré pour Apache (ou tout autre usage pour lequel vous voulez l'utiliser).

Si vous souhaitez empêcher le serveur IIS de s'exécuter automatiquement lorsque vous démarrez Windows à l'avenir, cliquez avec le bouton droit sur «World Wide Web Publishing Serivce» et sélectionnez « Propriétés ». Dans la fenêtre qui apparaît, recherchez le menu déroulant «Type de démarrage» et définissez-le sur «Manuel». Cliquez sur «Appliquer» ou «OK» pour enregistrer vos modifications. Vous devriez être prêt.

Matthew Stumphy
la source
15

Avec Windows 10, IIS fonctionne par défaut sur le port 80, ce qui peut être modifié:

Exécutez appwiz.cpl use Turn Windows features on or offet installez la console du gestionnaire IIS.

Activer ou désactiver les fonctionnalités Windows -> Internet Information Services -> Web Management Tools -> IIS Management Console

Exécutez InetMgr.exeet allez dans "Connexions -> Sites" et ouvrez avec le bouton droit de la souris le menu contextuel sur l'entrée par défaut "Site Web par défaut". Dans le menu contextuel, sélectionnez "Liaisons" pour ouvrir l'adresse du serveur et la configuration du port.

"Connexions -> Sites" -> "Liaisons de sites Web par défaut"

Adresse du serveur et configuration du port

Chaning Default Port à 8080

https://technet.microsoft.com/library/hh831681.aspx#Site_Bingings

Tobias Hochgürtel
la source
14

J'ai eu exactement le même problème et je l'ai résolu en exécutant la commande suivante à partir de la ligne de commande en tant qu'administrateur:

1) Arrêtez d'abord le service avec ce qui suit

arrêt net http / y

2) puis désactivez le démarrage (facultatif)

sc config http start = désactivé

Jan Naj
la source
C'est le moyen le plus simple de libérer le port 80. J'utilise ceci pour une machine vagabonde.
Mārtiņš Briedis
9

Tapez la ligne de commande

netstat -aon | findstr :80

Vous verrez le PID du processus qui utilise le port 80. Ensuite, essayez de configurer cette application pour utiliser un autre port, ou simplement la tuer

MISE À JOUR: Je vais écrire mon commentaire ici pour être plus clair: selon ce lien, dans Windows 10, c'est le service MsDepSvc qui occupe le port 80. C'est pour IIS ou Web Matrix 2. Si vous n'utiliserez pas IIS ou Web Matrix 2 pour tout développement Web, vous pouvez essayer d'arrêter le service

Et pour la deuxième partie de votre question, vous pouvez dire à Apache d'utiliser un autre port en éditant [dossier Apache] /conf/httpd.conf. Il a une chaîne "Listen 80". Changez 80 sur le port libre de votre choix et rechargez Apache

Sergey Maksimenko
la source
C'est le système. Je ne peux pas tuer ça, n'est-ce pas?
Aloso
Après googler rapide, je trouve ce lien nextofwindows.com/... . "..., vous avez ce service MsDepSvc en arrière-plan qui occupe le port 80. Une solution rapide serait d'arrêter le service, lorsque vous ne prévoyez pas d'utiliser IIS ou Web Matrix 2 pour un développement Web. Et démarrer les services en cas de besoin, j'espère que cela résoudra certains mystères que vous pourriez avoir lorsque vous basculerez entre l'utilisation de Web Matrix et le développement traditionnel d'Apache. "
Sergey Maksimenko
Je suis désolé mais je n'ai pas ce processus.
Aloso
8

Vous devrez peut-être également mettre fin à SQL Server Reporting Services.

bjorkblom
la source
5

Dans mon cas, j'ai besoin à la fois de XAMPP pour le développement Apache et d'IIS Express pour le développement .Net 2013; donc je fais ce qui suit:

  1. Dans l'invite de commande tapée services.msc, cela charge "Windows Services" où j'ai localisé "World Wide Web Publishing Service" et l'arrête. Service de publication World Wide Web STOP

  2. Le I start XAMPP Control Panel cliquez sur "Config", puis choisissez "Apache httpd.conf". Recherchez «80», puis remplacez-le par «8080» dans «Listen 80» et «ServerName localhost: 80». Enregistrez le fichier à partir de «Enregistrer sous» et choisissez «Tous les fichiers» pour ne pas l'enregistrer en tant que texte de «Enregistrer sous le type» et le «codage» doit être «UTF-8». Apache httpd.conf

  3. Quittez le Panneau de configuration XAMPP, puis redémarrez-le et à partir de "Action", démarrez Apache & MySQL. Vous verrez maintenant le port changé. Comme vous le savez maintenant, vous devez accéder à votre serveur Apache en utilisant "localhost: 8080" au lieu de "localhost". Vous avez également Apache et IIS Express fonctionnant sur le même PC Windows 10.

J'ai lu un article dans lequel l'auteur avait suggéré d'utiliser le port "9080" mais cela n'a pas fonctionné pour moi.

alhaythum
la source
3

Le problème se produit chaque fois qu'un processus utilise le port 80.

Vous pouvez exécuter Netstat qui est disponible dans le panneau de configuration XAMPP et vérifier quel processus utilise le port 80 dans votre système.

Pour moi, ce n'était pas IIS , mais Skype .

Désactivez ce processus / cette application, puis démarrez les services Apache.

brasdev
la source
Cela semble juste être un double d'un certain nombre de réponses précédentes, peut-être que c'est mieux juste comme un commentaire que Skype était le processus problématique pour vous.
blm
"C'était Skype" me semble une réponse! Ce n'est peut-être pas la réponse qui a résolu le problème pour OP, mais cela a été le cas pour moi, et je suis reconnaissant que ce soit une réponse et non un commentaire, ou je ne l'ai peut-être pas vu.
arichards
1

Je sais que peut-être ce problème a été résolu mais j'ai eu le même problème avec une solution différente. Pour cela, je vais vous expliquer une autre solution possible. Dans mon cas, le port 80 était occupé par Skype (pid: 25252) et je ne savais pas quel programme était.

Pour voir le pid du programme qui utilise le port 80, vous pouvez utiliser la commande que d'autres personnes ont déjà dite:

netstat -aon | findstr 0.0:80

Pour tuer le processus en utilisant le pid (dans le cas où vous ne connaissez pas le programme), vous devez ouvrir le CMD avec l'autorisation d'administrateur et utiliser la commande suivante:

taskkill /pid 25252

D'autres options avec cette commande sont ici .

CGG
la source
Ce n'est pas le même problème car vous pouvez désactiver le port 80 dans les paramètres de skype. Vous n'avez pas besoin de tuer Skype!
Aloso
Tu as raison. J'ai vu maintenant l'option. Quand j'ai eu le problème, je ne l'ai pas vu.
CGG
1

Je sais que cela PEUT ne pas être la cause de votre problème, mais j'ai passé quelques heures à me frapper la tête contre le mur pour résoudre ce problème et c'est ma solution.

(sous Windows 10 x32)

J'avais donc installé XAMPP dans un répertoire profondément imbriqué et tous les fichiers conf font référence à root \xampp\apache, alors que mes fichiers étaientsome_dir\another_dir\whatthehelliswrongwithme\finally\xampp\apache

mes options étaient donc soit de parcourir et d'éditer toutes les \xampp\apacheréférences et de les pointer au bon endroit, soit l'option beaucoup plus simple ... réinstaller XAMPP à la racine, de sorte que toutes les références pointent vers le bon endroit.

Un peu ennuyeux, mais je suppose que c'est ce que nous obtenons lorsque Mac et Windows essaient d'être amis ...

J'espère que cela aidera quelques-uns d'entre vous.

Nathaniel Rogers
la source
1

Je pense qu'il est simple de changer le port de votre serveur Apache

  1. Accédez à C: \ xampplite \ apache \ conf
  2. Ouvrez les fichiers httpd.conf
  3. Rechercher Listen 80
  4. Remplacez 80 par un autre comme 9080
  5. Maintenant, le redémarrage de XAMPP tente de démarrer le serveur

NB J'utilise la version du serveur: 5.1.41 avec Windows 10

reza.cse08
la source
0

Arrêter "certains processus système" peut être délicat ... vous devriez plutôt éditer le [dossier Apache] /conf/httpd.conf comme mentionné par @Sergey Maksimenko et si vous voulez configurer l'hôte virtuel, utilisez le nouveau port dans [Apache dossier] /conf/extra/httpd-vhosts.conf (j'ai utilisé 4900 au lieu de 80 et 4901 au lieu de 443 dans [dossier Apache] /conf/httpd-ssl.conf). Et n'oubliez pas d'utiliser le port lors de l'accès à la page sur localhost (ou votre virtualhost), par exemple: localhost: 4900 / index.html

Jarda
la source
0

Ce node.js fixe ne fonctionnant pas sur le port 80 sous Windows 10 également, j'obtenais une listen eacceserreur. Démarrez> Services, recherchez "Service de publication du World Wide Web" et désactivez-le, exactement comme décrit par paaacman.

blenté
la source
0

J'ai eu le même problème et aucune des solutions ci-dessus n'a fonctionné pour moi.

Apache utilise les deux ports 80 et 443 (pour HTTPS) et les deux doivent être prêts à être utilisés pour qu'Apache démarre correctement. Seul le port 80 peut ne pas suffire.

J'ai trouvé dans mon cas que lors de l'exécution de VMWare Workstation, j'avais le port 443 utilisé par le partage VMware.

Vous devez désactiver le partage dans les préférences principales de VMware ou modifier le port dans cette section.

Après cela, tant que vous n'avez pas d'autre serveur connecté au port 80 (voir les solutions ci-dessus), vous devriez pouvoir démarrer Apache ou NGinx sur XAMPP ou toute autre application de pile Windows.

J'espère que cela aidera d'autres utilisateurs.

Marc Quattrini
la source
0

Alors que beaucoup adoptent l'approche pour arrêter / désactiver IIS, il peut être utile de savoir que vous pouvez simplement modifier le port XAMPP, qui a été répondu ici . C'est l'itinéraire que j'ai dû emprunter car j'ai besoin des deux pour courir.

MackAltman
la source
0

Outre la raison assez évidente (IIS), il y a une autre raison assez courante pour ce problème. Il vaut la peine de citer cette question et sa réponse ici:

http://stackoverflow.com/questions/22994888/why-skype-using-http-or-https-ports-80-and-443 

Donc, si Skype est installé sur l'ordinateur, assurez-vous de le vérifier également. La solution est citée ici:

Pour désactiver et désactiver l'utilisation et l'écoute de Skype sur le port 80 et le port 443, ouvrez la fenêtre Skype, puis cliquez sur le menu Outils et sélectionnez Options. Cliquez sur l'onglet Avancé et allez dans le sous-onglet Connexion. Décochez ou décochez la case Utiliser les ports 80 et 443 comme alternatives pour les connexions entrantes. Cliquez sur le bouton Enregistrer, puis redémarrez Skype pour que la modification soit effective.

Moteur de la Terre
la source
Tout le monde dit désactiver et désactiver Skype, mais quel impact cela a-t-il sur Skype? Avons-nous besoin de modifier les paramètres de configuration dans Skype?
luisdev le
@luisdev Suivez simplement les étapes décrites dans la citation ci-dessus. Il vous indique comment modifier les paramètres de configuration dans Skype.
Earth Engine le
OK, je sais comment modifier les paramètres de configuration dans Skype, mais quel impact la modification des paramètres Skype a-t-elle sur la fonctionnalité Skype? Cela affectera-t-il ma capacité à passer ou à recevoir des appels sur Skype? Si Skype n'écoute plus sur les ports 80 et 443, les gens pourront-ils toujours m'appeler?
luisdev le
1
@luisdev Je n'ai pas de problème pour désactiver ces ports dans Skype. Il semble que cela ne soit utile que lorsque vous êtes derrière des pare-feu spécifiques. Donc, si cela ne fonctionne pas pour vous, vous devrez le réactiver. Malheureusement, Skype a fait cela de la mauvaise manière qu'il écoute sur TOUTES les adresses plutôt que sur les adresses EXTÉRIEURES uniquement, ce qui vous empêche d'écouter uniquement sur l'hôte local.
Earth Engine
-1

Tout d'abord, ouvrez regedit, exécutez en tant qu'administrateur, voir l'image ouvrir HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentCurrentControlSet \ Services \ HTTP ouvrir Démarrer, changer la valeur de 3 à 4 voir l'image puis redémarrer votre ordinateur

Viko
la source