Duell der Datenbanken: In einem Shootout messen sich MySQL und PostgreSQL. Der Schwerpunkt vom ADMIN 06/2011 überprüft, wer schneller ist und gibt einen ... (mehr)

Jabber-Server installieren

Jetzt fehlt noch ein Server, der das XMPP-Protokoll unterstützt, das vom Instant-Messaging-Dienst Jabber bekannt ist. Die meisten Linux-Distributionen bringen verschiedene Jabber-Server mit. Wir haben uns im Test mit Ejabberd für die von den Archipel-Entwicklern empfohlenen Jabber-Version entschieden, die sich über das Paket-Management installieren lässt:

sudo apt-get install ejabberd

Archipel braucht außerdem das Ejabberd-Modul »mod_admin_extra« , das bei den meisten Distributionen Teil des Ejabberd-Paketes ist. Je nach verwendeter Archipel-Version (< Beta 3) ist außerdem das Modul »ejabberd_xmlrpc« erforderlich. Erfreulicherweise stellen die Archipel-Entwickler auf der Github-Seite eine passende Konfigurationsdatei »/etc/ejabberd/ejabberd.cfg« als Vorlage zur Verfügung. Der Admin muss hierin lediglich den Platzhalter »FQDN« durch den Hostnamen seines Jabber-Servers ersetzen. Hat er die geänderte Konfigurationsdatei »ejabberd.cfg« an die angegebene Position kopiert, kann er den Daemon neu starten:

sudo service ejabberd restart

Vor dem ersten Test braucht der Jabber-Server einen Admin-Benutzer, der sich wie folgt anlegen lässt:

ejabberdctl register admin Hostname Passwort

Ubuntu- oder Debian-Nutzer können Ejabberd wahlweise auch mit »sudo dpkg-reconfigure ejabberd« konfigurieren. Das Dpkg-Skript fragt dann den Hostnamen des Servers und anschließend den gewünschten Admin-Account ab. Ersterer ist als Hostnamen inklusive der Domain anzugeben. Der Host muss also im DNS-System unter diesem Namen bekannt sein. Die im Folgeschritt erfragte Admin-ID ist eine Jabber-ID (JID) mit administrativen Rechten. Der Admin kann diese später unter anderem dazu verwenden, sich über einen beliebigen XMPP-Client unter der URL »http://Hostname:5280/admin« am XMPP-Server anzumelden, also nicht nur am Archipel-Frontend. Ejabberd kennt eine Reihe von Kommandozeilen-Optionen, darunter die oben erwähnten zum Anlegen oder Löschen von Benutzern:

sudo ejabberdctl register Benutzername Servername Passwort

Das Löschen erfolgt analog mit

sudo ejabberdctl unregister Benutzername Servername

Nun fehlt noch der Archipel-Agent auf dem Hypervisor. Im Beispiel haben wir den Client der Einfachheit halber auf dem Hypervisor (Node) installiert. Die weitere Vorgehensweise setzt voraus, dass dieser bereits läuft und installiert ist. Ist das noch nicht der Fall, muss der Admin die notwendigen Voraussetzungen schaffen, was bei einem aktuellen Ubuntu-System 11.04 durch Installieren von KVM und Python meist schnell erledigt ist, denn das Paketmanagement kümmert sich zuverlässig um aufzulösende Paket-Abhängigkeiten.

Der Vollständigkeit halber seit trotzdem erwähnt, was ein Archipel-Agent im Einzelnen braucht: Neben einem Kernel mit KVM-Unterstützung sowie einer CPU mit VT-Erweiterung sind das vor allem möglichst aktuelle Versionen von KVM (0.13), Qemu (0.12.5), Libvirt (0.8.7 oder höher) und Python (2.5 oder höher). Darüber hinaus empfiehlt sich die Installation der Pakete »python-magic« , »python-imaging« und der »python-setuptools« . Außerdem setzt das Archipel-Setup die »libvirt-python-bindings« in Form des Paketes »python-libvirt« voraus.

Zum Installieren des Archipel-Agents kann der Admin zwischen der manuellen Variante auf Basis der Sourcen oder Nightly-Builds und der wesentlich einfacheren und schneller umsetzbaren Variante via Pypi wählen. Für den Produktivbetrieb ist der erste Weg sicher sinnvoll, im Beispiel-Setup haben wir uns für Pypi entschieden. Dazu muss der Admin lediglich das Paket »python-pip« installieren. Pip ist ein alternativer Installer für Python-Pakete von Ian Bicking.

sudo apt-get install python-pip

Ist das geschehen, lässt sich der Archipel-Client direkt von [pypi.python.org] installieren.

sudo easy_install archipel_agent

Mit einem Aufruf »sudo archipel-initinstall« sollte die Installation des Archipel-Agents abgeschlossen sein. Allerdings muss der Administrator noch eine Reihe von Parametern in der Konfigurationsdatei »/etc/archipel/archipel.conf« anpassen, darunter etwa sämtliche XMPP-Einstellungen, damit der Archipel-Agent den Jabber-Server erreichen kann. Eine Beispiel-Konfiguration findet sich unter [15] (Abbildung 5).

