KVM etabliert sich als Standardlösung zur Virtualisierung unter Linux. Der ADMIN-Schwerpunkt hilft beim Bau virtueller Linux-Maschinen, stellt das ... (mehr)

Paketdienst

Listing 3 definiert gleich zwei Aufgaben: Die erste namens »apacheinstallieren« installiert auf allen Servern den Webserver Apache (»install package« ) und startet ihn (»service ... "start"« ). Dabei ist es vollkommen egal, welche Linux-Distribution mit welchem Paketmanager auf dem Zielsystem läuft. Rex erkennt das System und spielt das Paket automatisch mit den korrekten Befehlen ein.

Listing 3

Rexfile zum Einrichten von Apache

 

Es gibt allerdings eine kleine Stolperfalle: Auf allen Zielsystemen muss das Paket mit dem Webserver »apache2« heißen. Kennt ein Paketmanager es etwa als »apache-2« , führt das zu einer Fehlermeldung. In heterogenen Netzwerkumgebungen kommt man daher meist doch nicht um mehrere Aufgaben für verschiedene Distributionen beziehungsweise Betriebssysteme herum.

Kontrolle ist gut

Die zweite Aufgabe in Listing 3 namens »apache« aktiviert zunächst die zuvor definierte Aufgabe »apacheinstallieren« . Damit stellt sie sicher, dass der Webserver auf jeden Fall ordnungsgemäß installiert ist. Anschließend kopiert sie die Datei »/vorlagen/httpd.conf« auf jeden Server nach »/etc/apache2/httpd.conf« . Sofern sich die Konfigurationsdatei mittlerweile geändert hat (und wirklich nur dann), startet Rex Apache auf dem Server automatisch neu. Dafür sorgt das »on_change« .

Mit diesem Aufgaben-Duo genügt jetzt auf der Kommandozeile ein schlichtes:

rex -H "marvin" apache -p Root-Passwort

um auf dem Rechner »marvin« den Webserver Apache zu installieren und diesem auch gleich noch die angepasste Konfigurationsdatei »/vorlagen/httpd.conf« aufzudrücken. Nach dem gleichen Prinzip hält man auch die Konfigurationen aller anderen Rechner im Netzwerk auf dem aktuellen Stand.

Spätestens in Listing 3 dürfte Perl-Kennern so einiges vertraut vorkommen. Und tatsächlich ist ein Rexfile nichts anderes als ein Perl-Skript. Jeder Task ist eine Funktion, die man in anderen Tasks aufrufen kann – damit erklärt sich auch in Listing 3 der Aufruf »apacheinstallieren();« . Wer die Skriptsprache Perl noch nicht kennt, findet auf der Rex-Homepage eine schnelle Einführung [3]. Die dortigen Informationen reichen zum Schreiben von Rexfiles vollkommen aus, ein Perl-Experte muss man folglich nicht werden.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023