Chef Server · 9 min read · Nov 09, 2025
Come installare Chef Infra Server su Debian 12

Chef è un potente software di automazione su Debian Linux progettato per gestire e configurare ambienti server su larga scala. Facilita il deployment, la configurazione e la gestione di applicazioni e infrastrutture utilizzando codice, promuovendo i principi dell’infrastruttura come codice (IaC). Chef utilizza un linguaggio specifico del dominio (DSL) scritto in Ruby per definire “ricette” e “libri di cucina” che specificano come i server devono essere configurati. Questo consente agli amministratori di sistema e ai team DevOps di automatizzare compiti ripetitivi, garantire coerenza tra gli ambienti e scalare facilmente l’infrastruttura. Chef supporta un’ampia gamma di risorse e integrazioni, rendendolo uno strumento versatile per gestire ambienti complessi su Debian, Ubuntu Linux e altre piattaforme.
In questo tutorial, ti mostreremo come installare Chef Server e Chef Workstation sui server Debian 12 passo dopo passo.
Prerequisiti
Per completare questa guida, assicurati di avere quanto segue:
- 3 server Debian 12.
- Un utente non root con privilegi di amministratore.
Configurazione di FQDN
In questo primo passaggio, configurerai FQDN (Fully Qualified Domain Name) per il server Chef, la workstation Chef e il client.
Esegui il seguente comando hostnamectl per impostare fqdn per ciascun server.
sudo hostnamectl set-hostname chef.howtoforge.local
sudo hostnamectl set-hostname workstation.howtoforge.local
sudo hostnamectl set-hostname client.howtoforge.localApri il file /etc/hosts su ciascun server utilizzando il seguente comando dell’editor nano.
sudo nano /etc/hostsInserisci la seguente configurazione e assicurati di cambiare l’indirizzo IP dettagliato, il nome host e fqdn con le tue impostazioni.
192.168.5.15 chef.howtoforge.local chef
192.168.5.20 workstation.howtoforge.local workstation
192.168.5.21 client.howtoforge.local clientSalva e chiudi il file quando hai finito.
Ora esegui il comando sottostante per assicurarti che ciascun fqdn punti all’indirizzo IP corretto del server.
sudo hostname -f
ping -c3 chef.howtoforge.local
Sincronizzazione dell’ora tra i server
Dopo aver configurato FQDN, assicurerai che ciascun server abbia l’ora sincronizzata. In questo caso, configurerai il server NTP sul server Chef e configurerai la workstation Chef e il client per connettersi ad esso.
Configurazione di Chrony sul server Chef
Sul server Chef, esegui il seguente comando per aggiornare l’indice dei pacchetti del repository e installare il pacchetto Chrony.
sudo apt update
sudo apt install chrony -y
Una volta installato Chrony, apri il file /etc/chrony/chrony.conf utilizzando il seguente comando dell’editor nano.
sudo nano /etc/chrony/chrony.confInserisci la seguente configurazione per impostare il server NTP predefinito. Assicurati di scegliere la posizione più vicina al tuo server, controlla ntp.org per i dettagli.
Inoltre, configurerai Chrony all’interno del server Chef come server NTP sia per la workstation Chef che per i client.
pool 0.nl.pool.ntp.org iburst
pool 1.nl.pool.ntp.org iburst
pool 2.nl.pool.ntp.org iburst
pool 3.nl.pool.ntp.org iburst
allow 192.168.5.0/24Salva e chiudi il file quando hai finito.
Successivamente, esegui il seguente comando per impostare il fuso orario predefinito e abilitare NTP.
sudo timedatectl set-timezone Europe/Amsterdam
sudo timedatectl set-ntp trueQuindi, riavvia il servizio chrony per applicare le modifiche.
sudo systemctl restart chronyInfine, verifica la sorgente NTP utilizzando il comando sottostante.
chronyc sourcesDovresti ricevere un output simile al seguente:

Sulla workstation Chef e sul client
Ora spostati sulla workstation Chef e sulla macchina client. Quindi, esegui il seguente comando per aggiornare il repository e installare Chrony su entrambi i server.
sudo apt update
sudo apt install chrony -yDopo di che, modifica la configurazione di Chrony /etc/chrony/chrony.conf utilizzando il seguente comando dell’editor nano.
sudo nano /etc/chrony/chrony.confCommenta la sorgente NTP predefinita per disabilitarla, quindi inserisci l’indirizzo IP del server Chef come server NTP come segue.
# default chrony
server 192.168.5.15 iburstSalva e chiudi il file quando hai finito.
Successivamente, esegui il seguente comando per impostare il fuso orario predefinito e abilitare NTP.
sudo timedatectl set-timezone Europe/Amsterdam
sudo timedatectl set-ntp trueQuindi, riavvia il servizio Chrony per applicare le tue modifiche.
sudo systemctl restart chronyInfine, verifica le sorgenti NTP sia sulla workstation Chef che sul client utilizzando il seguente comando.
chronyc sourcesDovresti vedere che la sorgente NTP predefinita sia per la workstation Chef che per il client è il server Chef, che ha un indirizzo IP di 192.168.5.15.

