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

Einstellungen-Icon im Startmenü wiederherstellen
Windows Hilfe

Einstellungen-Icon im Startmenü wiederherstellen

Scrollleisten in Windows 10 & 11 anpassen
Windows

Scrollleisten in Windows 10 & 11 anpassen

Automatische Sicherheitsupdates für Ubuntu 16.04
Systemadministration

Automatische Sicherheitsupdates für Ubuntu 16.04

Android-App-Berechtigungen einschränken
Android-Anleitungen

Android-App-Berechtigungen einschränken

Chef-Server auf Ubuntu 17.04 installieren
DevOps

Chef-Server auf Ubuntu 17.04 installieren

Microsoft Teams Fehler 500 beheben — 9 Lösungen
Fehlerbehebung

Microsoft Teams Fehler 500 beheben — 9 Lösungen