Commande pour vérifier la validité des fichiers de configuration du serveur Apache

152

Je recherche une commande qui vérifie la validité des fichiers de configuration du serveur Apache sur les distributions Debian et RHEL. Je dois le faire avant de redémarrer afin d'éviter tout temps d'arrêt.

Sigtran
la source

Réponses:

223

Vérifiez: http://httpd.apache.org/docs/2.2/programs/apachectl.html

apachectl configtest
keatch
la source
Je reçois ce message avec la commande ci-dessusAH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Ciasto piekarz
Ajoutez une ligne "NomServeur, quel que soit votre nom" à votre configuration Apache. Remplacez ce que vous voulez par tout ce que vous voudrez nommer votre serveur.
Pit
1
pourrait nécessiter sudo?
Miguel
36

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

client
la source
Bizarrement, sur Ubuntu, quand je cours, apachectl configtestje reçois Syntax OK, mais quand je cours, apache2 -tje reçois AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf(entre autres erreurs)
Buttle Butkus
6

apachectl configtestest la bonne réponse. Malheureusement, j'ai une installation Windows où Apachectl est manquant. Ici, appeler httpdaide aussi.

Matthias M
la source
1

Le test de configuration d'Apache ( apachectl configtestou ses équivalents) teste uniquement le fichier de configuration (et les fichiers qu'il inclut de manière récursive) pour vérifier sa syntaxe. Cependant, la question initiale demandait d'éviter les temps d'arrêt. Même si apachectl configtestaucune erreur n’est renvoyée, un redémarrage réel peut échouer, entraînant un temps mort.

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, de telles erreurs sont causées par la suppression du répertoire d'un hôte virtuel sans supprimer le fichier de configuration Apache de l'hôte. Il est fortement recommandé d’utiliser un outil comme marionnette ou ansible pour éviter de telles incohérences.

Voyant que cette question est le hit numéro un en googlant "Apache Config Lint", j'ai pensé mentionner ce petit détail ...

BertD
la source