Chef Installation · 10 min read · Nov 09, 2025
Comment installer Chef Infra Server sur Debian 12

Chef est un puissant logiciel d’automatisation sur Debian Linux conçu pour gérer et configurer des environnements serveur à grande échelle. Il facilite le déploiement, la configuration et la gestion des applications et de l’infrastructure en utilisant du code, promouvant ainsi les principes de l’infrastructure en tant que code (IaC). Chef utilise un langage spécifique au domaine (DSL) écrit en Ruby pour définir des “recettes” et des “cookbooks” qui spécifient comment les serveurs doivent être configurés. Cela permet aux administrateurs système et aux équipes DevOps d’automatiser des tâches répétitives, d’assurer la cohérence à travers les environnements et de faire évoluer facilement l’infrastructure. Chef prend en charge une large gamme de ressources et d’intégrations, ce qui en fait un outil polyvalent pour gérer des environnements complexes sur Debian, Ubuntu Linux et d’autres plateformes.
Dans ce tutoriel, nous allons vous montrer comment installer Chef Server et Chef Workstation sur des serveurs Debian 12 étape par étape.
Prérequis
Pour compléter ce guide, assurez-vous d’avoir les éléments suivants :
- 3 serveurs Debian 12.
- Un utilisateur non-root avec des privilèges d’administrateur.
Configuration du FQDN
Dans cette première étape, vous allez configurer le FQDN (Fully Qualified Domain Name) pour le serveur Chef, la station de travail Chef et le client.
Exécutez la commande hostnamectl suivante pour configurer le fqdn pour chaque serveur.
sudo hostnamectl set-hostname chef.howtoforge.local
sudo hostnamectl set-hostname workstation.howtoforge.local
sudo hostnamectl set-hostname client.howtoforge.localOuvrez le fichier /etc/hosts sur chaque serveur en utilisant la commande de l’éditeur nano suivante.
sudo nano /etc/hostsInsérez la configuration suivante et assurez-vous de changer l’adresse IP détaillée, le nom d’hôte et le fqdn avec vos paramètres.
192.168.5.15 chef.howtoforge.local chef
192.168.5.20 workstation.howtoforge.local workstation
192.168.5.21 client.howtoforge.local clientEnregistrez et fermez le fichier une fois terminé.
Maintenant, exécutez la commande ci-dessous pour vous assurer que chaque fqdn pointe vers la bonne adresse IP du serveur.
sudo hostname -f
ping -c3 chef.howtoforge.local
Synchronisation de l’heure entre les serveurs
Après avoir configuré le FQDN, vous allez vous assurer que chaque serveur a l’heure synchronisée. Dans ce cas, vous allez configurer le serveur NTP sur le serveur Chef et configurer la station de travail Chef et le client pour se connecter à celui-ci.
Configuration de Chrony sur le serveur Chef
Sur le serveur Chef, exécutez la commande suivante pour mettre à jour l’index des paquets du dépôt et installer le paquet Chrony.
sudo apt update
sudo apt install chrony -y
Une fois que vous avez installé Chrony, ouvrez le fichier /etc/chrony/chrony.conf en utilisant la commande de l’éditeur nano suivante.
sudo nano /etc/chrony/chrony.confInsérez la configuration suivante pour définir le serveur NTP par défaut. Assurez-vous de choisir l’emplacement le plus proche de votre serveur, consultez ntp.org pour plus de détails.
De plus, vous allez configurer Chrony sur le serveur Chef en tant que serveur NTP pour la station de travail Chef et les clients.
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/24Enregistrez et fermez le fichier une fois terminé.
Ensuite, exécutez la commande suivante pour configurer le fuseau horaire par défaut et activer NTP.
sudo timedatectl set-timezone Europe/Amsterdam
sudo timedatectl set-ntp truePuis, redémarrez le service chrony pour appliquer les modifications.
sudo systemctl restart chronyEnfin, vérifiez la source NTP en utilisant la commande ci-dessous.
chronyc sourcesVous devriez recevoir une sortie comme suit :

Sur la station de travail Chef et le client
Maintenant, passez à la station de travail Chef et à la machine cliente. Ensuite, exécutez la commande suivante pour mettre à jour le dépôt et installer Chrony sur les deux serveurs.
sudo apt update
sudo apt install chrony -yAprès cela, modifiez la configuration de Chrony /etc/chrony/chrony.conf en utilisant la commande de l’éditeur nano suivante.
sudo nano /etc/chrony/chrony.confCommentez la source NTP par défaut pour la désactiver, puis saisissez l’adresse IP du serveur Chef comme serveur NTP comme suit.
# chrony par défaut
server 192.168.5.15 iburstEnregistrez et fermez le fichier une fois terminé.
Ensuite, exécutez la commande suivante pour configurer le fuseau horaire par défaut et activer NTP.
sudo timedatectl set-timezone Europe/Amsterdam
sudo timedatectl set-ntp truePuis, redémarrez le service Chrony pour appliquer vos modifications.
sudo systemctl restart chronyEnfin, vérifiez les sources NTP sur la station de travail Chef et le client en utilisant la commande suivante.
chronyc sourcesVous devriez voir que la source NTP par défaut pour la station de travail Chef et le client est le serveur Chef, qui a une adresse IP de 192.168.5.15.

