Code de sortie 1 Apache HTTP Server : démarrage impossible, que faire ?
À surveillerLe code de sortie 1 d'Apache HTTP Server indique qu'Apache n'a pas pu démarrer en raison d'une erreur de configuration ou d'un problème système (port occupé, permissions insuffisantes). La commande apachectl -t permet de tester la configuration et d'identifier la cause sans lancer le service.
Que signifie le code 1 ?
Lorsque le script de contrôle apachectl renvoie le code de sortie 1, cela signifie qu'Apache HTTP Server n'a pas pu s'initialiser correctement. Selon la documentation officielle d'Apache (programme apachectl), ce code indique une erreur lors du lancement du service httpd. Apache interrompt le démarrage dès qu'une erreur est détectée dans sa configuration ou dans son environnement d'exécution, et consigne les détails dans le fichier ErrorLog défini dans la configuration.
Causes probables
- Erreur de syntaxe dans le fichier de configuration Apache (httpd.conf ou un fichier inclus via Include ou IncludeOptional).
- Port d'écoute déjà utilisé par un autre processus (port 80 ou 443 occupé par un autre service web ou une instance Apache déjà active).
- Permissions insuffisantes pour accéder au fichier de socket, au répertoire de logs ou pour lier le port système (les ports inférieurs à 1024 nécessitent les droits root).
- Module référencé dans la configuration absent ou incompatible avec la version d'Apache installée.
- Fichier de certificat SSL manquant ou chemin incorrect dans la configuration VirtualHost HTTPS.
Comment résoudre le code 1
- Tester la configuration avec apachectl -t. Avant tout, testez la validité de la configuration sans démarrer le service en exécutant : apachectl -t (ou apache2ctl -t sur les systèmes Debian et Ubuntu). Apache analyse tous les fichiers de configuration et indique la première erreur rencontrée avec le nom de fichier et le numéro de ligne. Corrigez l'erreur indiquée, puis relancez le test jusqu'à obtenir le message Syntax OK.
- Consulter le fichier ErrorLog. Ouvrez le fichier ErrorLog défini dans la configuration Apache (par défaut /var/log/apache2/error.log sur Debian et Ubuntu, ou /var/log/httpd/error_log sur Red Hat et CentOS). Ce fichier contient les messages d'erreur détaillés au moment de la tentative de démarrage et indique précisément la cause du code de sortie 1.
- Vérifier les ports en écoute. Si la configuration est valide (Syntax OK) mais qu'Apache échoue quand même au démarrage, un port peut être occupé. Exécutez : ss -tlnp | grep ':80' ou netstat -tlnp | grep ':80' pour identifier le processus utilisant le port 80. Arrêtez le processus concurrent ou modifiez le port d'écoute Apache dans la directive Listen du fichier de configuration.
- Corriger les permissions. Vérifiez que l'utilisateur sous lequel Apache s'exécute (www-data, apache ou httpd selon la distribution) dispose des permissions en lecture sur les fichiers de configuration et les dossiers de logs. Sur les systèmes Linux, seul root peut lier les ports inférieurs à 1024. Assurez-vous qu'Apache est démarré avec les privilèges appropriés ou via systemctl, qui gère l'élévation de privilèges.
Quand faire appel à un professionnel
Si vous ne parvenez pas à identifier la cause du code de sortie 1 malgré la lecture des logs et le test de configuration, un administrateur système expérimenté peut analyser l'environnement (modules chargés, configuration SSL, droits du système de fichiers) et résoudre le problème.
Questions fréquentes
Quelle est la différence entre le code de sortie 1 et le code 2 d'Apache ?
Comment redémarrer Apache après avoir corrigé l'erreur ?
Un certificat SSL expiré peut-il provoquer le code de sortie 1 d'Apache ?
Autres codes Serveur / HTTP
Source : Documentation Apache HTTP Server – apachectl · relevé le 06/09/2026.