Aller au contenu
> 💻 🧠 Code 1001 > 🧪📓 Sans catégorie > 🚀 Guide complet : comment exécuter Apache dans XAMPP sous Windows (avec tous les pièges courants)

🚀 Guide complet : comment exécuter Apache dans XAMPP sous Windows (avec tous les pièges courants)

  • par

🧭 Introduction

XAMPP est un package de serveur local qui inclut Apache, MySQL (MariaDB), PHP et Perl.
Le service Apache en est le cœur : il sert votre site Web lorsque vous ouvrez http://localhost.

Cependant, de nombreux développeurs rencontrent des problèmes au démarrage d’Apache :

  • ❌ « Échec du démarrage du service Apache2.4. Code d’erreur 1 »
  • ⚠️ « Le port 80 est déjà utilisé »
  • 🔒 « Votre connexion n’est pas privée » ou « NET::ERR_CERT_COMMON_NAME_INVALID »

Ce guide explique chaque étape — de l’installation à la résolution de tous les problèmes typiques.


🧩 Installation de XAMPP

  1. Téléchargez la dernière version de XAMPP depuis le site officiel :
    👉 https://www.apachefriends.org/download.html
  2. Installez XAMPP dans un chemin simple (sans espaces ni caractères spéciaux), par exemple : E:\xampp
  3. Après l’installation, ouvrez XAMPP Control Panel en tant qu’administrateur.

🟢 Premier démarrage d’Apache

  1. Dans le panneau XAMPP, cliquez sur Start à côté d’Apache.
  2. Si tout fonctionne, vous verrez : Apache ... running
  3. Ouvrez dans votre navigateur : http://localhost/ La page d’accueil de XAMPP devrait s’afficher.

Si Apache ne démarre pas, poursuivez la lecture.


❗ Problèmes fréquents et solutions


⚙️ 1. « Échec du démarrage du service Apache2.4. Code d’erreur 1 »

Cause : fichier de configuration endommagé ou clé SSL manquante.

Vérification :

Ouvrez PowerShell ou CMD en tant qu’administrateur :

cd E:\xampp\apache\bin
.\httpd.exe -t

Si vous voyez :

AH00526: Syntax error on line 158 of E:/xampp/apache/conf/extra/httpd-ssl.conf:
SSLCertificateKeyFile: file 'E:/xampp/apache/conf/ssl/server.key' does not exist or is empty

le certificat SSL est manquant.

Solution :

Générez un nouveau certificat auto-signé :

cd E:\xampp\apache\bin
.\openssl.exe req -x509 -nodes -days 1095 -newkey rsa:2048 `
 -keyout "../conf/ssl/server.key" `
 -out "../conf/ssl/server.crt"

Vous pouvez simplement appuyer sur Entrée pour chaque champ ou saisir vos informations :

Pays : IL
État : Israel
Ville : Jerusalem
Organisation : hypo69
Nom commun : localhost

🔒 2. « Votre connexion n’est pas privée » ou NET::ERR_CERT_COMMON_NAME_INVALID

Cause : les navigateurs modernes (Chrome, Edge, Firefox) n’acceptent plus les certificats ne contenant que CN=localhost.
Ils exigent le champ subjectAltName (SAN).

Solution :

  1. Créez un nouveau fichier : E:\xampp\apache\conf\openssl-local.cnf
  2. Collez ce contenu : [ req ] default_bits = 2048 prompt = no default_md = sha256 x509_extensions = v3_req distinguished_name = req_distinguished_name [ req_distinguished_name ] C = IL ST = Israel L = Jerusalem O = hypo69 OU = Dev CN = localhost [ v3_req ] subjectAltName = @alt_names [ alt_names ] DNS.1 = localhost IP.1 = 127.0.0.1
  3. Générez le certificat : cd E:\xampp\apache\bin .\openssl.exe req -config "E:\xampp\apache\conf\openssl-local.cnf" ` -x509 -nodes -days 1095 -newkey rsa:2048 ` -keyout "../conf/ssl/server.key" ` -out "../conf/ssl/server.crt"
  4. Ajoutez-le au magasin de certificats de confiance de Windows : Import-Certificate -FilePath "E:\xampp\apache\conf\ssl\server.crt" ` -CertStoreLocation Cert:\LocalMachine\Root (ou manuellement : Installer le certificat → Ordinateur local → Autorités de certification racines de confiance)
  5. Redémarrez Apache : net stop apache2.4 net start apache2.4