Installation et configuration du serveur Chef
Maintenant que vous avez configuré le FQDN et synchronisé les heures entre les serveurs, vous êtes prêt à installer Chef. Tout d’abord, vous allez installer et configurer le serveur Chef.
Le serveur Chef est un écosystème central Chef qui connecte chaque partie, vous devez donc le configurer en premier. Dans ce cas, nous allons utiliser un serveur Chef avec 8 Go de RAM.
Installation du serveur Chef via DEB
Déplacez-vous vers le serveur Chef et exécutez la commande ci-dessous pour télécharger le paquet du serveur Chef. Dans cet exemple, vous allez utiliser 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.debMaintenant, installez le serveur Chef via le fichier .deb en utilisant la commande ci-dessous. L’installation prendra quelques minutes.
sudo apt install ./chef-server-core_*.debUne fois l’installation terminée, vous devriez obtenir la confirmation ‘Merci d’avoir installé Chef Infra Server‘.

Ensuite, exécutez la commande chef-server-ctl ci-dessous pour reconfigurer votre installation du serveur Chef.
sudo chef-server-ctl reconfigureLorsque vous y êtes invité, saisissez Y pour confirmer la licence Chef.

L’initialisation du serveur Chef va commencer. Une fois terminé, vous devriez obtenir une confirmation telle que ‘Chef Infra Server reconfiguré‘.

Configuration de l’utilisateur et de l’organisation
Maintenant que vous avez reconfiguré le serveur Chef, vous allez configurer un utilisateur et une organisation sur votre installation du serveur Chef.
Créez un nouveau répertoire ~/.chef en utilisant la commande suivante.
mkdir -p ~/.chefEnsuite, créez un nouvel utilisateur Chef en utilisant la commande suivante. Dans cet exemple, nous allons créer un nouvel utilisateur alice avec le mot de passe password et le certificat TLS sera stocké à ~/.chef/alice.pem.
sudo chef-server-ctl user-create alice Alice Wonderland [email protected] 'password' --filename ~/.chef/alice.pemMaintenant, créez une nouvelle organisation en utilisant la commande ci-dessous. Assurez-vous de changer les détails du nom de l’organisation, de l’utilisateur associé et du chemin du certificat TLS.
sudo chef-server-ctl org-create hworgz 'HW Corp, Inc.' --association_user alice --filename ~/.chef/hworgz-validator.pemUne fois tout terminé, vérifiez la liste des utilisateurs et des organisations sur le serveur Chef en utilisant la commande ci-dessous.
sudo chef-server-ctl user-list
sudo chef-server-ctl org-listSi tout se passe bien, vous devriez voir le serveur Chef avec l’utilisateur alice et l’organisation hworgz comme suit.

De plus, vous pouvez également vérifier les certificats TLS générés en utilisant la commande ci-dessous. Vous devriez voir les certificats alice.pem et hworgz-validator.pem.
ls ~/.chef/À ce stade, vous avez terminé l’installation du serveur Chef.
Installation et configuration de la station de travail Chef
Après avoir installé le serveur Chef, vous allez installer la station de travail Chef. La station de travail Chef est un nœud que les administrateurs/utilisateurs utilisent pour créer et tester des cookbooks et des recettes.
Dans cet exemple, vous allez installer la station de travail Chef sur un serveur Debian 12 avec 2 Go de RAM.
Installation de la station de travail Chef via DEB
Déplacez-vous vers la station de travail Chef et exécutez la commande ci-dessous pour télécharger le paquet de la station de travail Chef en utilisant la commande wget ci-dessous. Dans ce cas, vous allez installer Chef Workstation 23.
VERSION="23.7.1042"
wget https://packages.chef.io/files/stable/chef-workstation/${VERSION}/debian/11/chef-workstation_${VERSION}-1_amd64.debUne fois téléchargé, exécutez la commande suivante pour installer le paquet de la station de travail Chef sur votre système.
sudo apt install ./chef-workstation_*.debLorsque c’est terminé, vous devriez obtenir la confirmation ‘Merci d’avoir installé Chef Workstation‘.