Installazione e configurazione di Chef Server
Ora che hai configurato FQDN e sincronizzato i tempi tra i server, sei pronto per installare Chef. Prima, installerai e configurerai Chef Server.
Chef Server è un ecosistema centrale di Chef che collega ogni parte, quindi devi configurarlo per primo. In questo caso, utilizzeremo un server Chef con 8 GB di RAM.
Installazione di Chef Server tramite DEB
Spostati sul server Chef ed esegui il comando sottostante per scaricare il pacchetto del server Chef. In questo esempio, utilizzerai Chef 15.
VERSION="15.7.0"
wget https://packages.chef.io/files/stable/chef-server/${VERSION}/ubuntu/22.04/chef-server-core_${VERSION}-1_amd64.debOra installa il server Chef tramite il file .deb utilizzando il comando sottostante. L’installazione richiederà alcuni minuti.
sudo apt install ./chef-server-core_*.debUna volta completata l’installazione, dovresti ricevere la conferma ‘ Grazie per aver installato Chef Infra Server ‘.

Successivamente, esegui il comando chef-server-ctl sottostante per riconfigurare la tua installazione di Chef Server.
sudo chef-server-ctl reconfigureQuando richiesto, inserisci Y per confermare la licenza di Chef.

L’inizializzazione del server Chef inizierà. Una volta terminato, dovresti ricevere una conferma come ‘ Chef Infra Server riconfigurato ‘.

Configurazione dell’utente e dell’organizzazione
Ora che hai riconfigurato il server Chef, imposterai l’utente e l’organizzazione sulla tua installazione del server Chef.
Crea una nuova directory ~/.chef utilizzando il seguente comando.
mkdir -p ~/.chefQuindi, crea un nuovo utente Chef utilizzando il seguente comando. In questo esempio, creeremo un nuovo utente alice con password password e il certificato TLS sarà memorizzato in ~/.chef/alice.pem.
sudo chef-server-ctl user-create alice Alice Wonderland [email protected] 'password' --filename ~/.chef/alice.pemOra crea una nuova organizzazione utilizzando il comando sottostante. Assicurati di cambiare i dettagli del nome dell’organizzazione, dell’utente associato e del percorso del certificato TLS.
sudo chef-server-ctl org-create hworgz 'HW Corp, Inc.' --association_user alice --filename ~/.chef/hworgz-validator.pemUna volta terminato tutto, verifica l’elenco degli utenti e delle organizzazioni sul server Chef utilizzando il comando sottostante.
sudo chef-server-ctl user-list
sudo chef-server-ctl org-listSe tutto va bene, dovresti vedere il server Chef con l’utente alice e l’organizzazione hworgz come segue.

Inoltre, puoi anche controllare i certificati TLS generati utilizzando il comando sottostante. Dovresti vedere i certificati alice.pem e hworgz-validator.pem.
ls ~/.chef/A questo punto, hai completato l’installazione del server Chef.
Installazione e configurazione di Chef Workstation
Dopo aver installato il server Chef, installerai la workstation Chef. La workstation Chef è un nodo che gli amministratori/gli utenti utilizzano per creare e testare libri di cucina e ricette.
In questo esempio, installerai la workstation Chef su un server Debian 12 con 2 GB di RAM.
Installazione di Chef Workstation tramite DEB
Spostati sulla workstation Chef ed esegui il comando sottostante per scaricare il pacchetto della workstation Chef utilizzando il comando wget sottostante. In questo caso, installerai Chef Workstation 23.
VERSION="23.7.1042"
wget https://packages.chef.io/files/stable/chef-workstation/${VERSION}/debian/11/chef-workstation_${VERSION}-1_amd64.debUna volta scaricato, esegui il seguente comando per installare il pacchetto della workstation Chef nel tuo sistema.
sudo apt install ./chef-workstation_*.debQuando hai finito, dovresti ricevere la conferma ‘ Grazie per aver installato Chef Workstation ‘.

Infine, esegui il comando sottostante per verificare la versione di Chef.
chef -vIl seguente output conferma che hai installato Chef 23 sul tuo server Debian.

