Chef Installation · 9 min read · Nov 09, 2025
Wie man Chef Infra Server auf Debian 12 installiert

Chef ist eine leistungsstarke Automatisierungssoftware auf Debian Linux, die für die Verwaltung und Konfiguration von Serverumgebungen in großem Maßstab entwickelt wurde. Es erleichtert die Bereitstellung, Konfiguration und Verwaltung von Anwendungen und Infrastruktur durch die Verwendung von Code und fördert die Prinzipien der Infrastruktur als Code (IaC). Chef verwendet eine domänenspezifische Sprache (DSL), die in Ruby geschrieben ist, um “Rezepte” und “Kochbücher” zu definieren, die angeben, wie Server konfiguriert werden sollen. Dies ermöglicht Systemadministratoren und DevOps-Teams, sich wiederholende Aufgaben zu automatisieren, Konsistenz über Umgebungen hinweg sicherzustellen und die Infrastruktur problemlos zu skalieren. Chef unterstützt eine Vielzahl von Ressourcen und Integrationen und ist somit ein vielseitiges Werkzeug zur Verwaltung komplexer Umgebungen auf Debian, Ubuntu Linux und anderen Plattformen.
In diesem Tutorial zeigen wir Ihnen, wie Sie Chef Server und Chef Workstation auf Debian 12-Servern Schritt für Schritt installieren.
Voraussetzungen
Um diese Anleitung abzuschließen, stellen Sie sicher, dass Sie Folgendes haben:
- 3 Debian 12-Server.
- Einen Nicht-Root-Benutzer mit Administratorrechten.
FQDN einrichten
In diesem ersten Schritt konfigurieren Sie den FQDN (Fully Qualified Domain Name) für den Chef-Server, die Chef-Workstation und den Client.
Führen Sie den folgenden hostnamectl-Befehl aus, um den fqdn für jeden Server einzurichten.
sudo hostnamectl set-hostname chef.howtoforge.local
sudo hostnamectl set-hostname workstation.howtoforge.local
sudo hostnamectl set-hostname client.howtoforge.localÖffnen Sie die /etc/hosts-Datei auf jedem Server mit dem folgenden nano-Editor-Befehl.
sudo nano /etc/hostsFügen Sie die folgende Konfiguration ein und stellen Sie sicher, dass Sie die detaillierte IP-Adresse, den Hostnamen und den fqdn mit Ihren Einstellungen ändern.
192.168.5.15 chef.howtoforge.local chef
192.168.5.20 workstation.howtoforge.local workstation
192.168.5.21 client.howtoforge.local clientSpeichern und schließen Sie die Datei, wenn Sie fertig sind.
Führen Sie nun den folgenden Befehl aus, um sicherzustellen, dass jeder fqdn auf die richtige IP-Adresse des Servers verweist.
sudo hostname -f
ping -c3 chef.howtoforge.local
Zeit zwischen Servern synchronisieren
Nachdem Sie den FQDN konfiguriert haben, stellen Sie sicher, dass jeder Server die Zeit synchronisiert hat. In diesem Fall richten Sie den NTP-Server auf dem Chef-Server ein und konfigurieren die Chef-Workstation und den Client, um sich damit zu verbinden.
Chrony auf dem Chef-Server einrichten
Führen Sie auf dem Chef-Server den folgenden Befehl aus, um das Repository-Paket-Index zu aktualisieren und das Chrony-Paket zu installieren.
sudo apt update
sudo apt install chrony -y
Nachdem Sie Chrony installiert haben, öffnen Sie die Datei /etc/chrony/chrony.conf mit dem folgenden nano-Editor-Befehl.
sudo nano /etc/chrony/chrony.confFügen Sie die folgende Konfiguration hinzu, um den Standard-NTP-Server festzulegen. Stellen Sie sicher, dass Sie den nächstgelegenen Standort Ihres Servers auswählen, überprüfen Sie ntp.org für Details.
Außerdem konfigurieren Sie Chrony innerhalb des Chef-Servers als NTP-Server für sowohl die Chef-Workstation als auch die 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/24Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Führen Sie als Nächstes den folgenden Befehl aus, um die Standardzeitzone festzulegen und NTP zu aktivieren.
sudo timedatectl set-timezone Europe/Amsterdam
sudo timedatectl set-ntp trueStarten Sie dann den Chrony-Dienst neu, um die Änderungen anzuwenden.
sudo systemctl restart chronyÜberprüfen Sie schließlich die NTP-Quelle mit dem folgenden Befehl.
chronyc sourcesSie sollten eine Ausgabe wie die folgende erhalten:

Auf Chef-Workstation und Client
Wechseln Sie nun zur Chef-Workstation und zur Client-Maschine. Führen Sie dann den folgenden Befehl aus, um das Repository zu aktualisieren und Chrony auf beiden Servern zu installieren.
sudo apt update
sudo apt install chrony -yÄndern Sie danach die Chrony-Konfiguration /etc/chrony/chrony.conf mit dem folgenden nano-Editor-Befehl.
sudo nano /etc/chrony/chrony.confKommentieren Sie die Standard-NTP-Quelle aus, um sie zu deaktivieren, und geben Sie dann die IP-Adresse des Chef-Servers als NTP-Server wie folgt ein.
# default chrony
server 192.168.5.15 iburstSpeichern und schließen Sie die Datei, wenn Sie fertig sind.
Führen Sie als Nächstes den folgenden Befehl aus, um die Standardzeitzone festzulegen und NTP zu aktivieren.
sudo timedatectl set-timezone Europe/Amsterdam
sudo timedatectl set-ntp trueStarten Sie dann den Chrony-Dienst neu, um Ihre Änderungen anzuwenden.
sudo systemctl restart chronyÜberprüfen Sie schließlich die NTP-Quellen sowohl auf der Chef-Workstation als auch auf dem Client mit dem folgenden Befehl.
chronyc sourcesSie sollten sehen, dass die Standard-NTP-Quelle sowohl für die Chef-Workstation als auch für den Client der Chef-Server ist, der die IP-Adresse 192.168.5.15 hat.

Chef Server installieren und konfigurieren
Nachdem Sie den FQDN konfiguriert und die Zeiten zwischen den Servern synchronisiert haben, sind Sie bereit, Chef zu installieren. Zuerst installieren und konfigurieren Sie den Chef-Server.
Der Chef-Server ist ein zentrales Chef-Ökosystem, das jedes Teil verbindet, daher müssen Sie ihn zuerst konfigurieren. In diesem Fall verwenden wir einen Chef-Server mit 8 GB RAM.
Chef Server über DEB installieren
Wechseln Sie zum Chef-Server und führen Sie den folgenden Befehl aus, um das Chef-Server-Paket herunterzuladen. In diesem Beispiel verwenden Sie 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.debInstallieren Sie nun den Chef-Server über die .deb-Datei mit dem folgenden Befehl. Die Installation dauert einige Minuten.
sudo apt install ./chef-server-core_*.debSobald die Installation abgeschlossen ist, sollten Sie die Bestätigung ‘ Danke für die Installation von Chef Infra Server ‘ erhalten.

Führen Sie als Nächstes den Befehl chef-server-ctl aus, um Ihre Chef-Server-Installation neu zu konfigurieren.
sudo chef-server-ctl reconfigureWenn Sie gefragt werden, geben Sie Y ein, um die Chef-Lizenz zu bestätigen.

Die Initialisierung des Chef-Servers beginnt. Sobald dies abgeschlossen ist, sollten Sie eine Bestätigung wie ‘ Chef Infra Server neu konfiguriert ‘ erhalten.

