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