L’icône de WampServer reste orange, Apache refuse de démarrer, et le message « Port 80 utilisé par… » apparaît ? Pas de panique : un autre programme occupe simplement le port dont Apache a besoin. Ce guide te montre comment trouver le coupable en 30 secondes et choisir la bonne solution : l’arrêter, le désactiver ou faire tourner Apache sur un autre port.

🪟 Windows 10 / 11🟠 WampServer 3.x🔌 netstat & PowerShell🛠️ 5 solutions testées⏱️ 10 min

Le message « port 80 déjà utilisé » est l’erreur la plus fréquente après l’installation de WampServer (et de XAMPP ou Laragon). Apache, le serveur web, doit « écouter » sur le port 80 pour répondre à http://localhost. Or un port ne peut être ouvert que par un seul programme à la fois. Si un autre logiciel l’a pris avant lui, Apache s’arrête aussitôt.

Port 80 déjà utilisé sur WampServer : trouver le programme et corriger
Port 80 déjà utilisé : on identifie le processus avec netstat, puis on corrige.

Comprendre le problème : c’est quoi un port ?

Imagine ton PC comme un immeuble : l’adresse IP est l’adresse de l’immeuble, et chaque port est le numéro d’un appartement. Quand ton navigateur ouvre http://localhost, il frappe à la porte n°80, le port réservé par convention au HTTP. Le HTTPS utilise le 443, MySQL le 3306. Il existe 65 535 ports, mais un port TCP ne peut avoir qu’un seul occupant à l’écoute sur une même adresse.

PortProtocole / logicielUtilisé par Wamp ?
80HTTP (Apache)✅ Oui, par défaut
443HTTPS (Apache avec SSL)Si tu actives le HTTPS local
3306MySQL✅ Oui
3307MariaDB (sur Wamp)✅ Oui, si MariaDB est activé
8080HTTP alternatifSolution de repli courante

Quand Apache démarre, il demande à Windows : « réserve-moi le port 80 ». Si un autre programme l’a déjà fait, Windows refuse avec l’erreur 10048 (adresse déjà utilisée), et Apache s’arrête. D’où le port 80 déjà utilisé, et l’icône Wamp qui reste orange.

Tu as un doute sur l’état de tes ports et de tes services ? Notre moniteur système Windows liste les ports en écoute et signale ceux qui sont sensibles.

Les symptômes du port 80 déjà utilisé sur WampServer

  • L’icône Wamp reste orange (1 ou 2 services sur 3 démarrés) au lieu de passer au vert ;
  • http://localhost affiche une page IIS bleue, une erreur 404 d’un autre serveur, ou rien du tout ;
  • dans le menu Wamp, Apache → Service administration → Tester le port 80 affiche « Your port 80 is actually used by… » ;
  • le fichier C:\wamp64\logs\apache_error.log contient : (OS 10048) Une seule utilisation de chaque adresse de socket… : AH00072: make_sock: could not bind to address 0.0.0.0:80.
💡
Le test intégré de Wamp

Clic gauche sur l’icône Wamp → Apache → Service administration ‘wampapache64’ → Tester le port 80. Une fenêtre indique le nom du service ou du programme qui occupe le port. C’est souvent suffisant pour savoir quoi faire.

Étape 1 : trouver qui utilise le port 80

Avec netstat (invite de commandes)

Ouvre l’Invite de commandes en tant qu’administrateur (touche Windows, tape cmd, clic droit → Exécuter en tant qu’administrateur) et lance :

netstat -ano | findstr :80
Invite de commandes (admin)

La commande liste les connexions (-a) avec les adresses numériques (-n) et le PID, l’identifiant du processus (-o). Repère la ligne LISTENING sur 0.0.0.0:80 ou [::]:80 :

  TCP    0.0.0.0:80       0.0.0.0:0       LISTENING       4
  TCP    [::]:80          [::]:0          LISTENING       4
Résultat

Le dernier nombre est le PID. Il ne reste qu’à trouver le programme correspondant :

tasklist /FI "PID eq 4"
Nom du processus
netstat -ano et tasklist pour trouver le processus qui utilise le port 80
Port 80 déjà utilisé : netstat donne le PID, tasklist donne le nom du processus.
⚠️
Attention aux faux positifs

:80 correspond aussi à :8080 ou :8000. Ne tiens compte que de la ligne dont l’adresse locale (2ᵉ colonne) se termine exactement par :80, à l’état LISTENING.

Avec PowerShell (plus direct)

