Port 80 (HTTP) occupé sur Windows ? Voici la solution !
Votes : environ (100%) 1 vote

Un jour… vous décidez d’installer un serveur HTTP en local, afin de pouvoir développer vos applications, sites sans avoir besoin d’un hébergement web… Vous installez le serveur web local (Wamp, Mamp, Xampp, EasyPHP, …).

Jusqu’ici tout va bien !

Ensuite, vous lancez le serveur Apache et là le fameux message d’erreur vous indiquant qu’Apache ne pourra pas se lancer, à cause du port HTTP 80 bloqué !

Après plusieurs heures de recherche (et un peu d’aide) sur internet, j’ai pu débloquer le port 80 et le service Apache marche de nouveau.

Dans ce tutoriel vous allez découvrir les différentes causes de ce problème et pourquoi – parfois – le système (kernel) peut lui-même réserver le port 80.

Allons-y !

Débloquer le port « http 80 » (like a boss).

0. Exemple d’erreur

Voici un aperçu de l’erreur (port 80 occupé par le PID 4) sur Xampp (site officiel) lors du lancement d’Apache :

09 xampp port 80 bloque occupe

Sur d’autres serveurs locaux (EasyPHP par exemple) on ne vous affiche pas le PID du processus / service qui bloque le port HTTP 80.

1. Savoir la cause du blocage du port HTTP

Analyser les processus utilisant le port 80.

Pour chercher le processus ou service occupant le port 80, ouvrez la fenêtre Exécuter (Win+R) puis mettez CMD.

Recopiez cette commande et exécutez-la sur l’invite de commandes.

netstat -aon | findstr :80

Comme vous pouvez le voir dans la première ligne, le processus avec le PID = 4 (le numéro dans la dernière colonne) réserve le port 80.

01 netstat aon port 80 findstr pid 4

Savoir le nom du processus.

Pour identifier le processus exécutez la commande suivante sans oublier de changer le « 4 » dans pid eq 4 par le PID du processus identifié dans la première partie.

tasklist /fi "pid eq 4"

Le nom du processus est System, cela veut dire que c’est le système Windows qui occupe le port 80 !!

02 tasklist pid eq 4

2. Désactiver les services utilisant le port 80

Il se peut que votre système utilise lui-même le port 80 à travers ses propres services.

Ouvrez la fenêtre « Exécuter » (Win+R) puis exécutez la commande : services.msc

04 port 80 http windows

Puis arrêtez et désactivez les services suivants un par un :

  • Service de publication World Wide Web (W3SVC)
  • Service d’activation des processus Windows (WAS)
  • SQL Server Reporting Services (ReportServer)
  • BranchCache (PeerDistSvc)
  • Service Broker pour les connexions réseau (NcbService)
05 port 80 services was w3svc

L’arrêt et désactivation est facile ; vous n’avez qu’à ouvrir les « Propriétés » du service puis faire « Arrêter » et mettre « Désactivé » dans « Type de démarrage :« .

06 service de publication world wide web w3svc

Vérifiez maintenant si le serveur Apache peut se lancer, s’il ne se lance pas continuez la lecture ; si ça a marché mettez un commentaire =)

Si par exemple votre serveur Apache marche lorsque vous avez désactivé W3SVC, faites un clic droit pour le désactiver une fois pour toute.

Désinstaller les services depuis les fonctionnalités Windows.

Vous pouvez aussi désinstaller les services Web à partie des « fonctionnalités Windows » sur la fenêtre « Programmes et fonctionnalités« .

07 port 80 http windows

Décochez « Internet Information Services » et « Service d’activation des processus Windows« .

Cliquez sur « OK« .

08 fonctionnalites windows iis service

On va vous demander de redémarrer votre PC ; faites-le puis testez si « Apache » démarre à nouveau, sinon continuez la lecture.

3. Désactiver le service caché HTTP.SYS

Pour la plupart des cas, la cause du port 80 occupé est le service HTTP.SYS sur Windows.

Pour l’arrêter et arrêter tous les services utilisant le port HTTP utilisez cette commande sur l’invite de commande (exécutée en tant qu’administrateur).

net stop http /y

Pour désactiver le service HTTP.SYS utilisez cette commande :

sc config http start= disabled

Voici ce que cela donne :

10 port 80 arreter service http sys

4. Changez le port de Skype

Si Skype est le programme causant le problème, allez sur « Outils » > « Options de connexion… »

12 skype options connexion port 80 changer

Décochez « Utiliser les ports 90 et 443 pour les connexions entrantes supplémentaires« .

Mettez un port au hasard supérieur à 1024 dans la case en haut.

Cliquez sur « Enregistrer » puis redémarrez Skype.

13 skype utiliser port 80 443 options wamp xampp

Changer le port d’Apache.

Si aucune des solutions en haut n’a marché, ouvrez le fichier httpd.conf de votre serveur web local.

Changez le port par défaut 80 en 8080 ou 8000

Et puis vous n’avez qu’à profiter de votre serveur Apache local à nouveau =)

Si ce tutoriel vous a aidé n’hésitez pas à laisser un commentaire de remerciement.

Une question ? Je suis là pour vous aider !

Soufiane – Easytutoriel.com