Technologieführer

Chef-Server auf Ubuntu 17.04 installieren

6 min read DevOps Aktualisiert 08 Oct 2025
Chef-Server auf Ubuntu 17.04 installieren
Chef-Server auf Ubuntu 17.04 installieren

Einführung

Chef ist ein quelloffenes Konfigurationsmanagement-Tool, geschrieben in Ruby und Erlang. Es integriert sich leicht mit Cloud-Plattformen wie AWS, OpenStack oder Rackspace, um Server automatisch zu erstellen und zu verwalten. In größeren Umgebungen mit vielen Nodes ermöglicht Chef zentralisierte Verwaltung über einen Chef-Server, Chef-Workstations und Chef-Nodes.

Kurzdefinition: Node — ein verwalteter Rechner, der von Chef konfiguriert wird.

Wichtig: Ubuntu 17.04 ist keine LTS-Version. Für Produktionsumgebungen sollten Sie eine aktuell unterstützte LTS-Distribution in Betracht ziehen. Das hier gezeigte Paket in den Beispielen enthält einen Verweis auf Ubuntu 16.04; Kompatibilität auf 17.04 kann funktionieren, ist aber nicht garantiert. Prüfen Sie vor dem produktiven Einsatz offizielle Paketquellen.

Voraussetzungen

  • Minimale Installation von Ubuntu 17.04.
  • Root-Rechte (Anleitungen hier ausgeführt als root). Falls Sie als sudo-User arbeiten, führen Sie sudo -i aus.
  • Eine Domain oder öffentliche IP, die auf den Server zeigt.

Update des Basissystems

Aktualisieren Sie Paketlisten und installieren Sie verfügbare Updates:

apt update && apt -y upgrade

Nach Abschluss fahren Sie mit der Konfiguration fort.

Hostname setzen

Chef benötigt einen auflösbaren Hostnamen (FQDN), z. B. chef.ihredomain.de. Setzen Sie den Hostname temporär und dauerhaft:

hostname 'chef.ihredomain.de'

Dauerhaft in /etc/hostname schreiben:

echo "chef.ihredomain.de" | tee /etc/hostname

Fügen Sie die IP-Adresse und den Hostnamen in /etc/hosts ein:

echo "192.168.1.1 chef.ihredomain.de" >> /etc/hosts

Ersetzen Sie 192.168.1.1 durch Ihre öffentliche IP-Adresse.

NTP einrichten

Chef ist empfindlich gegenüber Uhrzeitabweichungen; setzen Sie daher NTP auf allen beteiligten Systemen ein. NTP nutzt UDP-Port 123.

Installation und Start:

apt install ntp
systemctl start ntp
systemctl enable ntp

Überprüfen Sie die Synchronisation:

ntpq -p

Beispielausgabe (gekürzte Anzeige):

root@chef:~# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*chobi.paina.net 131.113.192.40   2 u   26   64   17    1.280   -1.852   1.046

Wichtig: Warten Sie, bis ein Server mit einem Sternchen (*) markiert ist — das zeigt eine aktive Synchronisation an.

Chef herunterladen und installieren

Laden Sie das Chef Server Paket herunter (Beispiel zeigt eine spezifische Version für Ubuntu 16.04):

wget https://packages.chef.io/files/stable/chef-server/12.15.8/ubuntu/16.04/chef-server-core_12.15.8-1_amd64.deb

Hinweis: Besuchen Sie die Chef-Downloadseiten, um die aktuellste, zur Distribution passende Paketversion zu finden. Installieren Sie anschließend:

dpkg -i chef-server-*.deb

Chef ist damit installiert, muss aber noch konfiguriert werden.

Chef konfigurieren

Starten Sie die initiale Konfiguration aller Chef-Server-Komponenten:

chef-server-ctl reconfigure

Der Vorgang kann mehrere Minuten dauern. Am Ende sollten Sie eine Bestätigung wie diese sehen:

Chef Client finished, 491/1096 resources updated in 03 minutes 13 seconds
Chef Server Reconfigured!

Status der Dienste prüfen:

chef-server-ctl status

Beispielausgabe (gekürzt):

