Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
jabber_xmpp-server_installieren [2014/02/21 17:20] rakor |
jabber_xmpp-server_installieren [2017/10/02 13:40] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Allgemein ====== | ====== 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 ====== | ====== Installation ====== | ||
Zunächst wird der Port //net-im/prosody// installiert. | 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 ====== | ====== Konfiguration ====== | ||
- | Nach der Installation des Dienstes kann dieser konfiguriert werden. Die Konfiguration erfolgt in der Datei ///usr/local/etc/prosody/prosody.cfg.lua//. | + | 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 ===== | ===== Betrieb in einer Jail ===== | ||
Wird **Prosody** in einer Jail installiert sollte zunächst die folgende Zeile hinzugefügt werden: | Wird **Prosody** in einer Jail installiert sollte zunächst die folgende Zeile hinzugefügt werden: | ||
- | <code> | + | <code lua> |
interfaces = { '123.123.123.123' } | interfaces = { '123.123.123.123' } | ||
</code> | </code> | ||
Wobei //123.123.123.123// die IP darstellt welche der Jail zugeordnet ist. | Wobei //123.123.123.123// die IP darstellt welche der Jail zugeordnet ist. | ||
- | Anschließend wird //posix// in die Module hinzugefügt. | + | ===== Posix für Unixoide Systeme ===== |
- | Und das pid-File ergänzt | + | 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). |
- | <code> | + | |
- | pidfile = "/var/run/prosody.pid" | + | ===== PID-File festlegen ===== |
+ | Damit //Prosody// das pid-File in ///tmp// anlegt wird folgender Eintrag hinzugefügt. | ||
+ | <code lua> | ||
+ | pidfile = "/tmp/prosody.pid" | ||
</code> | </code> | ||
- | Nun wird die Zeile<code> | + | ===== Festlegen des Host ===== |
+ | Nun wird die Zeile | ||
+ | <code lua> | ||
VirtualHost "example.com" | VirtualHost "example.com" | ||
- | </code> angepasst, dass statt //example.com// hier der echte Hostname des Servers steht. | + | </code> |
- | und <code> enabled=false</code> wird entfernt. | + | angepasst, so dass statt //example.com// hier der echte Hostname des Servers steht. |
+ | Anschließend wird noch <code lua> enabled = false</code> 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: | ||
+ | <code lua> | ||
+ | c2s_require_encryption = true | ||
+ | </code> | ||
+ | |||
+ | ===== 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. | ||
+ | <code lua> | ||
+ | ssl = { | ||
+ | key = "/etc/opensslcerts/prosody.key"; | ||
+ | certificate = "/etc/opensslcerts/prosody.crt"; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ===== Keine Plaintext Passwörter ===== | ||
+ | Damit der Server die Passworte der User nicht im Plaintext speichert wird die Zeile | ||
+ | <code lua> | ||
+ | authentication = "internal_plain"</code> | ||
+ | in die folgende Zeile geändert | ||
+ | <code lua> | ||
+ | authentication = "internal_hashed" | ||
+ | </code> | ||
+ | |||
+ | ====== Hinweise ====== | ||
+ | Im Gegensatz zu anderer Software legt //Prosody// seine Dateien unter dem Pfad ///usr/local/var/lib/prosody// ab. | ||
- | Anschließend muss das SSL-Zertifikat für die vreschlüsselte Verbindungen erstellt werden [[openssl_zertifikat_erstellen]]. | + | Um den Server erreichbar zu machen müssen die Ports **5222** und **5269** von außen erreichbar sein. Eine Firewall ist entsprechend zu konfigurieren. |