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/hostsInsé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 minion1Enregistrez 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/keyringsTé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.gpgUne 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.listMaintenant, mettez à jour et rafraîchissez votre index de paquets Debian.
sudo apt updateVous pouvez voir ci-dessous le dépôt SaltStack ajouté aux serveurs Debian.

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 -yUne 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 OpenSSHMaintenant, activez UFW en utilisant la commande ci-dessous. Entrez y pour confirmer, démarrer et activer UFW.
sudo ufw enableVous 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
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/masterChangez 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.15Enregistrez 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-masterPuis vérifiez le service salt-master pour vous assurer que le service fonctionne.
sudo systemctl status salt-masterS’il fonctionne, vous verrez une sortie telle que actif (en cours d’exécution).

Ensuite, exécutez la commande ci-dessous pour ouvrir les ports TCP 4505 et 4506 que Salt Master utilisera.
sudo ufw allow 4505,4506/tcpEnfin, 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
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
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/minionSaisissez l’adresse IP de votre Salt Master dans le paramètre master comme suit :
master: 192.168.5.15Enregistrez 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-minionEnfin, 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-minionAssurez-vous que le service salt-minion fonctionne comme suit :

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-allSi 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 minion1Ensuite, 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
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.pingSi 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.versionDans cet exemple, le Salt Minion 3007.0 est installé.

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_dbMaintenant, exécutez la commande ci-dessous pour les mises à jour de paquets sur le serveur cible.
salt '*' pkg.list_upgradesEnsuite, exécutez la commande suivante pour afficher des informations sur le paquet apache2.
salt '*' pkg.show apache2Pour 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.execsCré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/lampMaintenant, 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.slsAjoutez 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: TrueEnregistrez 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
Ensuite, exécutez la commande ci-dessous pour appliquer l’état Salt ‘lamp‘ au serveur minion1.
sudo salt minion1 state.apply lampLorsque le processus est terminé, vous obtiendrez la sortie suivante :

Enfin, exécutez la commande ci-dessous pour vérifier les services Apache et MariaDB sur le serveur minion1.
salt '*' service.get_runningAssurez-vous que les services apache2 et mariadb sont en cours d’exécution.

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).
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.