run: bookshelf: (pid 6030) 87s; run: log: (pid 6047) 86s
run: nginx: (pid 5859) 91s; run: log: (pid 6387) 82s
run: postgresql: (pid 5718) 93s; run: log: (pid 5745) 92s

Web-Management-Konsole installieren

Die Webkonsole (Chef Manage) ermöglicht grafische Verwaltung von Data Bags, Run-Lists, Rollen, Umgebungen und Cookbooks.

Installieren und konfigurieren:

chef-server-ctl install chef-manage
chef-server-ctl reconfigure
chef-manage-ctl reconfigure

Um die Lizenz automatisch zu akzeptieren:

chef-manage-ctl reconfigure --accept-license

Administrator und Organisation anlegen

Erstellen Sie ein Verzeichnis zum Speichern der RSA-Schlüssel:

mkdir ~/.chef

Administrator anlegen:

chef-server-ctl user-create admin Chef Administrator [email protected] StrongPassword -f ~/.chef/admin.pem

Organisation anlegen:

chef-server-ctl org-create my_org 'My Organization' --association_user admin -f ~/.chef/my_org.pem

Passen Sie Benutzername, Vor-/Nachname, E-Mail, Passwort, Organisationskurzname und Pfade an Ihre Umgebung an.

Webkonsole öffnen

Öffnen Sie im Browser:

http://Your-Server-IP

Oder verwenden Sie Ihren Domainnamen, falls konfiguriert. Sie sollten das Anmeldebildschirm sehen.

Chef-Server Anmeldeseite mit Login-Formular

Melden Sie sich mit dem zuvor erstellten Admin-Account an. Nach dem Login sehen Sie das Dashboard.

Chef-Server Dashboard mit Menü und Kacheln

Optionale Plugins installieren

Reporting installieren:

chef-server-ctl install opscode-reporting
chef-server-ctl reconfigure
opscode-reporting-ctl reconfigure
opscode-reporting-ctl test

Push Jobs installieren:

chef-server-ctl install opscode-push-jobs-server
chef-server-ctl reconfigure
opscode-push-jobs-server-ctl reconfigure

Sicherheits- und Betriebs-Hinweise

Wichtige Empfehlungen für den Betrieb:

  • Verwenden Sie HTTPS für die Webkonsole (nginx ist bereits installiert). Nutzen Sie Zertifikate (z. B. Let’s Encrypt) oder interne PKI.
  • Öffnen Sie nur die benötigten Ports (80/443, 443 für API, SSH für Administration) und beschränken Sie das Management-Netzwerk per Firewall.
  • Sichern Sie die generierten PEM-Schlüssel (z. B. ~/.chef/admin.pem) und limiten Sie deren Zugriffsrechte.
  • Erstellen Sie regelmäßige Backups der Chef-Server-Datenbanken und des Filesystems.

Kompatibilität und Migrationstipps

  • Prüfen Sie vor Installation, ob das Chef Server-Paket für Ihre Ubuntu-Version gebaut wurde. Falls nicht, nutzen Sie eine offiziell unterstützte Distribution oder einen Container.
  • Für produktive Umgebungen sind LTS-Versionen von Ubuntu (z. B. 18.04/20.04) empfehlenswerter.
  • Vor einem Upgrade des Chef Servers: Backup vornehmen, Release-Notes lesen und Upgrade-Pfade testen.

Kriterien bei Abnahme

  • chef-server-ctl status zeigt alle benötigten Dienste als laufend an.
  • Die Webkonsole ist über HTTPS erreichbar und Login funktioniert mit dem erstellten Admin-Account.
  • Eine Organisation und ein Benutzer sind angelegt und die erzeugten PEM-Dateien sind vorhanden.
  • NTP-Synchronisation ist aktiv (ntpq -p zeigt einen Peer mit *).

Schnell-Checks nach der Installation

  • Dienste prüfen: chef-server-ctl status
  • Admin-Keys vorhanden: ls -l ~/.chef
  • Webzugriff testen: curl -I https://chef.ihredomain.de
  • Push Jobs/Reporting: entsprechende ctl test-Kommandos ausführen

