Installazione IT · 7 min read · Oct 27, 2025

Come installare il framework di automazione IT SaltStack su Debian 12

Salt o Saltstack è un framework di automazione IT open-source scritto in Python. Permette agli amministratori di eseguire comandi da remoto su più macchine direttamente.

Salt è progettato con un’architettura Master e Minion. Il master di Salt è il controller centrale della gestione della configurazione di Salt, e i Minion sono i server gestiti dal master di Salt, o puoi chiamarli minion come server target.

Questa guida ti mostrerà come installare SaltStack sui server Debian 12. Ti mostreremo come installare Salt Master e Minion, come eseguire comandi arbitrari tramite Salt e poi creare il primo stato Salt per installare LAMP Stack.

Prerequisiti

Prima di iniziare, assicurati di avere i seguenti:

  • Due o tre server Debian 12 - In questo esempio, utilizzeremo il server master su 192.168.5.15 e il server minion1 su 192.168.5.21.
  • Un utente non root con privilegi di amministratore.

Configurazione del file /etc/hosts

In questa sezione, configurerai il file /etc/hosts in modo che ogni server possa connettersi tramite nome host, il che è più semplice rispetto all’uso di un indirizzo IP.

Apri il file /etc/hosts utilizzando il seguente editor nano.

sudo nano /etc/hosts

Inserisci i dettagli dell’host e l’indirizzo IP nel file. Assicurati di cambiare gli indirizzi IP e i nomi host con le tue informazioni.

192.168.5.15 master  
192.168.5.21 minion1

Salva ed esci dal file quando hai finito.

Aggiunta del repository SaltStack

Dopo aver configurato il file /etc/hosts, devi aggiungere il repository SaltStack a tutti i tuoi server Debian. SaltStack fornisce un repository ufficiale per la maggior parte delle distribuzioni Linux, incluso l’ultimo Debian 12.

Per prima cosa, crea una nuova directory /etc/apt/keyrings utilizzando il comando qui sotto.

mkdir /etc/apt/keyrings

Scarica la chiave GPG per il repository SaltStack con il comando qui sotto.

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

Una volta scaricata la chiave GPG, aggiungi il repository SaltStack utilizzando il seguente comando.

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

Ora aggiorna e aggiorna l’indice dei pacchetti Debian.

sudo apt update

Puoi vedere qui sotto il repository SaltStack aggiunto ai server Debian.

add repo

Configurazione di UFW

In questo esempio, configurerai e abiliterai UFW (Uncomplicated Firewall) sui tuoi server Debian. Quindi installerai UFW, aprirai la porta SSH, quindi avvierai e abiliterai UFW.

Installa UFW sul tuo sistema Debian utilizzando il comando qui sotto.

sudo apt install ufw -y

Una volta installato UFW, esegui il seguente comando per abilitare il profilo dell’applicazione OpenSSH. Vedrai l’output Regole aggiunte.

sudo ufw allow OpenSSH

Ora abilita UFW utilizzando il comando qui sotto. Inserisci y per confermare, avviare e abilitare UFW.

sudo ufw enable

Riceverai un output ‘Firewall is active …‘ una volta che UFW è stato avviato e abilitato.

Installazione di Salt Master

Dopo aver completato i compiti sopra, sei pronto per installare SaltStack. Installerai e configurerai il Salt Master sul server master.

Sul server master, esegui il comando qui sotto per installare il pacchetto salt-master. Inserisci Y per confermare l’installazione.

sudo apt install salt-master

install salt master

Dopo che l’installazione è terminata, apri la configurazione predefinita di Salt Master /etc/salt/master utilizzando il comando dell’editor nano qui sotto.

sudo nano /etc/salt/master

Cambia l’interfaccia predefinita con il tuo indirizzo IP locale. In questo esempio, l’indirizzo IP del server master è 192.168.5.15.

interface: 192.168.5.15

Salva il file ed esci quando hai finito.

Ora esegui il comando qui sotto per riavviare il servizio salt-master e applicare le tue modifiche.

sudo systemctl restart salt-master

Quindi verifica il servizio salt-master per assicurarti che il servizio sia in esecuzione.

sudo systemctl status salt-master

Se è in esecuzione, vedrai un output come active (running).

verify salt master

Successivamente, esegui il comando qui sotto per aprire le porte TCP 4505 e 4506 che il Salt Master utilizzerà.

sudo ufw allow 4505,4506/tcp

Infine, controlla l’elenco delle porte nel tuo server master utilizzando il comando qui sotto. Assicurati che l’accesso alle porte 4505 e 4506 sia consentito.

sudo ufw status

setup ufw

Installazione di Salt Minion