Benutzer und Organisation konfigurieren
Nachdem Sie den Chef-Server neu konfiguriert haben, richten Sie Benutzer und Organisation in Ihrer Chef-Server-Installation ein.
Erstellen Sie ein neues Verzeichnis ~/.chef mit dem folgenden Befehl.
mkdir -p ~/.chefErstellen Sie dann einen neuen Chef-Benutzer mit dem folgenden Befehl. In diesem Beispiel erstellen wir einen neuen Benutzer alice mit dem Passwort password, und das TLS-Zertifikat wird unter ~/.chef/alice.pem gespeichert.
sudo chef-server-ctl user-create alice Alice Wonderland [email protected] 'password' --filename ~/.chef/alice.pemErstellen Sie nun eine neue Organisation mit dem folgenden Befehl. Stellen Sie sicher, dass Sie die Details des Organisationsnamens, des zugehörigen Benutzers und des Pfads des TLS-Zertifikats ändern.
sudo chef-server-ctl org-create hworgz 'HW Corp, Inc.' --association_user alice --filename ~/.chef/hworgz-validator.pemSobald alles abgeschlossen ist, überprüfen Sie die Liste der Benutzer und Organisationen auf dem Chef-Server mit dem folgenden Befehl.
sudo chef-server-ctl user-list
sudo chef-server-ctl org-listWenn alles gut geht, sollten Sie den Chef-Server mit dem Benutzer alice und der Organisation hworgz wie folgt sehen.

Zusätzlich können Sie auch die generierten TLS-Zertifikate mit dem folgenden Befehl überprüfen. Sie sollten die Zertifikate alice.pem und hworgz-validator.pem sehen.
ls ~/.chef/An diesem Punkt haben Sie die Installation des Chef-Servers abgeschlossen.
Chef Workstation installieren und konfigurieren
Nachdem Sie den Chef-Server installiert haben, installieren Sie die Chef-Workstation. Die Chef-Workstation ist ein Knoten, den Administratoren/Benutzer verwenden, um Kochbücher und Rezepte zu erstellen und zu testen.
In diesem Beispiel installieren Sie die Chef-Workstation auf einem Debian 12-Server mit 2 GB RAM.
Chef Workstation über DEB installieren
Wechseln Sie zur Chef-Workstation und führen Sie den folgenden Befehl aus, um das Chef-Workstation-Paket mit dem wget-Befehl herunterzuladen. In diesem Fall installieren Sie Chef Workstation 23.
VERSION="23.7.1042"
wget https://packages.chef.io/files/stable/chef-workstation/${VERSION}/debian/11/chef-workstation_${VERSION}-1_amd64.debSobald der Download abgeschlossen ist, führen Sie den folgenden Befehl aus, um das Chef-Workstation-Paket auf Ihrem System zu installieren.
sudo apt install ./chef-workstation_*.debWenn Sie fertig sind, sollten Sie die Bestätigung ‘ Danke für die Installation von Chef Workstation ‘ erhalten.

Führen Sie schließlich den folgenden Befehl aus, um die Chef-Version zu überprüfen.
chef -vDie folgende Ausgabe bestätigt, dass Sie Chef 23 auf Ihrem Debian-Server installiert haben.

Chef Workstation konfigurieren
Nachdem Sie die Chef-Workstation installiert haben, konfigurieren Sie Ihre Installation als Nächstes.
Zuerst generieren Sie einen neuen SSH-Schlüssel mit dem folgenden Befehl. Geben Sie bei Aufforderung ein, um eine Passphrase für den Schlüssel festzulegen.
ssh-keygen -t ed25519
Führen Sie nun den folgenden Befehl aus, um den Schlüssel auf den Chef-Server chef.howtoforge.local hochzuladen. Dies wird verwendet, um TLS-Zertifikate vom Chef-Server zur Workstation abzurufen.
ssh-copy-id [email protected]Geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.

