Prosody ist ein inzwischen weit verbreiteter und moderner XMPP-Server, der durch zahlreiche Module erweitert werden kann. Geschrieben ist Prosody in der Skriptsprache Lua. Zur Installation habe ich vor 3 Jahren schon einmal eine Anleitung geschrieben. Dieser Beitrag soll die etwas veraltete Version ersetzen.
Voraussetzungen
- vServer oder Rootserver mit Ubuntu 14.04 oder höher
- Möglichkeit, valide TLS-Zertifikate auszustellen, z.B. über Let’s Encrypt
- Eigene Domain + Zugriff auf zugehörige DNS-Records
- Grundkenntnisse im Umgang mit Ubuntu Server, DNS, TLS-Zertifikaten, MySQL
Annahmen
- Verwendete XMPP-Domain: xmppserver.tld (ergibt XMPP-IDs nach dem Muster: benutzer@xmppserver.tld)
- Verwendete XMPP-Domain für Konferenzen / Chatrooms: conference.xmppserver.tld
Installation
Oftmals ist die Software aus den Ubuntu-Repositories veraltet. Aus diesem Grund wird Prosody nicht aus den offiziellen Ubuntu-Repos installiert, sondern aus dem Debian-Repo der Prosody-Entwickler. Das Repo muss zunächst hinzugefügt werden:
Meine Server verfügen seit ein paar Wochen über lokale, nur vom DNS Root abhängige DNS-Resolver, die auch DNSSEC beherrschen. Der Vorteil: DNS-Ergebnisse lassen sich lokal cachen und man muss weniger auf externe Infrastruktur vertrauen. Das verbessert Datenschutz und Sicherheit. Die DNS-Anfragen werden direkt an einen der DNS-Rootserver gestellt und von dort aus aufgelöst. Der kleine DNS-Resolver “Unbound” ist perfekt als lokaler Resolver geeignet und mit wenigen Kommandos einsatzbereit:
apt install unbound
Eigentlich könnte die Anleitung an dieser Stelle schon fast zu Ende sein, denn nach der Installation horcht der Resolver lokal bereits auf Port 53 und beherrscht auch schon DNSSEC. Trotzdem sind wir noch nicht fertig, denn der Resolver bekommt jetzt noch eine aktualisierte Version des DNSSEC Root Trust Anchors:
Neben der Verfügbarkeit und der verfügbaren Hardwareressourcen spielt bei der Wahl des richtigen Server-Pakets bei einem Hoster natürlich auch die Netzanbindung eine bedeutende Rolle. Nur mit einer schnellen und zuverlässigen Anbindung lassen sich Fluten von Anfragen bewältigen. Da bei Hostern hier und da gerne getrickst oder nicht die erwartete Leistung bereitgestellt wird, ist ein kurzer Test der Netzwerk-Bandbreite zu empfehlen.
Für Desktop-Computer und Smartphones wird gerne das speedtest.net Netzwerk zusammen mit der gleichnamigen Website genutzt. Eine Flash-freie Alternative dazu wäre speedof.me, das auf HTML5 basiert. Da fähige Admins einen Linux Server natürlich niemals mit GUI administrieren würden ;) , sind die beiden Browser-basierten Speedtests jedoch uninteressant. Für speedtest.net gibt es zwar eine Python-Anwendung für das CLI - allerdings misst diese die Bandbreite für Up- und Downlink völlig unzuverlässig.