Abbildung 5: Eine passende Beispiel-Konfiguration für den Archipel-Agent findet sich im Wiki auf der Archipel-Github-Seite. Im Prinzip ist dabei nur der Name des XMPP-Hosts an die eigene Installation anzupassen.

Die wichtigsten Einstellungen sind im nebenstehenden Kasten "Agenten-Konfiguration" zu finden. Wer die Beta 3 des Achipel-Agents installiert, kann übrigens im Abschnitt »XMPPSERVER« den XMLRPC-Mode aktivieren, was das Verwenden der Shared-Roster-Group-Funktion erlaubt und damit ein mühseliges Installieren des XMPP-Moduls »ejabberd-xmlrpc« für Ejabberd (siehe oben) obsolet macht. Mit dieser Einstellung behandelt Archipel sämtliche Hypervisor-Systeme als Ejabberd-Administratoren:

[XMPPSERVER]
...
use_xmlrpc_api = True

Der Archipel-Agent lässt sich mithilfe des Initskriptes starten:

/etc/init.d/archipel start

oder auch manuell durch Eingabe von »runarchipel« . Wurde der Jabber-Server wie beschrieben aufgesetzt, sollte jetzt die Anmeldung am Archipel-Webclient möglich sein: Mit Jabber-ID und Passwort ist der beim Einrichten des Jabber-Servers angelegte Admin-Account gemeint. Bei »BOSH service« ist der Hostname oder die Adresse des Webservers wie folgt einzutragen: »http://Webserver:5280/http-bind« . Das Interface ergänzt den String aber beim korrekten Eintragen der JID in der Form »admin@Jabber-Server« automatisch (Abbildung 6).

Abbildung 6: Für das Anmelden an dem Web-GUI wird die Jabber ID (JID) des XMPP-Admins benötigt.

Sollte die GUI trotzdem nicht starten, kann der Administrator mit

sudo ejabberdctl connected_users

prüfen, ob sich der Archipel-Agent erfolgreich beim Ejabberd anmelden konnte. Übrigens ist es, wie von den Entwicklern empfohlen, eine gute Idee, in »/etc/archipel/archipel.conf« , für »machine_ip« statt »auto« die tatsächliche IP zu verwenden. Beim Betrieb auf demselben Rechner ist zwingend 127.0.0.1 zu verwenden. Jetzt sollten sich existente KVM- oder Xen VMs an der Archipel-GUI verwalten lassen.

Archipel verwenden

Hat sich der Admin erfolgreich an der Archipel-GUI angemeldet, kann er im Menü »Archipel | Preferences« zunächst die GUI auf Deutsch einstellen und eine Reihe weiterer Parameter anpassen (Abbildung 7).

Abbildung 7: Das Web-GUI ist teilweise bereits deutsch lokalisiert. Weitere Konfigurations-Parameter dafür finden sich im Preferences-Dialog.

Dank Javascript lässt sich die GUI fast wie eine native Anwendung bedienen, es gibt lediglich keine Kontextmenüs. Die deutsche Lokalisierung ist außerdem noch nicht vollständig, was man einer Beta-Version aber nachsehen sollte. Zum Hinzufügen eines Hypervisors muss der Admin wie folgt vorgehen.

Damit der Archipel-Client mit einem Archipel-Agent kommunizieren kann, muss der Admin einen solchen seiner Kontakt-Liste (Roster) auf der linken Seite hinzufügen. Dazu dient das Menü »Kontakte | Kontakt hinzufügen« oder alternativ ein Klick auf das Plus-Symbol links unter der Kontaktliste gefolgt von »Einen Kontakt hinzufügen« . Achtung: Ein Kontakt ist hier kein User, sondern die JID abzufragenden Hypervisors in der Form »myfqdn@myfqdn« , den der Admin durch einen frei wählbaren Nicknamen für die Kontaktliste ergänzen kann. Lässt er den Namen frei, erscheint in der Kontaktliste der Name des Hypervisors. Die Angabe »account@jabberserver« entspricht dem Wert für »hypervisor_xmpp_jid« in »/etc/archipel/archipel.conf« .

In Archipel ist jede virtuelle Maschine eine XMPP-Entity, genau wie ein Hypervisor selbst mit seiner eigenen JID. Um eine virtuelle Maschine zu erzeugen, stellt der Admin durch einen Klick auf »Neue VM« eine entsprechende Anfrage an den gewünschten Hypervisor, der bei Erfolg mit dem Installations-Dialog für eine neue virtuelle Maschine antwortet. Mit den sogenannten Vmcasts bietet Archipel übrigens ein leistungsfähiges XML-Template-System zum Erzeugen virtueller Maschinen (Abbildung 8).

Abbildung 8: Mit sogenannten Vmcasts haben die Archipel-Entwickler ein Template-System für virtuelle Maschinen implementiert.

Ä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 /2021