La vérification et/ou le test de la syntaxe de configuration est une étape clé à effectuer après avoir apporté des modifications au fichier de configuration d’une application ou d’un service ou même après avoir exécuté des mises à jour. Cela permet de réduire les risques d’échec du redémarrage du service en raison d’erreurs de configuration.
Plusieurs applications/programmes ou démons de service sont livrés avec des commandes pour vérifier l’exactitude de la syntaxe des fichiers de configuration. Nous avons dressé une liste d’applications et de services courants sur les systèmes Linux et comment tester ou valider leurs fichiers de configuration.
Noter: À utiliser si vous n’êtes pas connecté à un serveur en tant qu’utilisateur root, n’oubliez pas d’utiliser la commande sudo si nécessaire lors de l’appel d’une commande car certains services s’exécutent avec des privilèges root et la vérification de leurs fichiers de configuration nécessite des autorisations d’utilisateur root.
1. Commande Sudo
Vous pouvez vérifier la syntaxe du fichier de configuration sudo en utilisant le visudo commande, qui prend en charge un --check
ou -c
option de ligne de commande pour valider uniquement un fichier sans modification. La -f
affiche le message d’erreur et ouvre le fichier pour modification :
# visudo -c /etc/sudoers OR # visudo -c /etc/sudoers.d/my_config OR # visudo -f /etc/sudoers.d/my_config
2. Script Bash
Vous pouvez vérifier les scripts Bash pour les erreurs de syntaxe comme suit :
# bash -n /path/to/scriptname.sh
3. Scripts Perl
Pour rechercher des erreurs de syntaxe dans les scripts Perl, utilisez la commande suivante :
# perl -c /path/to/scriptname
4. Fichiers d’unité Systemd
La « systemd-analyser vérifier” permet de tester le fichier d’unité systemd pour les erreurs de syntaxe. Il charge les fichiers unitaires et imprime des avertissements si des erreurs sont détectées.
Par défaut, il charge les fichiers spécifiés sur la ligne de commande en tant qu’argument, et toute autre unité référencée par eux :
# systemd-analyze verify /etc/systemd/system/test.service
5. Serveur OpenSSH
Pour vérifier la validité du fichier de configuration sshd et l’intégrité des clés, exécutez la commande suivante. Pour vérifier un fichier de configuration particulier, spécifiez-le à l’aide de la -f
drapeau:
# sshd -t
6. Serveur Web NGINX
Pour vérifier le NGINX fichier de configuration, exécutez le nginx commande avec le -t
drapeau. Pour spécifier un fichier de configuration différent, utilisez le -c
drapeau:
# nginx -t OR # nginx -t -c /etc/nginx/conf.d/example.com.conf
7. PHP-FPM
Pour vérifier le php-fpm fichier de configuration, exécutez la commande suivante. Notez que l’appel du -t
drapeau deux fois (-tt)
provoque le vidage de la configuration avant de quitter :
# php-fpm -t OR # php-fpm -tt
8. Serveur Web Apache
Vous pouvez ensuite vérifier le apache fichier de configuration du serveur Web à l’aide de la commande suivante :
# apachectl configtest
Vous pouvez également utiliser les commandes suivantes sur les distributions basées sur RedHat :
# httpd -t
Sur les distributions basées sur Debian, exécutez :
# apache2ctl -t
9. Équilibreur de charge HAProxy TCP/HTTP
La configuration de HAProxy peut être testée à l’aide de la commande suivante où le -f
option spécifie le fichier et -c
active le mode test :
# haproxy -f /etc/haproxy/haproxy.cfg -c
10. Serveur HTTP Lighttpd
Exécutez la commande suivante pour tester la syntaxe du fichier de configuration de Lighttpd. La -t
L’option de ligne de commande permet à Lighttpd de tester le fichier de configuration par défaut pour les erreurs de syntaxe et de quitter. Utilisez le -f
flag pour spécifier un fichier de configuration personnalisé :
# lighttpd -t OR # lighttpd -t -f /path/to/config/file
11. Apache Tomcat
Le serveur Web Tomcat permet de vérifier la syntaxe de configuration de base. Tout d’abord, déplacez-vous dans votre répertoire d’installation de tomcat et lancez la commande suivante :
# ./bin/catalina.sh configtest OR # $TOMCAT_HOME/bin/catalina.sh configtest
12. Proxy inversé en livre
Vous pouvez analyser le Livre fichier de configuration du serveur avant de démarrer le serveur. Exécutez le livre commande avec le -c
flag sans aucun autre argument pour vérifier le fichier de configuration par défaut. Vous pouvez spécifier un fichier de configuration différent à l’aide de la -f
options de ligne de commande :
# pound -c OR # pound -f /path/to/config/file -c
13. Accélérateur HTTP Varnishd
Pour vérifier le vernis CVL (Langue de configuration du vernis) syntaxe de fichier pour toute erreur, utilisez la commande suivante. Si tout est OK, le vernis videra la configuration générée, sinon, il affichera un numéro de ligne spécifique dans le fichier qui contient une erreur :
# varnishd -C OR # varnishd -f /etc/varnish/default.vcl -C
14. Serveur de cache proxy Squid
Pour transmettre le fichier de configuration squid au serveur de mise en cache proxy Squid, exécutez la commande suivante. La -k
avec les sous-commandes parse ou debug, indiquez au démon squid d’analyser le fichier de configuration ou d’activer le mode de débogage respectivement :
# squid -k parse # squid -k debug
15. Serveur Web Caddie
Pour exposer toute erreur dans la configuration du serveur Web Caddy, exécutez la commande suivante. Le premier vérifie la configuration par défaut, alternativement, utilisez le --config
option de ligne de commande pour spécifier un fichier de configuration :
# caddy validate OR # caddy validate --config /path/to/config/file
16. Serveur FTP vsftpd
Exécutez la commande suivante pour tester le fichier de configuration pour le vsftpd Serveur ftp:
# vsftpd OR # vsftpd -olisten=NO /path/to/vsftpd.testing.conf
17. Serveur DHCPD
Exécutez le dhcp commande avec le -t
flag pour vérifier la syntaxe de configuration du serveur dhcpd :
# dhcpd -t OR # dhcpd -t -cf /path/to/dhcpd.conf
18. Serveur de base de données MySQL
Utilisez la commande suivante pour tester le MySQL syntaxe du fichier de configuration du serveur de base de données. Après avoir exécuté la commande, s’il n’y a pas d’erreurs, le serveur se termine avec un code de sortie de 0sinon, il affiche un message de diagnostic et se termine par un code de sortie de 1:
# mysqld --validate-config
19. Serveur de base de données MariaDB
La même commande utilisée pour le MariaDB Le serveur de base de données fonctionne également pour vérifier la syntaxe du fichier de configuration du serveur de base de données Mariadb :
# mysqld --validate-config
20. Serveur PostgreSQL
La capture d’écran suivante montre une erreur dans le PostgreSQLName fichier de configuration.
Pour détecter une telle erreur, passez au postgres compte utilisateur de la base de données et accéder au psql coquille. Exécutez ensuite la commande pour identifier les erreurs dans votre fichier de configuration :
postgres=# select sourcefile, name,sourceline,error from pg_file_settings where error is not null;
21. Outil de surveillance Nagios
Pour vérifier votre Nagios configuration, lancez le Nagios commande avec le -v
drapeau.
# nagios -v /usr/local/nagios/etc/nagios.cfg
22. Outil de surveillance Monit
Exécutez le surveiller commande avec le -t
flag pour effectuer une vérification de la syntaxe du fichier de contrôle Monit par défaut. Vous pouvez spécifier un fichier de contrôle particulier, utiliser le -c
drapeau:
# monit -t OR # monit -t -c path/to/control/file
23. Serveur de messagerie Postfix
La commande suivante vous aidera à vérifier les fichiers de configuration de Postfix pour les erreurs de syntaxe.
# postfix check
Cette deuxième commande est plus détaillée que la première :
# postfix -vvv
24. Serveur IMAP Dovecot
Vérifier la Pigeonnier IMAP syntaxe de configuration du serveur à l’aide de colombeconf commande. Il se terminera avec un code d’erreur nul si tout est OK, sinon, il se terminera avec un code d’erreur non nul et affichera le message d’erreur :
# doveconf 1>/dev/null # echo $?
25. Serveur de fichiers Samba
Vous pouvez vérifier le Samba fichier de configuration du serveur de fichiers à l’aide de la commande suivante :
# testparm -v
26. Syslogd/Rsyslogd
Lorsque vous invoquez le rsyslod commande avec le -N1
option, il activera le mode débogage et vérifiera également le fichier de configuration par défaut pour les erreurs de syntaxe. Utilisez le -f
drapeau pour lire un fichier de configuration personnalisé :
# rsyslogd -N1
27. Serveur DNS (BIND)
Vous pouvez vérifier le DNS nommé fichier de configuration comme suit :
# named-checkconf /etc/named.conf
28. NTP – Protocole de temps réseau
La ntpd la syntaxe de configuration peut être testée à l’aide de la commande suivante, où la -d
le drapeau active le mode de débogage détaillé, -f
spécifie le nom du fichier de dérive de fréquence, et -n
n’implique pas de fourche :
# ntpd -d -f /etc/ntp.conf -n
29. OpenStack-Ansible
Exécutez la commande suivante pour vérifier la syntaxe d’un fichier de configuration OpenStack-ansible :
# openstack-ansible setup-infrastructure.yml --syntax-check
30. Logrotation
Pour déboguer un logroate (installation de rotation des journaux), exécutez le fichier de configuration logrotate commande avec le -d
option et spécifiez le fichier de configuration :
# logrotate -d /etc/logrotate.d/nginx
C’est tout ce que nous avions pour vous dans ce guide. Partagez vos réflexions avec nous ou posez des questions via le formulaire de commentaires ci-dessous. Vous pouvez également partager plus d’exemples sur la façon de vérifier la syntaxe de configuration de toutes les applications ou services non répertoriés ici. Nous ajouterons volontiers vos exemples au guide.