Generieren Sie als Nächstes ein neues Chef-Repo mit dem folgenden Befehl. In diesem Beispiel erstellen Sie ein neues Chef-Repo test-repo.
chef generate repo test-repoErstellen Sie nun ein neues Verzeichnis ~/test-repo/.chef und wechseln Sie in dieses Verzeichnis.
mkdir ~/test-repo/.chef; cd ~/test-repo/.chefKopieren Sie die TLS-Zertifikate vom Chef-Server zur Workstation in das aktuelle Verzeichnis mit dem folgenden Befehl.
scp [email protected]:~/.chef/*.pem .Sobald Sie fertig sind, überprüfen Sie die Liste der Dateien im ~/test-repo/.chef-Verzeichnis.
ls ~/test-repo/.chef/Stellen Sie sicher, dass Ihre TLS-Zertifikate auf dem Chef-Workstation-Server verfügbar sind.
Knife Utility konfigurieren - Schnittstelle zum Chef-Server
Nachdem Sie die Chef-Workstation installiert haben, konfigurieren Sie Knife auf Ihrer Chef-Workstation. Ein Knife ist ein Befehlszeilenwerkzeug zur Kommunikation mit dem Chef-Server, mit dem Sie Knoten, Kochbücher, Rezepte, Rollen und Umgebungen verwalten können.
Wechseln Sie auf der Chef-Workstation-Maschine in das Verzeichnis ~/test-repo/.chef und erstellen Sie eine neue Datei knife.rb mit dem folgenden nano-Editor-Befehl.
cd ~/test-repo/.chef
nano knife.rbFügen Sie das folgende Ruby-Skript ein und stellen Sie sicher, dass Sie die Details des Benutzers, der Organisationen, der TLS-Zertifikatdateien und der Chef-Server-URL ändern.
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"]Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Wechseln Sie nun in das Verzeichnis ~/test-repo und rufen Sie Zertifikate vom Chef-Server mit dem folgenden Knife-Befehl ab.
cd ~/test-repo
knife ssl fetchSobald Sie fertig sind, sollten Sie die folgende Ausgabe erhalten.

Von nun an können Sie das Knife verwenden, um mit dem Chef-Server zu kommunizieren und die Client-Maschine zu bootstrappen.
knife client listClient/Node von der Chef-Workstation bootstrappen
Im folgenden Abschnitt lernen Sie, wie Sie Knife verwenden, um den Knoten 192.168.5.21 automatisch über SSH von der Chef-Workstation aus zu bootstrappen.
Wechseln Sie zuerst in das Verzeichnis ~/test-repo/.chef.
cd ~/test-repo/.chefFühren Sie den Knife-Befehl aus, um den Client 192.168.5.21 zu bootstrappen. Stellen Sie sicher, dass Sie den Benutzer root und das Passwort password mit Ihren Informationen ändern.
In diesem Beispiel fügen Sie den Knoten 192.168.5.21 hinzu und benennen ihn als client.
knife bootstrap 192.168.5.21 -U root -P password --node-name clientGeben Sie Y ein, um fortzufahren und den Prozess zu starten.

Sobald dies abgeschlossen ist, sollten Sie die Bestätigung ‘ Infra Phase abgeschlossen ‘ erhalten.

Überprüfen Sie nun die Liste der verfügbaren Knoten in der Chef-Umgebung mit dem folgenden Befehl. Wenn alles gut geht, sollten Sie sehen, dass der Client-Knoten verfügbar ist.
knife node listÜberprüfen Sie dann die Details des Client-Knotens mit dem folgenden Knife-Befehl.
knife node show clientIn der folgenden Ausgabe sehen Sie den Client-Knoten Debian 12-Maschine mit FQDN client.howtoforge.local.

Zuletzt können Sie jetzt beliebige Befehle auf dem Client-Knoten über den folgenden Knife-Befehl ausführen.
knife ssh "client" "whoami;top" -u aliceGeben Sie das Passwort für den Chef-Benutzer alice ein, wenn Sie dazu aufgefordert werden. Wenn der Befehl erfolgreich ist, sollten Sie Folgendes erhalten.

Fazit
Herzlichen Glückwunsch! Sie haben nun die Installation des Chef-Servers und der Workstation auf Debian 12-Servern abgeschlossen. Sie haben auch gelernt, das Knife-Befehlszeilenwerkzeug zu verwenden, um Client-Knoten über SSH zu bootstrappen. Jetzt können Sie neue Client-Knoten hinzufügen und Kochbücher und Rezepte für die Installation von Anwendungen einrichten.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.