Troubleshooting: Häufige Fehler und Lösungen

  • Problem: chef-server-ctl reconfigure läuft lange oder bricht ab.

    • Lösung: Log-Dateien prüfen (/var/log/chef-server/) und Netzwerk/DNS prüfen. Stellen Sie sicher, dass Hostname auflösbar ist.
  • Problem: Webkonsole nicht erreichbar.

    • Lösung: Prüfen Sie nginx-Status (chef-server-ctl status) und Firewall-Einstellungen (ufw/iptables). Überprüfen Sie TLS-Zertifikatkonfiguration.
  • Problem: NTP zeigt keine Synchronisation.

    • Lösung: Prüfen Sie Verbindung zu NTP-Servern, erlauben Sie UDP/123 in der Firewall und starten Sie den ntp-Dienst neu.

Rollback und Notfallmaßnahmen

Wenn die Installation scheitert oder inkonsistent ist:

  1. Stoppen Sie die Chef-Dienste: chef-server-ctl stop
  2. Sichern Sie Konfigurationsdateien und Datenbanken (PostgreSQL, bookshelf).
  3. Entfernen Sie das Paket nur, wenn Sie ein sauberes Reinstallationsszenario planen: dpkg -r chef-server-core
  4. Stellen Sie aus Backup wieder her oder installieren Sie eine funktionierende Paketversion.

Hinweis: Ein vollständiges Rollback erfordert oft die Wiederherstellung aus einem vorherigen Backup.

Rollenbasierte Checkliste

Systemadministrator:

  • Hostname setzen und DNS überprüfen
  • NTP konfigurieren
  • Firewall-Regeln setzen

DevOps Engineer:

  • Chef Manage und Reporting installieren
  • Organisation und Nutzer anlegen
  • Workstation für knife konfigurieren (SSH/PEM)

Security Officer:

  • TLS für Webkonsole prüfen
  • PEM-Dateien sicher ablegen
  • Zugriffsrechte und Audit-Logs konfigurieren

Kurze Testfälle zur Abnahme

  • Login mit Admin-Account klappt.
  • Ein Beispiel-Cookbook hochladen und einer Test-Node zuweisen.
  • Reporting zeigt mindestens einen Eintrag nach Chef-Client-Lauf.

Glossar (kurz)

  • Chef-Server: Zentrale Komponente, die Konfigurationen und Informationen verwaltet.
  • Workstation: Entwickler- oder Admin-Computer mit Werkzeugen wie knife.
  • Node: Zielsystem, das vom Chef-Server konfiguriert wird.

Weitere Ressourcen

Besuchen Sie die offiziellen Chef-Dokumentationen und Release-Notes, um aktuelle Pakete und Sicherheitsinformationen zu erhalten.

Zusammenfassung

Dieses Tutorial führte Sie durch die Installation und Grundkonfiguration eines Chef-Servers auf Ubuntu 17.04. Es behandelt System-Updates, Hostname, NTP, Paketinstallation, Reconfiguration, Webkonsole, Admin-/Organisationsanlage, optionale Plugins, Sicherheits- und Troubleshooting-Tipps sowie Checklisten für Abnahme und Betrieb. Für produktive Umgebungen prüfen Sie die Kompatibilität mit Ihrer Distribution und bevorzugen unterstützte LTS-Versionen.

Wichtiger Hinweis: Verwenden Sie in Produktionsumgebungen stets unterstützte Betriebssystemversionen und halten Sie Backups und Sicherheitsmaßnahmen aktuell.

Autor
Redaktion

Ähnliche Materialien

Podman auf Debian 11 installieren und nutzen
DevOps

Podman auf Debian 11 installieren und nutzen

Apt-Pinning: Kurze Einführung für Debian
Systemadministration

Apt-Pinning: Kurze Einführung für Debian

FSR 4 in jedem Spiel mit OptiScaler
Grafikkarten

FSR 4 in jedem Spiel mit OptiScaler

DansGuardian + Squid (NTLM) auf Debian Etch installieren
Netzwerk

DansGuardian + Squid (NTLM) auf Debian Etch installieren

App-Installationsfehler auf SD-Karte (Error -18) beheben
Android

App-Installationsfehler auf SD-Karte (Error -18) beheben

Netzwerkordner mit KNetAttach in KDE
Linux Netzwerk

Netzwerkordner mit KNetAttach in KDE