Prosody

Aus wiki.archlinux.de

Prosody ist ein in LUA geschriebener plattformunabhängiger und leichtgewichtiger XMPP-Server. Das selbsterklärte Ziel der Entwickler ist die einfache Bedienbarkeit, geringe Systemauslastung und Erweiterbarkeit.

Prosody ist somit eine gute Alternative zu ejabberd und lässt sich sowohl für kleinere als auch für größere Umgebungen und Anforderungen nutzen.

Installation

Das Programm ist als prosody in community verfügbar, und kann von dort mittels Pacman installiert werden.

pacman -S prosody

Konfiguration

Prosody wird über die Datei /etc/prosody/prosody.cfg.lua konfiguriert.

Die Konfigurationsdatei ist übersichtlich und gut strukturiert sowie kommentiert. Alle Optionen hier aufzuführen würde den Rahmen sprengen, daher sei hier auf die gut dokumentierte Konfigurationsdatei und configuring prosody verwiesen.

Host hinzufügen

Als erstes sollte man seinen zu benutzenden host hinzufügen. Dazu sollte man die Datei /etc/prosody/prosody.cfg.lua ändern:

VirtualHost "meine-domain.de"
	enabled = true -- Remove this line to enable this host
	-- 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/meine-domain.de.key";
		certificate = "/etc/prosody/certs/meine-domain.de.crt";
	}

Benutzer hinzufügen

Ein neuer Benutzer kann einfach über das Kommandozeilen-Tool prosodyctl hinzugefügt werden.

prosodyctl adduser benutzername@meine-domain.de

Es wird dann nach einem Passwort für den soeben angelegten Benutzer gefragt.

Administrator festlegen

In der Konfigurationsdatei lässt sich der Admin-Account des Servers festlegen:

-- 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 = { "benutzername@meine-domain.de"  }

öffentliche Registrierung

Wenn man den Server öffentlich betreiben und anderen die Registrierung per Client erlauben möchte, muss folgendes geändert werden:

allow_registration = true;

Multi-User Chat einrichten

In der Konfigurationsdatei ab ca. Zeile 126 (die **--** sind zu entfernen):

---Set up a MUC (multi-user chat) room server on conference.example.com:
Component "conference.meine-domain.de" "Chat"

Firewall/Ports

Damit der Server einwandfrei funktioniert, müssen mindestens folgende TCP-Ports ungefiltert und erreichbar sein:

  • 5222 eingehend, für Client-Verbindungen unverschlüsselt oder TLS-verschlüsselt
  • 5223 eingehend, für SSL-verschlüsselte Clientverbindungen (veraltet)
  • 5269 ein- und ausgehend, für Verbindungen zu anderen Servern
  • 5280 eingehend, für Client-Verbindungen über HTTP-Polling (nützlich für Webapplikationen)

Weblinks

Siehe auch