Installation · 7 min read · Oct 27, 2025

Comment installer le cadre d'automatisation IT SaltStack sur Debian 12

Salt ou Saltstack est un cadre d’automatisation IT open-source écrit en Python. Il permet aux administrateurs d’exécuter des commandes à distance sur plusieurs machines directement.

Salt est conçu avec une architecture Maître et Minion. Le maître Salt est le contrôleur central de la gestion de configuration Salt, et les Minions sont des serveurs gérés par le maître Salt, ou vous les nommez minions comme serveurs cibles.

Ce guide vous montrera comment installer SaltStack sur des serveurs Debian 12. Nous vous montrerons comment installer Salt Master et Minion, comment exécuter des commandes arbitraires via Salt, puis créer le premier état Salt pour installer la pile LAMP.

Prérequis

Avant de commencer, assurez-vous d’avoir les éléments suivants :

  • Deux ou trois serveurs Debian 12 - Dans cet exemple, nous utiliserons le serveur master sur 192.168.5.15 et le serveur minion1 sur 192.168.5.21.
  • Un utilisateur non-root avec des privilèges d’administrateur.

Configuration du fichier /etc/hosts

Dans cette section, vous allez configurer le fichier /etc/hosts afin que chaque serveur puisse se connecter via le nom d’hôte, ce qui est plus facile que d’utiliser une adresse IP.

Ouvrez le fichier /etc/hosts en utilisant l’éditeur nano suivant.

sudo nano /etc/hosts

Insérez les détails de l’hôte et l’adresse IP dans le fichier. Assurez-vous de changer les adresses IP et les noms d’hôtes avec vos informations.

192.168.5.15 master  
192.168.5.21 minion1

Enregistrez et quittez le fichier une fois terminé.

Ajout du dépôt SaltStack

Après avoir configuré le fichier /etc/hosts, vous devez ajouter le dépôt SaltStack à tous vos serveurs Debian. SaltStack fournit un dépôt officiel pour la plupart des distributions Linux, y compris le dernier Debian 12.

Tout d’abord, créez un nouveau répertoire /etc/apt/keyrings en utilisant la commande ci-dessous.

mkdir /etc/apt/keyrings

Téléchargez la clé GPG pour le dépôt SaltStack avec la commande ci-dessous.

sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg https://repo.saltproject.io/salt/py3/debian/12/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg

Une fois la clé GPG téléchargée, ajoutez le dépôt SaltStack en utilisant la commande suivante.

echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] https://repo.saltproject.io/salt/py3/debian/12/amd64/latest bookworm main" | sudo tee /etc/apt/sources.list.d/salt.list

Maintenant, mettez à jour et rafraîchissez votre index de paquets Debian.

sudo apt update

Vous pouvez voir ci-dessous le dépôt SaltStack ajouté aux serveurs Debian.

add repo

Configuration de UFW

Dans cet exemple, vous allez configurer et activer UFW (Uncomplicated Firewall) sur vos serveurs Debian. Vous allez donc installer UFW, ouvrir le port SSH, puis démarrer et activer UFW.

Installez UFW sur votre système Debian en utilisant la commande ci-dessous.

sudo apt install ufw -y

Une fois UFW installé, exécutez la commande suivante pour activer le profil d’application OpenSSH. Vous verrez la sortie Règles ajoutées.

sudo ufw allow OpenSSH

Maintenant, activez UFW en utilisant la commande ci-dessous. Entrez y pour confirmer, démarrer et activer UFW.

sudo ufw enable

Vous obtiendrez une sortie ‘Le pare-feu est actif …‘ une fois UFW démarré et activé.

Installation de Salt Master

Après avoir terminé les tâches ci-dessus, vous êtes prêt à installer SaltStack. Vous allez installer et configurer le Salt Master sur le serveur master.

Sur le serveur master, exécutez la commande ci-dessous pour installer le paquet salt-master. Saisissez Y pour confirmer l’installation.

sudo apt install salt-master

install salt master

Après l’installation, ouvrez la configuration par défaut du Salt Master /etc/salt/master en utilisant la commande de l’éditeur nano ci-dessous.

sudo nano /etc/salt/master

Changez l’interface par défaut avec votre adresse IP locale. Dans cet exemple, l’adresse IP du serveur master est 192.168.5.15.

interface: 192.168.5.15

Enregistrez le fichier et quittez lorsque vous avez terminé.

Maintenant, exécutez la commande ci-dessous pour redémarrer le service salt-master et appliquer vos modifications.

sudo systemctl restart salt-master

Puis vérifiez le service salt-master pour vous assurer que le service fonctionne.

sudo systemctl status salt-master

S’il fonctionne, vous verrez une sortie telle que actif (en cours d’exécution).

verify salt master

Ensuite, exécutez la commande ci-dessous pour ouvrir les ports TCP 4505 et 4506 que Salt Master utilisera.

sudo ufw allow 4505,4506/tcp

Enfin, vérifiez la liste des ports sur votre serveur master en utilisant la commande ci-dessous. Assurez-vous que l’accès aux ports 4505 et 4506 est autorisé.

sudo ufw status

setup ufw

Installation de Salt Minion

Maintenant que vous avez configuré Salt Master, passez à la configuration de Salt Minion sur le serveur minion1. Vous allez installer salt-minion puis le configurer pour se connecter au serveur Salt Master.

