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.
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.

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.
| Port | Protocole / logiciel | Utilisé par Wamp ? |
|---|---|---|
| 80 | HTTP (Apache) | ✅ Oui, par défaut |
| 443 | HTTPS (Apache avec SSL) | Si tu actives le HTTPS local |
| 3306 | MySQL | ✅ Oui |
| 3307 | MariaDB (sur Wamp) | ✅ Oui, si MariaDB est activé |
| 8080 | HTTP alternatif | Solution 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://localhostaffiche 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.logcontient :(OS 10048) Une seule utilisation de chaque adresse de socket… : AH00072: make_sock: could not bind to address 0.0.0.0:80.
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 :80Invite 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 4RésultatLe dernier nombre est le PID. Il ne reste qu’à trouver le programme correspondant :
tasklist /FI "PID eq 4"Nom du processus
: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

| Ce que tu vois | Coupable probable | Solution 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 bleue | Internet Information Services | Désactiver IIS dans les fonctionnalités Windows |
httpd.exe d’un autre dossier | XAMPP, Laragon, un autre Wamp | Arrêter l’autre serveur ou le désinstaller |
com.docker.backend.exe / wslrelay.exe | Un conteneur Docker ou WSL publie le port 80 | docker ps puis arrêter le conteneur |
Skype.exe (ancienne version) | Skype utilisait 80/443 comme ports alternatifs | Décocher l’option ou mettre Skype à jour |
vmware-hostd.exe | Partage 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 servicestateInvite 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 ReportServerArrêter et désactiver les services Microsoft sur le port 80É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-WebServerRolePowerShell (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 /FTerminer un processusAvec Docker, liste les conteneurs qui publient le port 80 et arrête-les :
docker ps --filter "publish=80"
docker stop nom_du_conteneurDockerSolution 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:8080C:\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.confRedé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.confpour modifierListen 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:80ré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

- Identifier le PID :
netstat -ano | findstr :80. - Nommer le processus :
tasklist /FI "PID eq …"(ounetsh http show servicestatesi PID 4). - Arrêter / désactiver le service ou le programme concerné.
- Ou changer de port : Apache sur 8080.
- Redémarrer tous les services Wamp : l’icône doit passer au vert.
Icône toujours orange ? Les autres causes
| Cause | Vérification | Correction |
|---|---|---|
| MySQL ne démarre pas (port 3306) | netstat -ano | findstr :3306 | Arrêter l’autre MySQL/MariaDB ou changer le port dans my.ini |
| Visual C++ Redistributable manquant | Message « VCRUNTIME140.dll introuvable » | Installer les paquets VC++ 2015-2022 x86 et x64 |
Erreur de syntaxe dans httpd.conf | httpd.exe -t dans le dossier bin d’Apache | Corriger la ligne indiquée |
| Antivirus qui bloque httpd.exe | Journal de l’antivirus | Ajouter C:\wamp64 en exclusion |
| Chemin d’installation avec espaces ou accents | C:\Program Files\wamp64 | Réinstaller dans C:\wamp64 |
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
Listenqui 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.

