- 🧭 Introduction
- 🧩 Installation de XAMPP
- 🟢 Premier démarrage d’Apache
- ❗ Problèmes fréquents et solutions
- ⚙️ Commandes utiles de diagnostic
- 🌐 Configuration d’hôtes virtuels (domaines locaux)
- 🧠 Conseils et pièges fréquents
- 🎯 Résumé
- 📚 Conclusion
🧭 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
- Téléchargez la dernière version de XAMPP depuis le site officiel :
👉 https://www.apachefriends.org/download.html - Installez XAMPP dans un chemin simple (sans espaces ni caractères spéciaux), par exemple :
E:\xampp - Après l’installation, ouvrez XAMPP Control Panel en tant qu’administrateur.
🟢 Premier démarrage d’Apache
- Dans le panneau XAMPP, cliquez sur Start à côté d’Apache.
- Si tout fonctionne, vous verrez :
Apache ... running - 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 :
- Créez un nouveau fichier :
E:\xampp\apache\conf\openssl-local.cnf - 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 - 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" - 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) - 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 :
- Arrêtez ou désactivez le service en conflit.
- 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
| Commande | Description |
|---|---|
httpd.exe -t | Vérifie la configuration d’Apache |
httpd.exe -S | Affiche les hôtes virtuels |
net start apache2.4 | Démarre le service Apache |
net stop apache2.4 | Arrête le service Apache |
netstat -ano | Affiche les ports utilisés |
| `tasklist | findstr PID` |
certmgr.msc | Ouvre le gestionnaire de certificats |
services.msc | Ouvre 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.
- Modifiez le fichier hosts :
C:\Windows\System32\drivers\etc\hostsAjoutez :127.0.0.1 crm.local - Modifiez :
E:\xampp\apache\conf\extra\httpd-vhosts.confAjoutez :<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> - Vérifiez la configuration :
httpd.exe -t - Redémarrez Apache et ouvrez :
https://crm.local
🧠 Conseils et pièges fréquents
| Problème | Cause | Solution |
|---|---|---|
| Apache ne démarre pas au démarrage | conflit de ports | démarrez XAMPP manuellement |
| « Connexion non sécurisée » | SAN manquant | recréez le certificat avec alt_names |
| HTTPS ne répond pas | port ou clé incorrecte | vérifiez httpd-ssl.conf |
| Firefox affiche toujours un avertissement | utilise son propre magasin | importez server.crt manuellement |
index.php est vide | projet incomplet | restaurez depuis Git ou une sauvegarde |
🎯 Résumé
| Étape | Objectif | Commande |
|---|---|---|
| Vérifier la configuration | Valider la syntaxe d’Apache | httpd.exe -t |
| Générer SSL | Créer un certificat localhost | openssl req -config ... |
| Faire confiance au certificat | Supprimer les avertissements HTTPS | Import-Certificate |
| Vérifier les ports | Contrôler 80/443 | netstat -ano |
| Démarrer Apache | Lancer le service | net 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.1et les domaines commecrm.localsont totalement fiables.- Vous pouvez développer et tester vos sites localement comme sur un serveur de production.