Ejabberd

Aus schokokeks.org Wiki
Zur Navigation springen Zur Suche springen

Einführung

Seit dem 21. Januar 2005 wird der Jabberd des Schokokeks mit Ejabberd betrieben. Dieser in der Programmiersprache Erlang implementierte Jabber-Server bietet einige Vorteile gegenüber den Konkurrenten Jabberd 2.0 und 1.4:

Stabilität und Performance

  • Erlang wurde dazu entwickelt, um hochverfügbare Systeme im Telekommunikationsbereich zu implementieren und stellt somit sicher, dass der Server genau das tut, was er tun soll: funktionieren
  • Speicher- und CPU-Bedarf des Ejabberds sind deutlich geringer als die seiner Konkurrenten

Modularität und Zugriffsrechte

  • Jedes Modul lässt sich hinzufügen, entfernen und neu starten ohne dass davon der eigentliche Jabberd berührt ist. Eine Ausnahme bilden hierbei die s.g. Transports. Bei Änderungen muss der Ejabberd leider trotzdem neu gestartet werden
  • Über ACLs lassen sich sehr genau granuliert Zugriffsrechte einstellen. Darüber ist ein extrem flexibles Setup zu erreichen

Konfigurierbarkeit

  • Ejabberd lässt sich nach aufwendiger Initialkonfiguration komfortabel über ein Webinterface warten
  • Die Konfigurationsdatei ist übersichtlicher als die bei Jabberd 1.4 und 2.0 üblichen, sehr langen und teilweise unübersichtlichen XML-Dateien

Erweiterte Jabber-Funktionen

  • Jabberd bringt praktische Funktionen wie Shared Roster, Service Discovery out-of-the Box mit

Vhost hinzufügen

/etc/jabber/ejabberd.cfg editieren. In der Direktive {hosts, ...} den gewünschten Virtual host hinzufügen und Ejabberd neu starten (/etc/init.d/ejabberd restart).

Tipp:
Wenn man die Ejabberd Konfigurationsdatei unter /etc/jabber/ejabberd.cfg editiert, ist zu beachten, dass es sich dabei um ganz normalen Erlang Code handelt. In Vim ist es deshalb zu empfehlen, das Syntaxhighlighting auf erlang umzustellen (:set syntax=erlang).

Einen Benutzer zum Administrator machen

/etc/jabber/ejabberd.cfg editieren und folgende Zeile hinzufügen: {acl, admin, {user, "user", "example.org"}}.

Konfigurationsdatei validieren

Da Erlang-Code einige Fallstricke mit sich bringt, ist es empfehlenswert, vor dem Neustarten des Jabber-Servers zu überprüfen, ob die Konfigurationdatei /etc/jabber/ejabberd.cfg syntaktisch korrekt ist. Dazu findet sich unter /root/erlang-tools/ ein kleines Erlang-Programm erlcheck.erl, das wie folgt verwendet wird:

  • Erlang-Shell öffnen

erl /root/erlang-tools/erlcheck.erl

  • Erlcheck laden

c(erlcheck).

  • Konfigurationsdatei überprüfen

erlcheck:checkfile("/etc/jabber/ejabberd.cfg").