Enfin, exécutez la commande ci-dessous pour vérifier la version de Chef.
chef -vLa sortie suivante confirme que vous avez installé Chef 23 sur votre serveur Debian.

Configuration de la station de travail Chef
Maintenant que vous avez installé la station de travail Chef, vous allez configurer votre installation.
Tout d’abord, générez une nouvelle clé SSH en utilisant la commande suivante. Saisissez lorsque vous y êtes invité pour configurer une phrase de passe pour la clé.
ssh-keygen -t ed25519
Maintenant, exécutez la commande ci-dessous pour télécharger la clé sur le serveur Chef chef.howtoforge.local. Cela sera utilisé pour récupérer les certificats TLS du serveur Chef vers la station de travail.
ssh-copy-id [email protected]Saisissez votre mot de passe lorsque vous y êtes invité.

Ensuite, générez un nouveau dépôt Chef en utilisant la commande ci-dessous. Dans cet exemple, vous allez créer un nouveau dépôt Chef test-repo.
chef generate repo test-repoMaintenant, créez un nouveau répertoire ~/test-repo/.chef et déplacez-vous dedans.
mkdir ~/test-repo/.chef; cd ~/test-repo/.chefCopiez les certificats TLS du serveur Chef vers la station de travail dans le répertoire actuel en utilisant la commande ci-dessous.
scp [email protected]:~/.chef/*.pem .Une fois terminé, vérifiez la liste des fichiers dans le répertoire ~/test-repo/.chef.
ls ~/test-repo/.chef/Assurez-vous que vos certificats TLS sont disponibles sur le serveur de la station de travail Chef.
Configuration de l’utilitaire Knife - Interface avec le serveur Chef
Maintenant que vous avez installé la station de travail Chef, vous allez configurer Knife sur votre station de travail Chef. Un knife est un outil en ligne de commande pour communiquer avec le serveur Chef qui vous permet de gérer des nœuds, des cookbooks, des recettes, des rôles et des environnements.
Sur la machine de la station de travail Chef, déplacez-vous vers le répertoire ~/test-repo/.chef et créez un nouveau fichier knife.rb en utilisant la commande de l’éditeur nano suivante.
cd ~/test-repo/.chef
nano knife.rbInsérez le script Ruby suivant et assurez-vous de changer les détails de l’utilisateur, des organisations, des fichiers de certificat TLS et de l’URL du serveur 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"]Enregistrez et fermez le fichier une fois terminé.
Maintenant, déplacez-vous vers le répertoire ~/test-repo et récupérez les certificats du serveur Chef en utilisant la commande knife ci-dessous.
cd ~/test-repo
knife ssl fetchUne fois terminé, vous devriez obtenir la sortie suivante.

Désormais, vous pouvez utiliser le knife pour communiquer avec le serveur Chef et initialiser la machine cliente.
knife client listInitialisation du client/nœud depuis la station de travail Chef
Dans la section suivante, vous apprendrez à utiliser Knife pour initialiser automatiquement le nœud 192.168.5.21 via SSH depuis la station de travail Chef.
Tout d’abord, déplacez-vous vers le répertoire ~/test-repo/.chef.
cd ~/test-repo/.chefExécutez la commande knife ci-dessous pour initialiser le client 192.168.5.21. Assurez-vous de changer l’utilisateur root et le mot de passe password avec vos informations.
Dans cet exemple, vous allez ajouter le nœud 192.168.5.21 et le nommer client.
knife bootstrap 192.168.5.21 -U root -P password --node-name clientSaisissez Y pour continuer et procéder au processus.

Une fois terminé, vous devriez obtenir la confirmation ‘Phase Infra terminée‘.

Maintenant, vérifiez la liste des nœuds disponibles dans l’environnement Chef en utilisant la commande ci-dessous. Si tout se passe bien, vous devriez voir que le nœud client est disponible.
knife node listEnsuite, vérifiez les détails du nœud client en utilisant la commande knife ci-dessous.
knife node show clientDans la sortie suivante, vous pouvez voir le nœud client de la machine Debian 12 avec le FQDN client.howtoforge.local.

Enfin, vous pouvez maintenant exécuter des commandes arbitraires sur le nœud client via la commande knife ci-dessous.
knife ssh "client" "whoami;top" -u aliceSaisissez le mot de passe de l’utilisateur Chef alice lorsque vous y êtes invité. Si la commande réussit, vous devriez obtenir ce qui suit.

Conclusion
Félicitations ! Vous avez maintenant terminé l’installation du serveur Chef et de la station de travail sur des serveurs Debian 12. Vous avez également appris à utiliser l’outil en ligne de commande Knife pour initialiser des nœuds clients via SSH. Maintenant, vous pouvez ajouter de nouveaux nœuds clients et configurer des cookbooks et des recettes pour installer des applications.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.