✅ https://localhost et https://127.0.0.1 devraient maintenant s’ouvrir sans avertissement.


🔌 3. « Le port 80 ou 443 est déjà utilisé »

Vérification :

netstat -ano | findstr :80
netstat -ano | findstr :443

Si le port est occupé, trouvez le processus :

tasklist | findstr <PID>

Processus courants :

  • Skype
  • IIS (World Wide Web Publishing Service)
  • VMware
  • Edge Update Service

Solution :

  1. Arrêtez ou désactivez le service en conflit.
  2. Ou modifiez les ports d’Apache :

Modifiez E:\xampp\apache\conf\httpd.conf :

Listen 80

→ remplacez par :

Listen 8080

Puis dans E:\xampp\apache\conf\extra\httpd-ssl.conf :

Listen 443

→ remplacez par :

Listen 8443

Ouvrez ensuite :

http://localhost:8080
https://localhost:8443

🔥 4. « Service Control Manager 7024 : fonction incorrecte »

Cause : l’entrée de service Apache dans le registre Windows est corrompue.

Solution :

Réinstallez le service Apache :

cd E:\xampp\apache\bin
httpd.exe -k uninstall
httpd.exe -k install

📄 5. Fichiers journaux d’Apache

Tous les journaux se trouvent ici :

E:\xampp\apache\logs\error.log

Consultez les dernières lignes :

Get-Content E:\xampp\apache\logs\error.log -Tail 30

⚙️ Commandes utiles de diagnostic

CommandeDescription
httpd.exe -tVérifie la configuration d’Apache
httpd.exe -SAffiche les hôtes virtuels
net start apache2.4Démarre le service Apache
net stop apache2.4Arrête le service Apache
netstat -anoAffiche les ports utilisés
`tasklistfindstr PID`
certmgr.mscOuvre le gestionnaire de certificats
services.mscOuvre la console des services Windows

🌐 Configuration d’hôtes virtuels (domaines locaux)

Vous pouvez faire en sorte que votre projet billing-crm s’ouvre à l’adresse https://crm.local au lieu de localhost/billing-crm.

  1. Modifiez le fichier hosts : C:\Windows\System32\drivers\etc\hosts Ajoutez : 127.0.0.1 crm.local
  2. Modifiez : E:\xampp\apache\conf\extra\httpd-vhosts.conf Ajoutez : <VirtualHost *:443> ServerName crm.local DocumentRoot "E:/xampp/htdocs/billing-crm" SSLEngine on SSLCertificateFile "E:/xampp/apache/conf/ssl/server.crt" SSLCertificateKeyFile "E:/xampp/apache/conf/ssl/server.key" </VirtualHost>
  3. Vérifiez la configuration : httpd.exe -t
  4. Redémarrez Apache et ouvrez : https://crm.local

🧠 Conseils et pièges fréquents

ProblèmeCauseSolution
Apache ne démarre pas au démarrageconflit de portsdémarrez XAMPP manuellement
« Connexion non sécurisée »SAN manquantrecréez le certificat avec alt_names
HTTPS ne répond pasport ou clé incorrectevérifiez httpd-ssl.conf
Firefox affiche toujours un avertissementutilise son propre magasinimportez server.crt manuellement
index.php est videprojet incompletrestaurez depuis Git ou une sauvegarde

🎯 Résumé

ÉtapeObjectifCommande
Vérifier la configurationValider la syntaxe d’Apachehttpd.exe -t
Générer SSLCréer un certificat localhostopenssl req -config ...
Faire confiance au certificatSupprimer les avertissements HTTPSImport-Certificate
Vérifier les portsContrôler 80/443netstat -ano
Démarrer ApacheLancer le servicenet start apache2.4

📚 Conclusion

Après ces étapes :

  • Apache fonctionne sans erreur.
  • HTTPS est pleinement opérationnel sans avertissement du navigateur.
  • localhost, 127.0.0.1 et les domaines comme crm.local sont totalement fiables.
  • Vous pouvez développer et tester vos sites localement comme sur un serveur de production.

Laisser un commentaire

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