Prosody

Aus DebianforumWiki
Wechseln zu: Navigation, Suche
WikiWeitere Dienste ‹ 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 Debianpackage.png prosody in den Debian-Quellen verfügbar ist, gestaltet sich die Installation denkbar einfach:

root@debian:~# apt-get install prosody

Fremdquelle

Warnung.png 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

Weiterführende Links und Quellen