Ora che hai configurato Salt Master, passa a configurare Salt Minion sul server minion1. Installerai salt-minion e poi lo configurerai per connettersi al server Salt Master.

Installa il pacchetto salt-minion sul server minion1 utilizzando il comando qui sotto. Inserisci Y per confermare l’installazione.

sudo apt install salt-minion

install salt-minion

Una volta terminata l’installazione, apri la configurazione di Salt Minion /etc/salt/minion utilizzando il comando dell’editor nano.

sudo nano /etc/salt/minion

Inserisci il tuo indirizzo IP del Salt Master nel parametro master come segue:

master: 192.168.5.15

salva il file ed esci dall’editor.

Successivamente, esegui il comando qui sotto per riavviare il servizio salt-minion e applicare le tue modifiche.

sudo systemctl restart salt-minion

Infine, verifica il servizio salt-minion per assicurarti che il servizio sia in esecuzione. Il Salt Minion si registrerà automaticamente al server Salt Master.

sudo systemctl status salt-minion

Assicurati che il servizio salt-minion sia in esecuzione come segue:

verify salt minion

Aggiunta di Salt Minion a Salt Master

Dopo aver configurato Salt Minion, devi ancora accettare la chiave di registrazione dai server Minion.

Per prima cosa, esegui il comando qui sotto per verificare l’elenco delle chiavi sul server master.

salt-key --finger-all

Se tutto va bene, puoi vedere la chiave per il server minion1 o i server Salt Minion.

Ora esegui il comando qui sotto per accettare la chiave per il server minion1. Inserisci Y per confermare e accettare la chiave.

salt-key -a minion1

Successivamente, verifica di nuovo l’elenco delle chiavi sul server minion1. Vedrai la chiave per il server minion1 elencata nella sezione Accepted Keys.

salt-key --finger-all

accept key

Ora puoi testare la connessione al server Salt Minion utilizzando il comando. puoi specificare il server target con il nome host, oppure puoi usare il carattere ‘*’ per mirare a tutti i server Salt Minion disponibili.

salt minion1 test.ping  
salt * test.ping

Se la connessione al Salt Minion ha successo, vedrai un output ‘True‘.

Infine, verifica la versione di Salt utilizzando il comando qui sotto.

salt minion1 test.version

In questo esempio, il Salt Minion 3007.0 è installato.

test salt ping and version

Esecuzione di comandi arbitrari tramite SaltStack

Con tutto configurato, testerai la tua installazione di SaltStack eseguendo comandi arbitrari sul server minion1 dal server master.

Esegui il comando qui sotto per aggiornare l’indice dei pacchetti del repository per i server Minion.

salt '*' pkg.refresh_db

Ora esegui il comando qui sotto per gli aggiornamenti dei pacchetti sul server target.

salt '*' pkg.list_upgrades

Successivamente, esegui il seguente comando per mostrare informazioni sul pacchetto apache2.

salt '*' pkg.show apache2

Per controllare i servizi in esecuzione sul server Minion, esegui il comando qui sotto.

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

Creazione di uno stato Salt per l’installazione di LAMP Stack

In questa sezione, imparerai come creare il primo SaltState per installare LAMP Stack (Apache, MariaDB e PHP) sul server minion1.

Per prima cosa, crea una nuova directory /srv/salt/lamp utilizzando il comando qui sotto.

mkdir -p /srv/salt/lamp

Ora crea un nuovo file di stato Salt init /srv/salt/lamp/init.sls utilizzando il seguente editor nano.

nano /srv/salt/lamp/init.sls

Aggiungi la configurazione qui sotto al file. Con questo, installerai LAMP Stack (Apache, MariaDB e PHP) sul server target.

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

Salva il file ed esci.

Ora esegui il comando qui sotto per verificare la tua configurazione dello stato Salt contro Salt Minion. Assicurati di non avere errori.

sudo salt * state.show_sls lamp

test salt state

Successivamente, esegui il comando qui sotto per applicare lo stato Salt ‘lamp‘ al server minion1.

sudo salt minion1 state.apply lamp

Quando il processo è completato, riceverai il seguente output:

success salt state

Infine, esegui il comando qui sotto per verificare i servizi Apache e MariaDB sul server minion1.

salt '*' service.get_running

Assicurati che entrambi i servizi apache2 e mariadb siano in esecuzione.

service status

Conclusione

Congratulazioni! Hai completato l’installazione di SaltStack (Salt Master e Minion) sui server Debian 12. Hai anche imparato come eseguire comandi arbitrari contro i server Minion e creato il primo stato Salt per installare LAMP Stack (Apache2, MariaDB e PHP).

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.