Inhaltsverzeichnis

Allgemein

XMPP ist ein Protokoll für Instant Messanger welches auch unter dem Namen Jabber bekannt ist. Um einen eigenen Jabber-Server zu betreiben ist nicht viel Aufwand nötig.

Installation

Zunächst wird der Port net-im/prosody installiert.

SSL-Zertifikat anlegen

Um Verbindungen über ein SSL-Zertifikat verschlüsseln zu können muss ein entsprechendes Zertifikat erstellt werden: openssl_zertifikat_erstellen.

Konfiguration

Nach der Installation des Dienstes kann dieser konfiguriert werden. Die Konfiguration erfolgt in der Datei /usr/local/etc/prosody/prosody.cfg.lua und richtet sich nach Lua-Syntax.

Betrieb in einer Jail

Wird Prosody in einer Jail installiert sollte zunächst die folgende Zeile hinzugefügt werden:

interfaces = { '123.123.123.123' }

Wobei 123.123.123.123 die IP darstellt welche der Jail zugeordnet ist.

Posix für Unixoide Systeme

Auf einem unixoiden System sollte die Option posix in die Module hinzugefügt werden. Hierzu ist einfach unter modules_enabled die entsprechenden Zeile zu aktivieren (die beiden '–' entfernen).

PID-File festlegen

Damit Prosody das pid-File in /tmp anlegt wird folgender Eintrag hinzugefügt.

pidfile = "/tmp/prosody.pid"

Festlegen des Host

Nun wird die Zeile

VirtualHost "example.com"

angepasst, so dass statt example.com hier der echte Hostname des Servers steht. Anschließend wird noch

 enabled = false

entfernt um diesen Host zu aktivieren.

Verschlüsselung verlangen

Damit die Clients dazu gezwungen werden sich über eine verschlüsselte Verbindung anzumelden wird noch der folgende Eintrag angepasst:

c2s_require_encryption = true

SSL-Zertifikat festlegen

In den SSL-Zeilen muss der Pfad zum oben angelegten SSL-Schlüssel und SSL-Zertifikat angepasst werden. Nicht vergessen, dass diese Zeile sowohl allgemein, als auch zum jeweiligen Host gepflegt werden kann.

ssl = {
    key = "/etc/opensslcerts/prosody.key";
    certificate = "/etc/opensslcerts/prosody.crt";
} 

Keine Plaintext Passwörter

Damit der Server die Passworte der User nicht im Plaintext speichert wird die Zeile

authentication = "internal_plain"

in die folgende Zeile geändert

authentication = "internal_hashed"

Hinweise

Im Gegensatz zu anderer Software legt Prosody seine Dateien unter dem Pfad /usr/local/var/lib/prosody ab.

Um den Server erreichbar zu machen müssen die Ports 5222 und 5269 von außen erreichbar sein. Eine Firewall ist entsprechend zu konfigurieren.