RU | EN | DE

Schritt 1. OS installieren und wichtiger Hostname-Hinweis 🏷️

Ubuntu-Installation starten (wichtig: Version 22.04). Der Prozess ist standard, aber es gibt einen kritischen Moment:

  • Im Menü, wo Server name (Hostname) einzugeben ist: 👉 Eingeben: puppet
  • Username: user (oder wie es beliebt). SSH installieren:
sudo apt install openssh-server

Schritt 2. Vorbereitung (In der Konsole) 🛠️

Sobald der Server installiert und neu gestartet ist:

  1. Per SSH verbinden (PowerShell vom echten PC): ssh user@IP-ADRESSE
  2. Puppet ist sehr empfindlich gegenüber genauer Zeit (wegen Sicherheitszertifikaten). Zeit prüfen:
date
  1. System vor dem Start aktualisieren:
sudo apt update && sudo apt upgrade -y

Name ändern, wenn ein anderer gewählt wurde:

sudo hostnamectl set-hostname puppet

Hosts-Datei korrigieren (PFLICHT!) ⚠️ Wenn dieser Schritt übersprungen wird, beginnt der Befehl sudo zu “hängen” (lange Denkzeit) und Puppet kann sich nicht selbst verbinden.

  1. Hosts-Datei öffnen:
sudo nano /etc/hosts
  1. Die Zeile finden, die mit 127.0.1.1 (oder 127.0.0.1) beginnt. Dort steht der alte Name.
  2. Den alten Namen durch puppet ersetzen.
    • Beispiel: 127.0.1.1 puppet
  3. Speichern: Ctrl+O Enter Ctrl+X.

Neustart:

sudo reboot

Schritt 3. Puppet 8 Repository einbinden 📦

In den Standard-Ubuntu-Repositories ist Puppet meist sehr alt. Wir brauchen Version 8 (Platform 8) — das ist der aktuelle Industriestandard.

Befehle der Reihe nach ausführen:

  1. Repository-Paket herunterladen:
wget https://apt.puppet.com/puppet8-release-noble.deb

(Wenn “Command not found” erscheint, wget installieren: sudo apt install wget). 2. Installieren:

sudo dpkg -i puppet8-release-noble.deb
  1. Paketlisten aktualisieren (damit das System neue Software sieht):
sudo apt update

Schritt 4. Puppetserver installieren 🎭

Jetzt den Server selbst installieren. Das ist das “Gehirn” der gesamten Konfiguration.

sudo apt install puppetserver -y

Er zieht Java und viele Bibliotheken. Das dauert ein paar Minuten.

Schritt 5. Speicher konfigurieren (Java) 🧠

Standardmäßig will Puppet Server 2 GB RAM beanspruchen (Java Heap). Da wir der VM 4 GB zugeteilt haben, passen die Standardeinstellungen perfekt. Werfen wir aber einen Blick in die Konfiguration, damit du weißt, wo du das künftig änderst (z.B. wenn der Server abstürzt):

  1. Einstellungsdatei öffnen:
sudo nano /etc/default/puppetserver
  1. Zeile finden: JAVA_ARGS="-Xms2g -Xmx2g ..."
  2. Sicherstellen, dass dort 2g (2 Gigabyte) steht. Falls die VM weniger Speicher bekommt, hier auf 1g ändern.
  3. Beenden (Ctrl+X), ohne etwas zu ändern.

Schritt 6. Erster Start (Dauert!) ⏳

Der wichtigste Moment. Der erste Start ist schwer, da der Server kryptografische Schlüssel und Zertifikate (CA) generiert.

  1. Starten:
sudo systemctl start puppetserver

⚠️ Achtung: Der Befehl kann eine Minute oder zwei “hängen”. Nicht abbrechen! Das ist normal. 2. Autostart aktivieren:

sudo systemctl enable puppetserver
  1. Status prüfen:
sudo systemctl status puppetserver

Sollte grün aufleuchten: active (running).

Schritt 7. Erreichbarkeit prüfen 📡

Puppet läuft auf Port 8140. Prüfen, ob er ihn abhört.

ss -tulpn | grep 8140

Wenn eine Zeile mit :::8140 und java erscheint — Herzlichen Glückwunsch! Dein Puppet Master lebt und wartet auf Befehle.

Schritt 8. Konfigurationsdatei ansehen 📡

sudo nano /etc/default/puppetserver

Schritt 9. Zugriffsrechte reparieren 🔑

Diesen Befehl eingeben, um alle Puppet-Ordner dem richtigen Besitzer zu übergeben:

sudo chown -R puppet:puppet /etc/puppetlabs /var/log/puppetlabs /var/run/puppetlabs /opt/puppetlabs/server/data/puppetserver

Schritt 10. Server neu starten 🔄

Jetzt, wo die Rechte stimmen, kann er Schlüssel erstellen.

sudo systemctl restart puppetserver

Eine Minute warten und Status prüfen:

sudo systemctl status puppetserver

Pfade eintragen:

echo 'export PATH=$PATH:/opt/puppetlabs/bin:/opt/puppetlabs/puppet/bin' >> ~/.bashrc

Änderungen anwenden:

source ~/.bashrc

Version prüfen:

puppet --version

Server prüfen:

sudo puppet agent -t

Schritt 11. /etc/hosts auf dem Puppet Server korrigieren 🛠️

Der Server muss wissen, dass er selbst — das ist 192.168.0.14.

  1. Per SSH zu Puppet verbinden (wie schon gemacht).
  2. Hosts-Datei öffnen:
sudo nano /etc/hosts
  1. Seine interne Adresse eintragen:
192.168.0.14    puppet  puppet.local
  1. Speichern (Ctrl+O, Enter, Ctrl+X). Jetzt weiß der Server: “Ich bin puppet, meine Adresse ist 192.168.0.14”.