ejabberd mit ICQ-Transport

1. Installation
Zunächst einmal muss ejabberd installiert werden.

sudo apt-get install ejabberd

Danach muss ejabberd konfiguriert werden.

sudo dpkg-reconfigure ejabberd

Bei diesem Schritt muss zunächst der Servername inklusive der Domain angegeben werden (z.B. jabber.pascalkrause.info oder pascalkrause.info). Danach wird eine Jabber-ID angelegt, welche administrative Rechte erhält. Jetzt sollte man ejabberd neustarten.

sudo /etc/init.d/ejabberd restart

2. Portfreigabe und SRV-Records
Folgende Ports müssen freigegeben werden:

  • 5222 eingehend, für Client-Verbindungen unverschlüsselt oder TLS-verschlüsselt
  • 5269 ein- und ausgehend, für Verbindungen zu anderen Servern
  • 5280 eingehend, für Client-Verbindungen über HTTP-Polling (nützlich für Webapplikationen)

Zusätzlich zu der Freitschaltung der Ports müssen im DNS die SRV-Records eingetragen werden. Ein Beispiel dafür, wie diese Records aussehen könnten ist hier.

  1. _jabber._tcp.pascalkrause.info.       IN SRV   0 0 5269   pascalkrause.info.
  2. _xmpp-server._tcp.pascalkrause.info.  IN SRV   0 0 5269   pascalkrause.info.
  3. _xmpp-client._tcp.pascalkrause.info.  IN SRV   0 0 5222   pascalkrause.info.

Wenn der Hostname von der Adresse der JID abweichend ist, muss aufgrund eines Bugs in Debian Wheezy die ejabberd.cfg um folgende Zeile ergänzt werden.

  1. {fqdn, "xmpp.pascalkrause.info"}.

3. ejabberd konfigurieren /etc/ejabberd/ejabberd.cfg
Wenn man nicht möchte, das sich fremde Leute am eignen Jabber-Server registrieren können, sollte die ejabberd.cfg so aussehen.

  1. % Every username can be registered via in-band registration:
  2. %{access, register, [{allow, all}]}.
  3.  
  4. % None username can be registered via in-band registration:
  5. {access, register, [{deny, all}]}.

Außerdem ist es z.B. möglich, die Admin-Oberfläche auf einen anderen Port zu legen und an ein bestimmtes Device zu binden. Um die Admin-Oberfläche von Port 5280 auf Port 5288 zu verschieben und an localhost zu binden, müsste man z.B. die Zeile

  1. {5280, ejabberd_http,    [http_poll, web_admin]}

in folgende Zeilen abändern:

  1. {5280, ejabberd_http,    [http_poll]},
  2. {5288, ejabberd_http,    [{ip, {127, 0, 0, 1}}, web_admin]}

4. Benutzer verwalten und sichern
Da ich eingestellt habe, dass sich niemand an meinem Jabber-Server anmelden kann, muss ich alle Accounts von Hand einrichten. Dies geht mit folgenden Befehlen:

#Benutzer hinzufügen
sudo ejabberdctl register Benutzername Servername Passwort
#Benutzer löschen
sudo ejabberdctl unregister Benutzername Servername

Um nicht jedesmal alle Benutzer erneut eingeben zu müssen, kann man diese auch Backupen. Dies geschieht mit den Befehlen

#Sicherung anlegen
sudo ejabberdctl backup pfadZurDatei
#Sicherung wiederherstellen
sudo ejabberdctl restore pfadZurDatei

Achtung! ejabberdctl immer nur als root ausführen, sonnst kann es zu Problemen kommen.

5. ICQ-Transport mit Pyicqt einrichten
Auch hier muss zunächst einmal erst pyicqt installiert werden.

apt-get install pyicqt

Danach müssen in der Datei /etc/pyicqt.conf.xml folgende Tags befüllt werden:

  • <jid> z.B. mit icq.pascalkrause.info
  • <mainServer> z.B. mit 127.0.0.1
  • <mainServerJID> z.B. mit pascalkrause.info
  • <port> z.B. mit 5555
  • <secret> z.B. mit foobar

Der Port und das Secret müssen auch in der ejabberd.cfg eingestellt werden. Dies könnte so aussehen:

  1.   {5555, ejabberd_service, [
  2.                             {ip, {127, 0, 0, 1}},
  3.                             {access, all},
  4.                             {shaper_rule, fast},
  5.                             {hosts, ["icq.pascalkrause.info", "sms.pascalkrause.info"],
  6.                                        [{password, "foobar"}]}
  7.                             ]},

Es ist gut möglich, dass dieser Eintrag bereits in eurer ejabberd.cfg existiert. Dann muss er nur auskommentiert und angepasst werden.
Achtung: In Debian gibt es einen Bug, pyicqt hat keine Schreibrechte im Ordner /var/lib/pyicqt diese müsst ihr per Hand setzen.

Dieser Beitrag wurde unter ejabberd, Programme veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Eine Antwort auf ejabberd mit ICQ-Transport

  1. pelz tier sagt:

    Danke!

    Klasse Anleitung – hat mir sehr geholfen.

    LG

Hinterlasse einen Kommentar zu pelz tier Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">