PowerShell donne le nom du programme en une seule commande :

Get-NetTCPConnection -LocalPort 80 -State Listen |
    Select-Object LocalAddress, OwningProcess,
        @{n='Programme'; e={(Get-Process -Id $_.OwningProcess).ProcessName}}
PowerShell (admin)

Sans ligne de commande : le Moniteur de ressources

Tape resmon dans le menu Démarrer, onglet Réseau, section Ports d’écoute, puis trie par colonne Port. Tu vois le nom de l’image et le PID pour le port 80.

Port 80 déjà utilisé : les coupables les plus fréquents

Programmes qui utilisent le port 80 sous Windows : IIS, HTTP.sys, Skype, Docker, VMware
Port 80 déjà utilisé : les 5 programmes qui le bloquent le plus souvent sous Windows.
Ce que tu voisCoupable probableSolution rapide
PID 4 (« System »)HTTP.sys : IIS (W3SVC), SQL Server Reporting Services, BranchCache, Work Folders…Voir la solution 1 ci-dessous
inetinfo.exe / page IIS bleueInternet Information ServicesDésactiver IIS dans les fonctionnalités Windows
httpd.exe d’un autre dossierXAMPP, Laragon, un autre WampArrêter l’autre serveur ou le désinstaller
com.docker.backend.exe / wslrelay.exeUn conteneur Docker ou WSL publie le port 80docker ps puis arrêter le conteneur
Skype.exe (ancienne version)Skype utilisait 80/443 comme ports alternatifsDécocher l’option ou mettre Skype à jour
vmware-hostd.exePartage de VM VMware Workstation (port 443)Désactiver « Shared VMs »

Étape 2 : libérer le port 80 déjà utilisé

Solution 1 : le PID 4 (System) et HTTP.sys

Le PID 4 est le noyau de Windows. Ce n’est pas lui qui utilise le port, mais le pilote HTTP.sys, partagé par plusieurs services Microsoft. Pour savoir lequel a réservé le port, demande à HTTP.sys :

netsh http show servicestate
Invite de commandes (admin)

Cherche les URL qui contiennent :80 : le nom du service ou du processus est indiqué juste en dessous. Les plus courants s’arrêtent ainsi :

:: IIS - Service de publication World Wide Web
net stop W3SVC
sc config W3SVC start= disabled

:: Service d'activation des processus Windows (IIS)
net stop WAS
sc config WAS start= disabled

:: SQL Server Reporting Services (si installé)
net stop ReportServer
Arrêter et désactiver les services Microsoft sur le port 80
⚠️
Ne désactive jamais HTTP.sys lui-même

Évite les tutoriels qui proposent net stop http puis sc config http start= disabled : de nombreux services Windows en dépendent (impression, gestion à distance, mises à jour…). Arrête plutôt le service précis qui réserve le port 80.

Solution 2 : désinstaller IIS

Si tu n’utilises pas IIS, le plus propre est de le retirer : Panneau de configuration → Programmes → Activer ou désactiver des fonctionnalités Windows, puis décoche Internet Information Services. Redémarre le PC. Version PowerShell :

Disable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole
PowerShell (admin)

Solution 3 : arrêter le programme

Pour un programme classique (autre serveur web, Docker, Skype…), ferme-le proprement depuis son interface, puis empêche-le de démarrer avec Windows (Gestionnaire des tâches → onglet Démarrage). En dernier recours, termine le processus par son PID :

taskkill /PID 1234 /F
Terminer un processus

Avec Docker, liste les conteneurs qui publient le port 80 et arrête-les :

docker ps --filter "publish=80"
docker stop nom_du_conteneur
Docker

Solution 4 : contourner le port 80 déjà utilisé en déplaçant Apache

Tu as besoin de garder IIS ou Docker sur le port 80 ? Déplace Apache. WampServer le fait pour toi : clic droit sur l’icône → Outils → Utiliser un port autre que 80, saisis 8080 et valide. Manuellement, modifie httpd.conf et le fichier des hôtes virtuels :

Listen 0.0.0.0:8080
Listen [::0]:8080

ServerName localhost:8080
C:\wamp64\bin\apache\apache2.4.x\conf\httpd.conf
<VirtualHost *:8080>
    ServerName localhost
    DocumentRoot "${INSTALL_DIR}/www"
    <Directory "${INSTALL_DIR}/www/">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>
C:\wamp64\bin\apache\apache2.4.x\conf\extra\httpd-vhosts.conf

