IT Automation · 7 min read · Oct 27, 2025

So installieren Sie das SaltStack IT-Automatisierungsframework auf Debian 12

Salt oder Saltstack ist ein Open-Source-IT-Automatisierungsframework, das in Python geschrieben ist. Es ermöglicht Administratoren, Befehle remote auf mehreren Maschinen direkt auszuführen.

Salt ist mit einer Master- und Minion-Architektur konzipiert. Der Salt-Master ist der zentrale Controller des Salt-Konfigurationsmanagements, und Minions sind Server, die vom Salt-Master verwaltet werden, oder Sie nennen Minions Zielserver.

Diese Anleitung zeigt Ihnen, wie Sie SaltStack auf Debian 12-Servern installieren. Wir zeigen Ihnen, wie Sie Salt Master und Minion installieren, wie Sie beliebige Befehle über Salt ausführen und dann den ersten Salt-Zustand für die Installation des LAMP-Stacks erstellen.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Zwei oder drei Debian 12-Server - In diesem Beispiel verwenden wir den Master-Server auf 192.168.5.15 und den Minion1-Server auf 192.168.5.21.
  • Einen Nicht-Root-Benutzer mit Administratorrechten.

Einrichten der /etc/hosts-Datei

In diesem Abschnitt richten Sie die /etc/hosts-Datei ein, damit jeder Server über den Hostnamen verbunden werden kann, was einfacher ist als die Verwendung einer IP-Adresse.

Öffnen Sie die /etc/hosts-Datei mit dem folgenden Nano-Editor.

sudo nano /etc/hosts

Fügen Sie die Details des Hosts und die IP-Adresse in die Datei ein. Stellen Sie sicher, dass Sie die IP-Adressen und Hostnamen mit Ihren Informationen ändern.

192.168.5.15 master  
192.168.5.21 minion1

Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.

Hinzufügen des SaltStack-Repositorys

Nachdem Sie die /etc/hosts-Datei eingerichtet haben, müssen Sie das SaltStack-Repository zu allen Ihren Debian-Servern hinzufügen. Das SaltStack bietet ein offizielles Repository für die meisten Linux-Distributionen, einschließlich des neuesten Debian 12.

Zuerst erstellen Sie ein neues Verzeichnis /etc/apt/keyrings mit dem folgenden Befehl.

mkdir /etc/apt/keyrings

Laden Sie den GPG-Schlüssel für das SaltStack-Repository mit dem folgenden Befehl herunter.

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

Sobald der GPG-Schlüssel heruntergeladen ist, fügen Sie das SaltStack-Repository mit dem folgenden Befehl hinzu.

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

Aktualisieren und aktualisieren Sie jetzt Ihr Debian-Paket-Index.

sudo apt update

Sie können unten das hinzugefügte SaltStack-Repository auf den Debian-Servern sehen.

add repo

UFW einrichten

In diesem Beispiel richten Sie UFW (Uncomplicated Firewall) auf Ihren Debian-Servern ein und aktivieren es. Sie installieren UFW, öffnen den SSH-Port und starten und aktivieren dann UFW.

Installieren Sie UFW auf Ihrem Debian-System mit dem folgenden Befehl.

sudo apt install ufw -y

Sobald UFW installiert ist, führen Sie den folgenden Befehl aus, um das OpenSSH-Anwendungsprofil zu aktivieren. Sie werden die Ausgabe „Regeln hinzugefügt“ sehen.

sudo ufw allow OpenSSH

Aktivieren Sie jetzt UFW mit dem folgenden Befehl. Geben Sie y ein, um zu bestätigen, zu starten und UFW zu aktivieren.

sudo ufw enable

Sie erhalten die Ausgabe ‘Firewall ist aktiv …‘, sobald UFW gestartet und aktiviert ist.

Salt Master installieren

Nachdem Sie die Aufgaben oben abgeschlossen haben, sind Sie bereit, SaltStack zu installieren. Sie installieren und konfigurieren den Salt Master auf dem Master-Server.

Führen Sie auf dem Master-Server den folgenden Befehl aus, um das salt-master-Paket zu installieren. Geben Sie Y ein, um die Installation zu bestätigen.

sudo apt install salt-master

install salt master

Nachdem die Installation abgeschlossen ist, öffnen Sie die Standardkonfiguration des Salt Masters /etc/salt/master mit dem folgenden Nano-Editor-Befehl.

sudo nano /etc/salt/master

Ändern Sie die Standard-Schnittstelle in Ihre lokale IP-Adresse. In diesem Beispiel hat der Master-Server die IP-Adresse 192.168.5.15.

interface: 192.168.5.15

Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.

Führen Sie jetzt den folgenden Befehl aus, um den salt-master-Dienst neu zu starten und Ihre Änderungen anzuwenden.

sudo systemctl restart salt-master

Überprüfen Sie dann den salt-master-Dienst, um sicherzustellen, dass der Dienst läuft.

sudo systemctl status salt-master

Wenn er läuft, sehen Sie eine Ausgabe wie aktiv (läuft).

verify salt master

Führen Sie als Nächstes den folgenden Befehl aus, um die TCP-Ports 4505 und 4506 zu öffnen, die der Salt Master verwenden wird.

sudo ufw allow 4505,4506/tcp

Überprüfen Sie schließlich die Liste der Ports auf Ihrem Master-Server mit dem folgenden Befehl. Stellen Sie sicher, dass der Zugriff auf die Ports 4505 und 4506 erlaubt ist.

sudo ufw status

setup ufw

Salt Minion installieren

Nachdem Sie den Salt Master konfiguriert haben, fahren Sie fort, den Salt Minion auf dem Minion1-Server zu konfigurieren. Sie installieren salt-minion und konfigurieren es dann, um eine Verbindung zum Salt Master-Server herzustellen.