Configurazione della workstation Chef
Ora che hai installato la workstation Chef, configurerai la tua installazione.
Prima, genera una nuova chiave SSH utilizzando il seguente comando. Inserisci quando richiesto per impostare una passphrase per la chiave.
ssh-keygen -t ed25519
Ora esegui il comando sottostante per caricare la chiave sul server Chef chef.howtoforge.local. Questa sarà utilizzata per recuperare i certificati TLS dal server Chef alla workstation.
ssh-copy-id [email protected]Inserisci la tua password quando richiesto.

Successivamente, genera un nuovo repository Chef utilizzando il comando sottostante. In questo esempio, creerai un nuovo repository Chef test-repo.
chef generate repo test-repoOra crea una nuova directory ~/test-repo/.chef e spostati al suo interno.
mkdir ~/test-repo/.chef; cd ~/test-repo/.chefCopia i certificati TLS dal server Chef alla workstation nella directory corrente utilizzando il comando sottostante.
scp [email protected]:~/.chef/*.pem .Una volta terminato, controlla l’elenco dei file all’interno della directory ~/test-repo/.chef.
ls ~/test-repo/.chef/Assicurati che i tuoi certificati TLS siano disponibili sul server della workstation Chef.
Configurazione dell’utilità Knife - Interfaccia per il server Chef
Ora che hai installato la workstation Chef, configurerai Knife sulla tua workstation Chef. Knife è uno strumento da riga di comando per comunicare con il server Chef che ti consente di gestire nodi, libri di cucina, ricette, ruoli e ambienti.
Sulla macchina della workstation Chef, spostati nella directory ~/test-repo/.chef e crea un nuovo file knife.rb utilizzando il seguente comando dell’editor nano.
cd ~/test-repo/.chef
nano knife.rbInserisci il seguente script Ruby e assicurati di cambiare i dettagli dell’utente, delle organizzazioni, dei file del certificato TLS e dell’URL del server Chef.
current_dir = File.dirname(__FILE__)
log_level :info
log_location STDOUT
node_name 'alice'
client_key "alice.pem"
validation_client_name 'hworgz-validator'
validation_key "hworgz-validator.pem"
chef_server_url 'https://chef.howtoforge.local/organizations/hworgz'
cache_type 'BasicFile'
cache_options( :path => "#{ENV['HOME']}/.chef/checksums" )
cookbook_path ["#{current_dir}/../cookbooks"]Salva e chiudi il file quando hai finito.
Ora spostati nella directory ~/test-repo e recupera i certificati dal server Chef utilizzando il comando knife sottostante.
cd ~/test-repo
knife ssl fetchUna volta terminato, dovresti ricevere il seguente output.

D’ora in poi, puoi utilizzare Knife per comunicare con il server Chef e avviare la macchina client.
knife client listBootstraping Client/Nodo dalla workstation Chef
Nella sezione seguente, imparerai come utilizzare Knife per avviare automaticamente il nodo 192.168.5.21 tramite SSH dalla workstation Chef.
Prima, spostati nella directory ~/test-repo/.chef.
cd ~/test-repo/.chefEsegui il comando knife sottostante per avviare il client 192.168.5.21. Assicurati di cambiare l’utente root e la password password con le tue informazioni.
In questo esempio, aggiungerai il nodo 192.168.5.21 e lo chiamerai client.
knife bootstrap 192.168.5.21 -U root -P password --node-name clientInserisci Y per continuare e procedere con il processo.

Una volta terminato, dovresti ricevere la conferma ‘ Fase Infra completata ‘.

Ora verifica l’elenco dei nodi disponibili nell’ambiente Chef utilizzando il comando sottostante. Se tutto va bene, dovresti vedere che il nodo client è disponibile.
knife node listQuindi, verifica i dettagli del nodo client utilizzando il comando knife sottostante.
knife node show clientNell’output seguente, puoi vedere il nodo client macchina Debian 12 con FQDN client.howtoforge.local.

Infine, ora puoi eseguire comandi arbitrari sul nodo client tramite il comando knife sottostante.
knife ssh "client" "whoami;top" -u aliceInserisci la password per l’utente Chef alice quando richiesto. Se il comando ha successo, dovresti ottenere quanto segue.

Conclusione
Congratulazioni! Hai completato l’installazione del server e della workstation Chef sui server Debian 12. Hai anche imparato a utilizzare lo strumento da riga di comando Knife per avviare i nodi client tramite SSH. Ora puoi aggiungere nuovi nodi client e impostare libri di cucina e ricette per installare applicazioni.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.