Installez le paquet salt-minion sur le serveur minion1 en utilisant la commande ci-dessous. Saisissez Y pour confirmer l’installation.

sudo apt install salt-minion

install salt-minion

Une fois l’installation terminée, ouvrez la configuration de Salt Minion /etc/salt/minion en utilisant la commande de l’éditeur nano.

sudo nano /etc/salt/minion

Saisissez l’adresse IP de votre Salt Master dans le paramètre master comme suit :

master: 192.168.5.15

Enregistrez le fichier et quittez l’éditeur.

Ensuite, exécutez la commande ci-dessous pour redémarrer le service salt-minion et appliquer vos modifications.

sudo systemctl restart salt-minion

Enfin, vérifiez le service salt-minion pour vous assurer que le service fonctionne. Le Salt Minion s’enregistrera automatiquement auprès du serveur Salt Master.

sudo systemctl status salt-minion

Assurez-vous que le service salt-minion fonctionne comme suit :

verify salt minion

Ajout de Salt Minion au Salt Master

Après avoir configuré Salt Minion, vous devez encore accepter la clé d’enregistrement des serveurs Minion.

Tout d’abord, exécutez la commande ci-dessous pour vérifier la liste des clés sur le serveur master.

salt-key --finger-all

Si tout se passe bien, vous pouvez voir la clé pour le serveur minion1 ou les serveurs Salt Minion.

Maintenant, exécutez la commande ci-dessous pour accepter la clé pour le serveur minion1. Saisissez Y pour confirmer et accepter la clé.

salt-key -a minion1

Ensuite, vérifiez à nouveau la liste des clés sur le serveur minion1. Vous verrez la clé pour le serveur minion1 répertoriée dans la section Clés acceptées.

salt-key --finger-all

accept key

Maintenant, vous pouvez tester la connexion au serveur Salt Minion en utilisant la commande. Vous pouvez spécifier le serveur cible avec le nom d’hôte, ou vous pouvez utiliser le caractère ‘*’ pour cibler tous les serveurs Salt Minion disponibles.

salt minion1 test.ping  
salt * test.ping

Si la connexion au Salt Minion est réussie, vous verrez une sortie ‘True‘.

Enfin, vérifiez la version de Salt en utilisant la commande ci-dessous.

salt minion1 test.version

Dans cet exemple, le Salt Minion 3007.0 est installé.

test salt ping and version

Exécution de commandes arbitraires via SaltStack

Avec tout configuré, vous allez tester votre installation SaltStack en exécutant une commande arbitraire sur le serveur minion1 depuis le serveur master.

Exécutez la commande ci-dessous pour mettre à jour l’index des paquets de dépôt pour les serveurs Minion.

salt '*' pkg.refresh_db

Maintenant, exécutez la commande ci-dessous pour les mises à jour de paquets sur le serveur cible.

salt '*' pkg.list_upgrades

Ensuite, exécutez la commande suivante pour afficher des informations sur le paquet apache2.

salt '*' pkg.show apache2

Pour vérifier les services en cours d’exécution sur le serveur Minion, exécutez la commande ci-dessous.

salt '*' service.get_running  
salt '*' service.execs

Création d’un état Salt pour l’installation de la pile LAMP

Dans cette section, vous apprendrez à créer le premier SaltState pour installer la pile LAMP (Apache, MariaDB et PHP) sur le serveur minion1.

Tout d’abord, créez un nouveau répertoire /srv/salt/lamp en utilisant la commande ci-dessous.

mkdir -p /srv/salt/lamp

Maintenant, créez un nouveau fichier d’état Salt init /srv/salt/lamp/init.sls en utilisant l’éditeur nano suivant.

nano /srv/salt/lamp/init.sls

Ajoutez la configuration ci-dessous au fichier. Avec cela, vous installerez la pile LAMP (Apache, MariaDB et PHP) sur le serveur cible.

lamp_stack:  
 pkg.installed:  
 - pkgs:  
 - apache2  
 - mariadb-server  
 - php  
 - libapache2-mod-php  
  
apache2:  
 service.running:  
 - enable: True  
 - reload: True  
  
mariadb:  
 service.running:  
 - enable: True  
 - reload: True

Enregistrez le fichier et quittez.

Maintenant, exécutez la commande ci-dessous pour vérifier votre configuration d’état Salt par rapport au Salt Minion. Assurez-vous de ne pas avoir d’erreurs.

sudo salt * state.show_sls lamp

test salt state

Ensuite, exécutez la commande ci-dessous pour appliquer l’état Salt ‘lamp‘ au serveur minion1.

sudo salt minion1 state.apply lamp

Lorsque le processus est terminé, vous obtiendrez la sortie suivante :

success salt state

Enfin, exécutez la commande ci-dessous pour vérifier les services Apache et MariaDB sur le serveur minion1.

salt '*' service.get_running

Assurez-vous que les services apache2 et mariadb sont en cours d’exécution.

service status

Conclusion

Félicitations ! Vous avez terminé l’installation de SaltStack (Salt Master et Minion) sur des serveurs Debian 12. Vous avez également appris à exécuter des commandes arbitraires contre les serveurs Minion et à créer le premier état Salt pour installer la pile LAMP (Apache2, MariaDB et PHP).

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.