Testez vos fichiers de configuration avant de redémarrer

closeCet article a été publié il y a 7 ans 5 mois 8 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

Le titre paraît un peu autoritaire, mais en fait, c’est juste pour partager avec vous les différentes commandes vous permettant de valider un fichier de configuration avant de redémarrer votre application, permettant ainsi de réduire les temps d’interruption. Sans surprise, c’est principalement autour d’applications liées à l’hébergement de sites web dont il sera question aujourd’hui.

PHP

Pour tester votre fichier de configuration .ini, c’est assez simple finalement :

Et si vous voulez valider votre configuration FPM, c’est tout aussi simple

Serveurs Web

Pour Apache, on peut trouver deux méthodes pour valider un fichier de configuration, suivant votre installation :

Si c’est Nginx qui a vos faveurs, vous pouvez utiliser cette commande :

MySQL/MariaDB

Malheureusement, il n’existe pas de switch/procédure pour tester directement le fichier de configuration. On peut contourner en bricolant directement en « lançant » une deuxième version éphémère du serveur avec l’option –help :

Vous pouvez vous passer de –defaults-file si le fichier est à l’emplacement par défaut. S’il y a une erreur dedans, vous aurez le message kivabien pour corriger.

Varnish

Apparemment varnishd propose directement une option pour valider un fichier vcl :

Pour ma part, j’ai pris l’habitude de tenter de directement charger le fichier avec varnishadm, si ça compile pas on a l’erreur qui s’affiche :

Proftpd

Le vénérable serveur FTP/SFTP dispose lui aussi d’une option directe pour tester le fichier de configuration :

Le -t10 permet d’avoir plus de détails sur les éventuelles erreurs, ainsi que le cheminement complet du chargement.

Tomcat

Le serveur d’application Java de la fondation Apache propose une validation de ses fichiers de configuration :

De manière générale, pour en savoir plus sur le fichier catalina.sh, vous pouvez lire cet article (en anglais).

Haproxy

Je l’ai cherché très vite cette commande dès que j’ai commencé à manipuler le célèbre load-balancer, parce que quand vous avez plusieurs clients configurés sur une seule instance, vous risquez pas de tout péter en live 😀

Et probablement d’autres

Ce sont les plus courantes que je peux rencontrer au quotidien. Si jamais vous en connaissez d’autres, vous pouvez vous faire plaisir avec les commentaires pour compléter cette micro-bible, ça me fera plaisir ainsi qu’aux autres lecteurs.

 

4 Commentaires
Le plus ancien
Le plus récent
Commentaires en ligne
Afficher tous les commentaires
David_5.1
David_5.1
18/11/2016 20:26

Pour SSH (ce qui peut être pertinent pour éviter de se coincer dehors, même si un restart du service ne coupe pas les sessions existantes) :
sshd -T [-f /etc/ssh/sshd_config] ou sshd -t.

DarkRedman
21/11/2016 16:03

Il y a aussi nginx -t

Sysadmin blog
24/01/2017 23:51

Il y a aussi visudo -c ou visudo -cf /etc/sudoers quand on a édité le fichier /etc/sudoers sans passer par la commande visudo.
Pratique pour les outils d’automatisation comme ansiblle, chef, etc.