Ejabberd: Unterschied zwischen den Versionen

Aus schokokeks.org Wiki
Zur Navigation springen Zur Suche springen
(Konfigurationsdatei validieren hinzugefügt)
Keine Bearbeitungszusammenfassung
Zeile 16: Zeile 16:
<div style="border: 3px solid #24f094;padding: 1em;margin: 1em 4em 1em 4em;">'''Tipp:'''<br />
<div style="border: 3px solid #24f094;padding: 1em;margin: 1em 4em 1em 4em;">'''Tipp:'''<br />
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 (<code>:set syntax=erlang</code>).</div>
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 (<code>:set syntax=erlang</code>).</div>
==Konfigurationsdatei validieren:==
==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:
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
*Erlang-Shell öffnen

Version vom 22. Januar 2006, 16:15 Uhr

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).

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").