Prosody
Prosody ist ein, in Lua geschriebener, XMPP[1]-Server (Jabber-Server). Prosody ist plattformunabhängig und wird mit den Zielen einfacher Bedienbarkeit, geringer Systemauslastung und Erweiterbarkeit entwickelt.
Installation
Offizielle Debian-Quellen
Da prosody in den Debian-Quellen verfügbar ist, gestaltet sich die Installation denkbar einfach:
root@debian:~# apt-get install prosody
Fremdquelle
Warnung: Vor dem Hinzufügen von Fremdquellen sollte man unbedingt die Hinweise zum Umgang mit Fremdquellen lesen. |
Prosody bietet auch ein eigenes Debian-Repository[2] an, das man einbinden kann, um immer die aktuelle Version zu beziehen.
Einbinden des Prosody-Repos
Nutzt man stable oder oldstable, kann man mit folgendem Kommando das Prosody-Repo zur sources.list hinzufügen:
root@debian:~# echo deb http://packages.prosody.im/debian $(lsb_release -sc) main | tee -a /etc/apt/sources.list
Als testing- oder unstable-Nutzer lautet das Kommando zum Hinzufügen des Prosody-Repo zur sources.list folgendermaßen:
root@debian:~# echo deb http://packages.prosody.im/debian $(lsb_release -sr) main | tee -a /etc/apt/sources.list
Um die Signaturen überprüfen zu können, muss auch der Key des Repository hinzugefügt werden:
root@debian:~# wget https://prosody.im/files/prosody-debian-packages.key -O- | apt-key add -
Installation
Um die Quellen des neuen Repository einzulesen, müssen die Paketquellen aktualisiert werden:
root@debian:~# apt-get update
Um Prosody zu installieren, genügt nun ein einfaches:
root@debian:~# apt-get install prosody
Konfiguration
Prosody wird in der Datei /etc/prosody/prosody.cfg.lua[3] konfiguriert. Diese ist gut kommentiert und man kann Prosody recht gut mit Hilfe der Kommentare einrichten. Weitere Informationen zur Konfiguration kann man der Dokumentation auf der Webseite entnehmen.[4] Zeilen, die mit -- beginnen sind Kommentare.
Mit Hilfe des folgenden Befehls kann die Syntax der Konfiguration getestet werden:
root@debian:~# luac -p /etc/prosody/prosody.cfg.lua
Ist die Syntax korrekt, erhält man keine Rückmeldung.
Host hinzufügen
Als VirtualHost ist in /etc/prosody/prosody.cfg.lua die Domain einzutragen, die man für den Jabberserver nutzt. In diesem Bereich kann man auch die Pfade zum SSL-Key und SSL-Zertifikat eintragen, sofern vorhanden.
VirtualHost "meinedomain.de" -- Assign this host a certificate for TLS, otherwise it would use the one -- set in the global section (if any). -- Note that old-style SSL on port 5223 only supports one certificate, and will always -- use the global one. ssl = { key = "/etc/prosody/certs/example.com.key"; certificate = "/etc/prosody/certs/example.com.crt"; }
Benutzerverwaltung
Öffentliche Registrierung erlauben
Um Registrierungen über XMPP-Clients zu erlauben, muss der folgende Eintrag auf true gesetzt sein. Möchte man Registrierungen verbieten, muss man diesen Eintrag auf false setzen:
allow_registration = true
Manuelles hinzufügen
Mit dem folgenden Kommando kann man Benutzer manuell hinzufügen. Anschließend wird man aufgefordert, das Passwort zu vergeben.
root@debian:~# prosodyctl adduser benutzer@meinedomain.de
Man kann auch direkt mit einem Befehl den Benutzer anlegen und das Passwort vergeben:
root@debian:~# prosodyctl register benutzer meinedomain.de meinpasswort
Import von ejabberd
Um Benutzer von ejabberd zu importieren, benötigt man den Source-Code von Prosody. Diesen kann man entweder über die Prosody-Webseite[5] beziehen oder über das Paketmanagement:
root@debian:~# apt-get source prosody
Hat man die Daten via ejabberdctl dump exportiert, kann man sie mit folgendem Befehl in das Prosody-Format konvertieren:
user@debian:~$ ./tools/ejabberd2prosody.lua ejabberd_dump.txt
Hat man die Daten von ejabberd als MySQL-Dump vorliegen, benötigt man folgenden Befehl:
user@debian:~$ ./tools/ejabberdsql2prosody.lua filename.sql hostname
Admin einrichten
Um einen Admin des XMPP-Servers festzulegen, muss man den Eintrag in /etc/prosody/prosody.cfg.lua folgendermaßen bearbeiten:
-- This is a (by default, empty) list of accounts that are admins -- for the server. Note that you must create the accounts separately -- (see http://prosody.im/doc/creating_accounts for info) -- Example: admins = { "user1@example.com", "user2@example.net" } admins = { "user1@meinedomain.de" }
MUC erstellen
Um einen Multi-User Chat (MUC) einzurichten, muss man die Konfiguration folgendermaßen bearbeiten:
---Set up a MUC (multi-user chat) room server on conference.example.com: Component "chat.meineseite.de" "muc"
Bedienung
Prosody lässt sich über prosodyctl[6] steuern. Die Syntax lautet:
root@debian:~# prosodyctl COMMAND [OPTIONS]
Hier eine Übersicht über die verschiedenen Kommandos:
Kommando | Parameter | Beschreibung |
---|---|---|
adduser | JID | Benutzer hinzufügen |
passwd | JID | Passwort setzen |
deluser | JID | Benutzer löschen |
start | Prosody starten | |
stop | Prosody stoppen | |
restart | Prosody stoppen und anschließend neu starten | |
reload | Konfiguration neu laden | |
status | Berichtet über den Status der laufenden Prosody-Instanz |