Brainfact.de All about IT

10Jan/151

Angetestet: Jabber/XMPP Server Dienste

In letzter Zeit habe ich mich recht viel mit der Installation und Konfiguration verschiedener Jabber Server auseinander gesetzt. Ausgangslage war mein Test vServer welcher unter OpenSuse13.1 läuft. Angesehen habe ich mir Jabberd2, eJabberd und prosody. Meine Erfahrungen und Eindrücke über die einzelnen Programme würde ich euch gerne schildern:

Jabberd2

Jabberd2 ist der "Nachfolger" des in die Jahre gekommenen Jabberd14, dieser war bereits auch schon in C und C++ geschrieben und kam sehr oft zum Einsatz. Bei Jabberd2 wurde der Quelltext komplett neugeschrieben.

Die Installation von Jabberd2 hat sich relativ einfach gestaltet nachdem alle Abhängigkeiten erfüllt waren lies sich die Software problemlos Kompilieren, schon bei diesem Vorgang muss festgelegt sein in welcher Art man seine Benutzer verwalten möchte. Dabei stehen mehrere Datenbank Formate zur Auswahl (MySQL; PSQL, SQLite,..), ich habe mich zum Test aus die im Tutorial empfohlene BerkeleyDB entschieden. Da ich das Paket selbst Kompiliert habe musste ich nach der Installation in den Konfigurationsdateien mehrere Pfade und Datei Berechtigungen anpassen damit der Dienst starten konnte. Die Config ist hier über mehrere Dateien verteilt, aber dennoch gut strukturiert und dokumentiert. Allgemein sind in der Dokumentation einige Szenarien und Konfigurationsbeispiele abgebildet die eine Einrichtung erleichtern. Nach der Ersteinrichtung kam der Dienst problemlos hoch und eine Registrierung war möglich. In der Gesamtsicht ist zusagen das Jaberd2 einen gewachsenen und modularen Eindruck verschafft. Es gibt diverse Module die sich Nachinstallieren lassen und das System ist in mehrere unter Module verschachtelt. Leider scheint die Entwicklung nicht all zu aktiv zu sein, ein Blick in die letzten commits auf Github verrät das es schleppend voran geht und nur vereinzelt Entwickler daran arbeiten.

 

eJabberd

Der in Erlang geschriebene Deamon ejabberd wird scheinbar oft in größeren und gewachsenen Strukturen eingesetzt. Es wird Ihm nachgesagt einer der stabilsten Jabber Server zu sein, jedoch strukturell etwas veraltet zu sein. Bei Installation und durchsicht der Konfiguration spiegelte sich die gewachsene Struktur ebenfalls wieder. Auch hier gibt es die möglichkeiten verschiedenste Datenbanken anzubinden und Module einzubinden. Ein Blick ins Commitlog auf github verrät auch das an der Software aktiv entwickelt wird und das regelmäßig Updates erscheinen.

Ich muss jedoch gestehen das ich das ganze nicht ans laufen bekommen habe da ich unter OpenSUSE ein paar Probleme mit Erlang hatte und nach mehreren Stunden bastellei aufgegeben hatte. Wer jedoch eine größere Infrastruktur für XMPP betreiben möchte sollte sich jedoch ejabberd genauer anschauen und es mit in Betracht ziehen 😉

 

Prosody

Prosody war von den 3 genannten Servern am leichtesten einzurichten. Nach kurzer Installation mussten nur SSL Zertifikat, admin Nutzer und Domain Name in der Konfiguration hinterlegt werden und es konnte los gechattet werden.Prosody unterstützt die in Verbidung mit XMPP genutzten Protokolle wie zum Beispiel die Remote Administration etc. . Auch wird ein breites Spektrum an Konfigurationsmöglichkeiten geboten. Auch die Entwicklung von Prosody wird aktiv weiter betrieben. Leider kann ich zur Performance hier wenig Aussage geben da ich kaum Erfahrungen mit LUA habe und das ganze bis jetzt nur mit einem User testen konnte. Aus meinem Bekanntenkreis habe ich jedoch Erfahrungsberichte gehört das der Server seit langer Zeit stabil und ohne Abbrüche läuft und auch wenig Systemressourcen benötigt werden. Sollte mir auf Dauer da was auffallen würde ich das in einem entsprechenden Artikel nachreichen.

 

Abschließend ist zu sagen das jemand der gerne einen XMPP/Jabber Service für eine kleine User Struktur mit geringem Administration Aufwand betreiben möchte, auf jeden Fall mit Prosody bestens bedient ist. Da dieser sehr viele Funktionen mit sich bringt und dennoch einfach zu warten ist. Bei größeren Strukturen sollte man dann eventuell abwägen eJabberd in Betracht zu ziehen oder dort auch Prosody zu nutzen.

Falls Ihr auch bereits Erfahrungen mit XMPP Servern gemacht habt würde ich mich über einen Kommentar darüber freuen 😉