Je recherche une commande qui vérifie la validité des fichiers de configuration dans le serveur Apache sur les distributions Debian et RHEL. Je dois le faire avant de redémarrer, donc il n'y aura pas de temps d'arrêt.
Vérifiez: http://httpd.Apache.org/docs/2.2/programs/apachectl.html
apachectl configtest
Une autre façon est httpd -t
. Par conséquent, il est disponible dans la version Windows d'Apache. Vérifiez http://httpd.Apache.org/docs/2.4/programs/httpd.html
apachectl configtest
est la bonne réponse. Malheureusement, j'ai une installation Windows où apachectl est manquant. Ici, appeler httpd
aide également.
Le test de configuration Apache (apachectl configtest
, ou ses équivalents) teste uniquement le fichier de configuration (et les fichiers qu'il inclut récursivement) pour la syntaxe valide. Cependant, la question d'origine demandait d'éviter les temps d'arrêt. Même quand apachectl configtest
ne renvoie pas d'erreur, un redémarrage réel peut toujours échouer, entraînant un temps d'arrêt.
Les causes courantes de ces échecs incluent des certificats SSL manquants ou inaccessibles, des répertoires manquants pour les fichiers journaux ou un répertoire racine de site Web manquant. Souvent, ces erreurs sont causées par la suppression du répertoire d'un vhost sans supprimer le fichier de configuration vhost Apache. Il est fortement recommandé d'utiliser un outil comme marionnette ou ansible pour éviter de telles incohérences.
Voyant que cette question est le numéro un lors de la recherche sur Google "Apache config lint", j'ai pensé mentionner ce petit détail ...