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.
Vous allez aussi découvrir comment libérer le port 80 de A à Z
Voici un aperçu de l'erreur (port 80 occupé par le PID 4) sur Xampp (site officiel) lors du lancement d'Apache :

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
.

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

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

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)

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

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

Décochez "Internet Information Services" et "Service d'activation des processus Windows".
Cliquez sur "OK".

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 :

4. Changez le port de Skype
Si Skype est le programme causant le problème, allez sur "Outils" > "Options de connexion..."

Décochez "Utiliser les ports 80 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.

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 !
Bonjour,
Le probleme que je rencontre est dans la fonction mail.
failed to connect
smtp dans php.ini mail.orange.fr
Cordialement,
Super tutoriel
Bonjour,
J' ai changé le port d'*apache.
Tous les voyants de WAMP sont aux verts
Cordialement,
Merci beaucoup !
Bonjour,
Merci et merci sa marche super 🙏
Bonjour,
merci et merci
Cordialement,
Bonjour,
merci cela fonctionne après avoir desactiver 3 services
Cordialement,
Bonjour,

la dernière mise à jour de Windows 10 avait encore bloqué le port 80.
Le problème a été résolu dès l'étape 2 appliquée.
Merci
Cordialement,
Gilbert
Bonjour,
Super Tuto et Big Thanks. J'en ai eu besoin pour la suite AMPPS. je suis sous seven et j'ai eu besoin juste de désactiver ces deux-ci (Service de publication World Wide Web (W3SVC) Service d’activation des processus Windows (WAS)) pour que ça fonctionne.
Cordialement,
Bonjour, tout simplement merci. sacré tuto
mon problème est résolu à l'étape 2. En tout je n'ai plus de souci pour migrer mes tonnes de projets Web ainsi que leur base de données je ne sais où...
Cordialement,
Bonjour,
Merci beaucoup vous m'avez épargné un temps précieux, Personnellement c'est la désactivation de "Service de publication World Wide Web (W3SVC)" qui m'a permis de libérer le port.
Bonne continuation à vous.
c etait super n'arrete de venir en aide au novis comme nous
Marche parfaitement ! Merci beaucoup !
Merci, mille fois. Depuis des heures, j'ai tout tenté, et c'est finalement e changement de Port directement dans la config Apache qui a fonctionné. When all else fails... Bon, maintenant c'est la confi de MySQL qui ne fonctionne plus, il m'annonce un hote indisponible pour le localhost PHPmyadmin. Vous n'auriez pas un second miracle dans votre manche, par hasard ? En tout cas, merci beaucoup.
Merci beaucoup vraiment, ça a marché parfaitement grâce à l'arrêt et à la désactivation des services, merci beaucoup vraiment, que ce te soit rendu
bonjour je suis entraîne de configurer mon serveur pour créer une certificats j'ai suit les étapes alors et après je tester les syntaxes que j'ai fait avec la commande httpd -t et tout ça marche bien et quand j'ai essayé de démarrer apache il démarre et au bout de 2 seconds il s’éteint et j'arrive pas à comprendre ou es l'erreur
NB: j'ai pas installer le Skype sur mon pc
merci de m'avoir aider par avance j'ai très bien de vos réponses puisque je suis entraîne d'enchaîner mon projet et merci encore
Bonjour. Merci beaucoup. J'ai passé des heures à résoudre pourquoi je n'arrivais pas à faire fonctionner Wamp et grace à vous, j'ai un bel icone vert qui s'affiche maintenant !
merci c'est parfait ... resolu a l'etape 2
Merci, ça m'a beaucoup aidé. Cela fait des jours que j'arrivais pas à m'en sortir et voila que mon problème est résolu.
Un grand MERCI à toi! Tu m'as sauvé la vie.
Dès la première solution!
Merci, j'ai pu résoudre mon problème à l'étape 2 grâce à ton tutoriel, tu as fait un nouvel heureux
Bonjour Sarki,
Merci de ton commentaire et j'apprécie que tu as pu résoudre ton problème en suivant la deuxième étape, cela me fait plaisir
A très bientôt !
Soufiane