Redémarre tous les services, puis ouvre http://localhost:8080. Pense à mettre à jour les URL de tes projets (par exemple l’option siteurl d’un WordPress local).

Solution 5 : et si c’est le port 443 ?

Si tu as activé le HTTPS local, Apache écoute aussi sur le 443. Le diagnostic est identique : netstat -ano | findstr :443. Les coupables habituels sont VMware (« Shared VMs »), un VPN d’entreprise ou un antivirus avec filtrage web.

Bonus : un script pour diagnostiquer le port 80 en un double-clic

Enregistre ce fichier sous diagnostic-port-80.bat, puis clic droit → Exécuter en tant qu’administrateur. Il affiche le processus qui écoute sur le port 80, le nom du programme et les réservations HTTP.sys :

@@BAT@@

Le script ne modifie rien : il se contente de lire. Tu peux le garder dans ton dossier C:\wamp64 pour la prochaine fois.

Le même problème avec XAMPP ou Laragon

La cause et la méthode sont strictement les mêmes, seuls les menus changent :

  • XAMPP : le panneau de contrôle affiche « Port 80 in use by… » dans les logs. Bouton Config d’Apache → httpd.conf pour modifier Listen 80, puis Config (en haut à droite) → Service and Port Settings.
  • Laragon : clic droit → Préférences → onglet Services & Ports, change le port HTTP puis redémarre.
  • Docker Desktop : un conteneur lancé avec -p 80:80 réserve le port tant qu’il tourne, même si Docker est réduit dans la barre des tâches.

Si tu utilises plusieurs environnements, attribue-leur des ports fixes une bonne fois pour toutes : Wamp sur 80, Docker sur 8081, XAMPP sur 8082. Tu ne reverras plus jamais ce message.

3 cas réels de port 80 déjà utilisé (et leur solution)

Pour finir de t’armer, voici trois situations rencontrées sur des PC de développeurs, avec la démarche complète. Tu y reconnaîtras sans doute la tienne.

Cas 1 : PID 4 après l’installation de SQL Server

Après l’installation de SQL Server Express avec ses outils de reporting, Wamp reste orange. netstat indique le PID 4, et tasklist renvoie « System », ce qui ne dit pas grand-chose. La commande netsh http show servicestate révèle une URL réservée http://+:80/ReportServer. Le coupable est donc SQL Server Reporting Services. Solution : net stop ReportServer, puis dans services.msc, passer le service en démarrage Manuel. Alternative si tu en as besoin : déplacer Reporting Services sur le port 8085 depuis son gestionnaire de configuration.

Cas 2 : un conteneur Docker oublié

Un développeur avait testé un WordPress sous Docker quelques semaines plus tôt avec -p 80:80 et l’option --restart always. À chaque démarrage de Windows, Docker Desktop relance le conteneur… qui prend le port 80 avant Apache. netstat pointe vers com.docker.backend.exe. Solution : docker update --restart no nom_du_conteneur, puis docker stop, et à l’avenir publier les conteneurs sur un autre port (-p 8081:80).

Cas 3 : deux versions de Wamp installées

Après une réinstallation dans un nouveau dossier, l’ancien service wampapache64 était resté enregistré et pointait vers l’ancien httpd.exe. Les deux Apache se disputaient le port 80. netstat donne un PID, et tasklist /FI "PID eq …" /V affiche le chemin complet de httpd.exe, qui révèle le mauvais dossier. Solution : supprimer l’ancien service en administrateur avec sc delete wampapache64 (après avoir arrêté Wamp), puis relancer le bon Wamp, qui réinstalle ses services proprement.

Point commun de ces trois cas : on n’a rien deviné. On a lu le PID, identifié le programme, puis corrigé la cause précise. C’est la seule méthode fiable face à un port 80 déjà utilisé.

Récapitulatif : port 80 déjà utilisé, la méthode en 5 étapes

Méthode en 5 étapes pour corriger le port 80 déjà utilisé sur WampServer
Port 80 déjà utilisé sur WampServer : identifier, nommer, arrêter ou déplacer, puis redémarrer.
  1. Identifier le PID : netstat -ano | findstr :80.
  2. Nommer le processus : tasklist /FI "PID eq …" (ou netsh http show servicestate si PID 4).
  3. Arrêter / désactiver le service ou le programme concerné.
  4. Ou changer de port : Apache sur 8080.
  5. Redémarrer tous les services Wamp : l’icône doit passer au vert.