Installieren Sie das salt-minion-Paket auf dem Minion1-Server mit dem folgenden Befehl. Geben Sie Y ein, um die Installation zu bestätigen.

sudo apt install salt-minion

install salt-minion

Sobald die Installation abgeschlossen ist, öffnen Sie die Salt Minion-Konfiguration /etc/salt/minion mit dem Nano-Editor-Befehl.

sudo nano /etc/salt/minion

Geben Sie Ihre Salt Master-IP-Adresse in den Master-Parameter wie folgt ein:

master: 192.168.5.15

Speichern Sie die Datei und beenden Sie den Editor.

Führen Sie als Nächstes den folgenden Befehl aus, um den salt-minion-Dienst neu zu starten und Ihre Änderungen anzuwenden.

sudo systemctl restart salt-minion

Überprüfen Sie schließlich den salt-minion-Dienst, um sicherzustellen, dass der Dienst läuft. Der Salt Minion registriert sich automatisch beim Salt Master-Server.

sudo systemctl status salt-minion

Stellen Sie sicher, dass der salt-minion-Dienst wie folgt läuft:

verify salt minion

Hinzufügen des Salt Minion zum Salt Master

Nachdem Sie den Salt Minion konfiguriert haben, müssen Sie den Registrierungs-Schlüssel von den Minion-Servern akzeptieren.

Führen Sie zuerst den folgenden Befehl aus, um die Schlüssel auf dem Master-Server zu überprüfen.

salt-key --finger-all

Wenn alles gut geht, sehen Sie den Schlüssel für den Minion1-Server oder die Salt Minion-Server.

Führen Sie jetzt den folgenden Befehl aus, um den Schlüssel für den Minion1-Server zu akzeptieren. Geben Sie Y ein, um den Schlüssel zu bestätigen und zu akzeptieren.

salt-key -a minion1

Überprüfen Sie als Nächstes erneut die Schlüssel auf dem Minion1-Server. Sie werden den Schlüssel für den Minion1-Server im Abschnitt Akzeptierte Schlüssel sehen.

salt-key --finger-all

accept key

Jetzt können Sie die Verbindung zum Salt Minion-Server mit dem Befehl testen. Sie können den Zielserver mit dem Hostnamen angeben oder das ‘*’ Zeichen verwenden, um alle verfügbaren Salt Minion-Server anzusprechen.

salt minion1 test.ping  
salt * test.ping

Wenn die Verbindung zum Salt Minion erfolgreich ist, sehen Sie die Ausgabe ‘True‘.

Überprüfen Sie schließlich die Salt-Version mit dem folgenden Befehl.

salt minion1 test.version

In diesem Beispiel ist der Salt Minion 3007.0 installiert.

test salt ping and version

Ausführen beliebiger Befehle über SaltStack

Mit allem konfiguriert, werden Sie Ihre SaltStack-Installation testen, indem Sie einen beliebigen Befehl auf dem Minion1-Server vom Master-Server ausführen.

Führen Sie den folgenden Befehl aus, um den Paket-Repository-Index für Minion-Server zu aktualisieren.

salt '*' pkg.refresh_db

Führen Sie jetzt den folgenden Befehl aus, um Paketaktualisierungen auf dem Zielserver anzuzeigen.

salt '*' pkg.list_upgrades

Führen Sie als Nächstes den folgenden Befehl aus, um Informationen über das apache2-Paket anzuzeigen.

salt '*' pkg.show apache2

Um die laufenden Dienste auf dem Minion-Server zu überprüfen, führen Sie den folgenden Befehl aus.

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

Erstellen eines Salt-Zustands für die Installation des LAMP-Stacks

In diesem Abschnitt lernen Sie, wie Sie den ersten SaltState für die Installation des LAMP-Stacks (Apache, MariaDB und PHP) auf dem Minion1-Server erstellen.

Zuerst erstellen Sie ein neues Verzeichnis /srv/salt/lamp mit dem folgenden Befehl.

mkdir -p /srv/salt/lamp

Erstellen Sie jetzt eine neue Salt-Zustands-Init-Datei /srv/salt/lamp/init.sls mit dem folgenden Nano-Editor.

nano /srv/salt/lamp/init.sls

Fügen Sie die folgende Konfiguration in die Datei ein. Damit installieren Sie den LAMP-Stack (Apache, MariaDB und PHP) auf dem Zielserver.

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

Speichern Sie die Datei und beenden Sie den Editor.

Führen Sie jetzt den folgenden Befehl aus, um Ihre Salt-Zustandskonfiguration gegen den Salt Minion zu überprüfen. Stellen Sie sicher, dass Sie keine Fehler haben.

sudo salt * state.show_sls lamp

test salt state

Führen Sie als Nächstes den folgenden Befehl aus, um den Salt-Zustand ‘lamp‘ auf dem Minion1-Server anzuwenden.

sudo salt minion1 state.apply lamp

Wenn der Prozess abgeschlossen ist, erhalten Sie die folgende Ausgabe:

success salt state

Führen Sie schließlich den folgenden Befehl aus, um die Apache- und MariaDB-Dienste auf dem Minion1-Server zu überprüfen.

salt '*' service.get_running

Stellen Sie sicher, dass sowohl die apache2- als auch die mariadb-Dienste laufen.

service status

Fazit

Herzlichen Glückwunsch! Sie haben die Installation von SaltStack (Salt Master und Minion) auf Debian 12-Servern abgeschlossen. Sie haben auch gelernt, wie Sie beliebige Befehle gegen Minion-Server ausführen und den ersten Salt-Zustand für die Installation des LAMP-Stacks (Apache2, MariaDB und PHP) erstellt haben.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.