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