Icône toujours orange ? Les autres causes

CauseVérificationCorrection
MySQL ne démarre pas (port 3306)netstat -ano | findstr :3306Arrêter l’autre MySQL/MariaDB ou changer le port dans my.ini
Visual C++ Redistributable manquantMessage « VCRUNTIME140.dll introuvable »Installer les paquets VC++ 2015-2022 x86 et x64
Erreur de syntaxe dans httpd.confhttpd.exe -t dans le dossier bin d’ApacheCorriger la ligne indiquée
Antivirus qui bloque httpd.exeJournal de l’antivirusAjouter C:\wamp64 en exclusion
Chemin d’installation avec espaces ou accentsC:\Program Files\wamp64Réinstaller dans C:\wamp64
📄
Lis toujours les logs

C:\wamp64\logs\apache_error.log et mysql.log donnent la cause exacte dans 95 % des cas. Et si ton site affiche ensuite une erreur 403, 404 ou 500, notre guide des codes HTTP t’aide à la corriger.

Éviter que le port 80 soit de nouveau déjà utilisé

  • N’installe qu’un seul serveur local (Wamp, XAMPP ou Laragon), ou configure-les sur des ports différents.
  • Désinstalle IIS si tu ne t’en sers pas.
  • Avec Docker, publie tes conteneurs sur d’autres ports (-p 8081:80) : c’est ce que nous faisons dans notre guide Docker pour WordPress en local.
  • Après une grosse mise à jour de Windows, refais le test du port 80 : certaines fonctionnalités se réactivent parfois.

Petit glossaire pour s’y retrouver

  • Port : numéro (de 0 à 65 535) qui identifie un service réseau sur une machine. Le 80 est le port standard du web non chiffré.
  • PID (Process ID) : numéro unique attribué par Windows à chaque programme en cours d’exécution. Il change à chaque démarrage du programme.
  • LISTENING : état d’un port ouvert « en écoute », qui attend des connexions. C’est cet état qui bloque Apache.
  • HTTP.sys : pilote du noyau Windows qui gère le HTTP pour IIS et d’autres services Microsoft. Il apparaît sous le PID 4.
  • W3SVC : nom technique du service « Service de publication World Wide Web », le cœur d’IIS.
  • httpd.conf : fichier de configuration principal d’Apache, où se trouve la directive Listen qui définit le port d’écoute.
  • localhost : nom qui désigne ta propre machine (adresse 127.0.0.1). http://localhost équivaut à http://localhost:80.

FAQ : port 80 déjà utilisé sur WampServer

Pourquoi l’icône de WampServer reste-t-elle orange ?

Le plus souvent parce qu’Apache ne peut pas démarrer : un autre programme utilise déjà le port 80. Plus rarement, c’est MySQL (port 3306), un paquet Visual C++ manquant ou une erreur de configuration.

Comment savoir quel programme utilise le port 80 sous Windows ?

Ouvre l’invite de commandes en administrateur et tape netstat -ano | findstr :80. Le dernier nombre de la ligne LISTENING est le PID ; tasklist /FI « PID eq 1234 » donne le nom du programme.

Que faire si le port 80 est utilisé par le PID 4 (System) ?

C’est le pilote HTTP.sys de Windows, utilisé par IIS, SQL Server Reporting Services ou BranchCache. La commande netsh http show servicestate indique le service concerné ; arrête-le et désactive son démarrage automatique.

Peut-on utiliser WampServer sur un autre port que 80 ?

Oui. Clic droit sur l’icône Wamp, Outils, Utiliser un port autre que 80, puis saisis 8080 par exemple. Le site sera accessible sur http://localhost:8080.

Est-ce dangereux de désactiver IIS ?

Non, si tu ne l’utilises pas volontairement. IIS est un serveur web optionnel de Windows, désactivé par défaut sur la plupart des installations.

Conclusion

Le port 80 déjà utilisé n’est jamais une fatalité : netstat -ano te donne le PID, tasklist ou netsh http show servicestate te donne le coupable, et tu choisis ensuite entre l’arrêter ou déplacer Apache sur le port 8080. Deux minutes plus tard, l’icône Wamp passe au vert.

Ton environnement local fonctionne ? Mets-le à profit avec un vrai projet : notre moniteur système Windows en PHP tourne justement sur WampServer. Pour aller plus loin sur Apache, la documentation officielle sur la directive Listen détaille toutes les options d’écoute.

Comments

No comments yet. Why don’t you start the discussion?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *