12 October 2019

Prosody ist ein in Lua geschriebener XMPP Server unter der MIT Lizenz. https://prosody.im

Installation - Debian

aptitude install prosody prosody-modules

Konfiguration

Die Konfigurationsdateien sind in /etc/prosody/

Die Konfiguration aus dem Paket ist mit ein paar wenigen Anpassungen direkt nutzbar. Im folgendem Beispiel werden sehr viele Module und Optionen aufgelistet. Welche Module benötigt werden ist abhängig vom Einsatzgebiet. Es soll nur als Referenzbeispiel dienen.

-- Eine Liste der Accounts für die Server Administratoren
admins = { "admin@jabber.domain.tld" }

-- Liste der aktiven Module
modules_enabled = {
  "roster";
  "saslauth";
  "tls";
  "dialback";
  "disco";
  "private";
  "vcard";
  "version";
  "uptime";
  "time";
  "ping";
  "pep";
  "register";
  "mam";
  "carbons";
  "csi";
  "admin_adhoc";
  "posix";
  "watchregistrations";
  "vcard4";
  "smacks";
  "cloud_notify";
  "register_web";
  "http";
  "pep_vcard_avatar";
  "proxy65";
  "vcard_legacy";
  "blocklist";
  "server_contact_info";
};

contact_info = {
  abuse = { "mailto:webmaster@domain.tld" };
  admin = { "mailto:webmaster@domain.tld" };
};

-- Informationen wenn sich ein User auf dem Server registriert
registration_watchers = { "admin@jabber.domain.tld" }
registration_notification = "User $username just registered on $host from $ip"

modules_disabled = {
};

allow_registration = true;
daemonize = false;
pidfile = "/var/run/prosody/prosody.pid";

ssl = {
        key = "/etc/prosody/certs/localhost.key";
        certificate = "/etc/prosody/certs/localhost.crt";
}

c2s_require_encryption = true
s2s_secure_auth = true
authentication = "internal_hashed"

-- Logging

log = {
        info = "/var/log/prosody/prosody.log";
        error = "/var/log/prosody/prosody.err";
        { levels = { "error" }; to = "syslog";  };
}

legacy_ssl_ports = { 5223 }

http_paths = {
  register_web = "/register";
}

VirtualHost "jabber.domain.tld"
        enabled = true
        ssl = {
                key = "/etc/prosody/certs/localhost.key";
                certificate = "/etc/prosody/certs/localhost.crt";
        }

Component "conference.domain.tld" "muc"
modules_enabled = { "muc_mam", "vcard_muc" }

Component "uploads.domain.tld" "http_upload"

Component "pubsub.domain.tld" "pubsub"

Component "proxy.domain.tld" "proxy65"

Include "conf.d/*.cfg.lua"