Nächste: , Vorige: , Nach oben: Dienste   [Inhalt][Index]


12.9.13 Kurznachrichtendienste

Das Modul (gnu services messaging) stellt Guix-Dienstdefinitionen für Kurznachrichtendienste, d.h. „Instant Messaging“, zur Verfügung. Zurzeit werden folgende Dienste unterstützt:

Prosody-Dienst

Variable: prosody-service-type

Dies ist der Diensttyp für den XMPP-Kommunikationsserver Prosody. Sein Wert muss ein prosody-configuration-Verbundsobjekt wie in diesem Beispiel sein:

(service prosody-service-type
         (prosody-configuration
          (modules-enabled (cons* "groups" "mam" %default-modules-enabled))
          (int-components
           (list
            (int-component-configuration
             (hostname "conference.example.net")
             (plugin "muc")
             (mod-muc (mod-muc-configuration)))))
          (virtualhosts
           (list
            (virtualhost-configuration
             (domain "example.net"))))))

Siehe im Folgenden Details über die prosody-configuration.

Prosody kann mit den Vorgabeeinstellungen ohne viel weitere Konfiguration benutzt werden. Nur ein virtualhosts-Feld wird gebraucht: Es legt die Domain fest, um die sich Prosody kümmert.

Sie können die Korrektheit der generierten Konfigurationsdatei überprüfen, indem Sie den Befehl prosodyctl check ausführen.

Prosodyctl hilft auch dabei, Zertifikate aus dem letsencrypt-Verzeichnis zu importieren, so dass das prosody-Benutzerkonto auf sie Zugriff hat. Siehe https://prosody.im/doc/letsencrypt.

prosodyctl --root cert import /etc/letsencrypt/live

Im Folgenden finden Sie die verfügbaren Konfigurationsparameter. Jeder Parameterdefinition ist ihr Typ vorangestellt; zum Beispiel bedeutet ‘Zeichenketten-Liste foo’, dass der Parameter foo als Liste von Zeichenketten angegeben werden sollte. Typangaben, die mit Vielleicht- beginnen, stehen für Parameter, die in prosody.cfg.lua nicht vorkommen, falls deren Wert nicht angegeben wurde.

Sie können die Konfiguration auch als eine Zeichenkette festlegen, wenn Sie über eine alte prosody.cfg.lua-Datei verfügen, die Sie von einem anderen System übernehmen möchten; siehe das Ende dieses Abschnitts für Details.

Der Typ Dateiobjekt bezeichnet hierbei entweder ein dateiartiges Objekt (siehe dateiartige Objekte) oder einen Dateinamen.

Verfügbare prosody-configuration-Felder sind:

prosody-configuration-Parameter: „package“ prosody

Das Prosody-Paket.

prosody-configuration-Parameter: Dateiname data-path

Der Ort, wo sich Prosodys Verzeichnis zum Speichern von Daten befinden soll. Siehe https://prosody.im/doc/configure. Die Vorgabe ist ‘"/var/lib/prosody"’.

prosody-configuration-Parameter: Dateiobjekt-Liste plugin-paths

Additional plugin directories. They are searched in all the specified paths in order. See https://prosody.im/doc/plugins_directory. Defaults to ‘'()’.

prosody-configuration-Parameter: Dateiname certificates

Jeder virtuellte Rechner und jede Komponente braucht ein Zertifikat, mit dem Clients und Server ihre Identität sicher verifizieren können. Prosody lädt automatisch Zertifikate bzw. Schlüssel aus dem hier angegebenen Verzeichnis. Die Vorgabe ist ‘"/etc/prosody/certs"’.

prosody-configuration-Parameter: Zeichenketten-Liste admins

This is a list of accounts that are admins for the server. Note that you must create the accounts separately. See https://prosody.im/doc/admins and https://prosody.im/doc/creating_accounts. Example: (admins '("user1@example.com" "user2@example.net")) Defaults to ‘'()’.

prosody-configuration-Parameter: Boolescher-Ausdruck use-libevent?

Die Nutzung von libevent aktivieren, damit bessere Leistungsfähigkeit auch unter hoher Last gewährleistet wird. Siehe https://prosody.im/doc/libevent. Die Vorgabe ist ‘#f’.

prosody-configuration-Parameter: Modul-Liste modules-enabled

This is the list of modules Prosody will load on startup. It looks for mod_modulename.lua in the plugins folder, so make sure that exists too. Documentation on modules can be found at: https://prosody.im/doc/modules. Defaults to ‘'("roster" "saslauth" "tls" "dialback" "disco" "carbons" "private" "blocklist" "vcard" "version" "uptime" "time" "ping" "pep" "register" "admin_adhoc")’.

prosody-configuration-Parameter: Zeichenketten-Liste modules-disabled

"offline"’, ‘"c2s"’ and ‘"s2s"’ are auto-loaded, but should you want to disable them then add them to this list. Defaults to ‘'()’.

prosody-configuration-Parameter: Dateiobjekt groups-file

Der Pfad zu einer Textdatei, in der gemeinsame Gruppen definiert werden. Wenn dieser Pfad leer ist, dann tut ‘mod_groups’ nichts. Siehe https://prosody.im/doc/modules/mod_groups. Die Vorgabe ist ‘"/var/lib/prosody/sharedgroups.txt"’.

prosody-configuration-Parameter: Boolescher-Ausdruck allow-registration?

Ob nach Voreinstellung keine neuen Benutzerkonten angelegt werden können, aus Sicherheitsgründen. Siehe https://prosody.im/doc/creating_accounts. Die Vorgabe ist ‘#f’.

prosody-configuration-Parameter: Vielleicht-„ssl-configuration“ ssl

Dies ist der Teil der Einstellungen, der mit SSL/TLS zu tun hat. Der Großteil davon ist deaktiviert, damit die Voreinstellungen von Prosody verwendet werden. Wenn Sie diese Optionen hier nicht völlig verstehen, sollten Sie sie nicht in Ihrer Konfiguration verwenden. Es passiert leicht, dass Sie die Sicherheit Ihres Servers absenken, indem Sie sie falsch benutzen. Siehe https://prosody.im/doc/advanced_ssl_config.

Verfügbare ssl-configuration-Felder sind:

ssl-configuration-Parameter: Vielleicht-Zeichenkette protocol

Dadurch wird entschieden, was für ein Handshake benutzt wird.

ssl-configuration-Parameter: Vielleicht-Dateiname key

Der Pfad zur Datei mit Ihrem privaten Schlüssel.

ssl-configuration-Parameter: Vielleicht-Dateiname certificate

Der Pfad zur Datei mit Ihrem Zertifikat.

ssl-configuration-Parameter: Dateiobjekt capath

Der Pfad zum Verzeichnis, das die Wurzelzertifikate enthält, die Prosody zur Verifikation der Zertifikate entfernter Server benutzen soll. Die Vorgabe ist ‘"/etc/ssl/certs"’.

ssl-configuration-Parameter: Vielleicht-Dateiobjekt cafile

Der Pfad zu einer Datei, in der Wurzelzertifikate enthalten sind, denen Prosody vertrauen soll. Er verhält sich ähnlich wie capath, aber alle Zertifikate stehen hintereinander in der Datei.

ssl-configuration-Parameter: Vielleicht-Zeichenketten-Liste verify

Eine Liste von Verifikationsoptionen. (Die meisten bilden auf die set_verify()-Flags von OpenSSL ab.)

ssl-configuration-Parameter: Vielleicht-Zeichenketten-Liste options

Eine Liste allgemeiner Optionen, die mit SSL/TLS zu tun haben. Diese bilden auf OpenSSLs set_options() ab. Eine vollständige Liste der in LuaSec verfügbaren Optionen finden Sie im Quellcode von LuaSec.

ssl-configuration-Parameter: Vielleicht-Nichtnegative-ganze-Zahl depth

Wie lange eine Kette von Zertifikatsautoritäten („Certificate Authorities“) nach einem passenden Wurzelzertifikat durchsucht wird, dem vertraut wird.

ssl-configuration-Parameter: Vielleicht-Zeichenkette ciphers

Eine Zeichenkette mit OpenSSL-Ciphers. Damit wird ausgewählt, welche Ciphers Prosody seinen Clients anbietet, und in welcher Reihenfolge.

ssl-configuration-Parameter: Vielleicht-Dateiname dhparam

Ein Pfad zu einer Datei, in der Parameter für Diffie-Hellman-Schlüsselaustausche stehen. Sie können so eine Datei mit diesem Befehl erzeugen: openssl dhparam -out /etc/prosody/certs/dh-2048.pem 2048

ssl-configuration-Parameter: Vielleicht-Zeichenkette curve

Die Kurve, die für Diffie-Hellman mit elliptischen Kurven verwendet werden soll. Prosodys Voreinstellung ist ‘"secp384r1"’.

ssl-configuration-Parameter: Vielleicht-Zeichenketten-Liste verifyext

Eine Liste von zusätzlichen Verifikationsoptionen.

ssl-configuration-Parameter: Vielleicht-Zeichenkette password

Das Passwort fÜr verschlüsselte private Schlüssel.

prosody-configuration-Parameter: Boolescher-Ausdruck c2s-require-encryption?

Ob alle Verbindungen von Client zu Server zwangsweise verschlüsselt sein müssen. Siehe https://prosody.im/doc/modules/mod_tls. Die Vorgabe ist ‘#f’.

prosody-configuration-Parameter: Zeichenketten-Liste disable-sasl-mechanisms

Set of mechanisms that will never be offered. See https://prosody.im/doc/modules/mod_saslauth. Defaults to ‘'("DIGEST-MD5")’.

prosody-configuration-Parameter: Boolescher-Ausdruck s2s-require-encryption?

Ob alle Verbindungen von Server zu Server zwangsweise verschlüsselt sein müssen. Siehe https://prosody.im/doc/modules/mod_tls. Die Vorgabe ist ‘#f’.

prosody-configuration-Parameter: Boolescher-Ausdruck s2s-secure-auth?

Ob Verschlüsselung und Zertifikatsauthentifizierung verpflichtend durchgeführt werden müssen. Das bietet das ideale Maß an Sicherheit, jedoch müssen dann auch die Server, mit denen Sie kommunizieren, Verschlüsselung unterstützen und gültige Zertifikate vorweisen, denen Sie auch vertrauen. Siehe https://prosody.im/doc/s2s#security. Die Vorgabe ist ‘#f’.

prosody-configuration-Parameter: Zeichenketten-Liste s2s-insecure-domains

Many servers don’t support encryption or have invalid or self-signed certificates. You can list domains here that will not be required to authenticate using certificates. They will be authenticated using DNS. See https://prosody.im/doc/s2s#security. Defaults to ‘'()’.

prosody-configuration-Parameter: Zeichenketten-Liste s2s-secure-domains

Even if you leave s2s-secure-auth? disabled, you can still require valid certificates for some domains by specifying a list here. See https://prosody.im/doc/s2s#security. Defaults to ‘'()’.

prosody-configuration-Parameter: Zeichenkette authentication

Wählen Sie aus, welcher Hintergrunddienst („Provider“) zur Authentifizierung benutzt werden soll. Das vorgegebene System speichert Passwörter im Klartext ab und benutzt dafür den in Prosody eingestellten Datenspeicher, um Authentifizierungsdaten zu speichern. Wenn Sie Ihrem Server kein Vertrauen entgegenbringen, siehe https://prosody.im/doc/modules/mod_auth_internal_hashed für Informationen, wie Sie den gehashten Hintergrunddienst benutzen. Siehe auch https://prosody.im/doc/authentication. Die Vorgabe ist ‘"internal_plain"’.

prosody-configuration-Parameter: Vielleicht-Zeichenkette log

Hiermit werden die Protokollierungsoptionen festgelegt. Fortgeschrittene Protokollierungskonfigurationen werden vom Prosody-Dienst noch nicht unterstützt. Siehe https://prosody.im/doc/logging. Die Vorgabe ist ‘"*syslog"’.

prosody-configuration-Parameter: Dateiname pidfile

Die Datei, in der Prosodys Prozessidentifikator („PID“) abgelegt wird. Siehe https://prosody.im/doc/modules/mod_posix. Die Vorgabe ist ‘"/var/run/prosody/prosody.pid"’.

prosody-configuration-Parameter: Vielleicht-Nichtnegative-ganze-Zahl http-max-content-size

Die maximal zulässige Größe des HTTP-Rumpfs (in Bytes).

prosody-configuration-Parameter: Vielleicht-Zeichenkette http-external-url

Manche Module machen auf verschiedene Arten ihre eigene URL verfügbar. Diese URL setzt sich aus dem benutzten Protokoll, Rechnernamen und Port zusammen. Wenn Prosody hinter einem Proxy ausgeführt wird, ist die öffentliche URL stattdessen die http-external-url. Siehe https://prosody.im/doc/http#external_url.

prosody-configuration-Parameter: „virtualhost-configuration“-Liste virtualhosts

Der Name eines Rechners („Host“) in Prosody bezeichnet eine Domain, auf der Benutzerkonten angelegt werden können. Wenn Sie zum Beispiel möchten, dass Nutzer Adressen haben wie ‘"john.smith@example.com"’, dann müssen Sie einen Rechnernamen ‘"example.com"’ hinzufügen. Alle Optionen in dieser Liste gelten nur für diesen Rechnernamen.

Anmerkung: Die Bezeichnung virtueller Rechnername wird in der Konfiguration verwendet, damit es nicht zu Verwechslungen mit dem tatsächlichen physischen Rechner kommt, auf dem Prosody installiert ist. Eine einzelne Prosody-Instanz kann mehrere Domains bedienen, jede definiert mit ihrem eigenen VirtualHost-Eintrag in der Konfiguration von Prosody. Im Gegensatz dazu hätte ein Server, der nur eine Domain anbietet, nur einen einzigen VirtualHost-Eintrag.

Siehe https://prosody.im/doc/configure#virtual_host_settings.

Verfügbare virtualhost-configuration-Felder sind:

Alle folgenden Felder, wie sie auch die prosody-configuration hat: admins, use-libevent?, modules-enabled, modules-disabled, groups-file, allow-registration?, ssl, c2s-require-encryption?, disable-sasl-mechanisms, s2s-require-encryption?, s2s-secure-auth?, s2s-insecure-domains, s2s-secure-domains, authentication, log, http-max-content-size, http-external-url, raw-content, und außerdem:

virtualhost-configuration-Parameter: Zeichenkette domain

Die Domain, auf der man Prosody erreichen soll.

prosody-configuration-Parameter: „int-component-configuration“-Liste int-components

Komponenten sind zusätzliche Dienste auf einem Server, die Clients zur Verfügung stehen. Sie sind normalerweise auf einer Subdomain des Hauptservers verfügbar (wie zum Beispiel ‘"mycomponent.example.com"’). Beispiele für Komponenten könnten Server für Chaträume, Benutzerverzeichnisse oder Zugänge („Gateways“) zu anderen Protokollen sein.

Interne Komponenten werden über Prosody-spezifische Plugins implementiert. Um eine interne Komponente hinzuzufügen, tragen Sie einfach das hostname-Feld für den Rechnernamen und die Plugins ein, die Sie für die Komponente benutzen möchten.

See https://prosody.im/doc/components. Defaults to ‘'()’.

Verfügbare int-component-configuration-Felder sind:

Alle folgenden Felder, wie sie auch die prosody-configuration hat: admins, use-libevent?, modules-enabled, modules-disabled, groups-file, allow-registration?, ssl, c2s-require-encryption?, disable-sasl-mechanisms, s2s-require-encryption?, s2s-secure-auth?, s2s-insecure-domains, s2s-secure-domains, authentication, log, http-max-content-size, http-external-url, raw-content, und außerdem:

int-component-configuration-Parameter: Zeichenkette hostname

Der Rechnername für diese Komponente.

int-component-configuration-Parameter: Zeichenkette plugin

Das Plugin, das Sie für diese Komponente benutzen möchten.

int-component-configuration-Parameter: Vielleicht-„mod-muc-configuration“ mod-muc

Multi-User Chat (MUC) ist der Name von Prosodys Modul, womit Sie Chaträume/Konferenzen für XMPP-Benutzer anbieten lassen können.

Allgemeine Informationen über das Einrichten und Benutzen von Multi-User-Chaträumen können Sie in der Dokumentation über Chaträume finden (https://prosody.im/doc/chatrooms), die Sie lesen sollten, wenn Ihnen XMPP-Chaträume neu sind.

Siehe auch https://prosody.im/doc/modules/mod_muc.

Verfügbare mod-muc-configuration-Felder sind:

mod-muc-configuration-Parameter: Zeichenkette name

Der Name, der in Antworten auf die Diensteermittlung benutzt. Die Vorgabe ist ‘"Prosody Chatrooms"’.

mod-muc-configuration-Parameter: Zeichenkette-oder-Boolescher-Ausdruck restrict-room-creation

Für ‘#t’ können nur Administratoren neue Chaträume anlegen. Andernfalls kann jeder einen Raum anlegen. Der Wert ‘"local"’ schränkt das Anlegen neuer Räume auf solche Nutzer ein, die zur Eltern-Domain des Dienstes gehören. Z.B. kann ‘user@example.com’ Räume auf ‘rooms.example.com’ anlegen. Für den Wert ‘"admin"’ können nur Dienstadministratoren Chaträume anlegen. Die Vorgabe ist ‘#f’.

mod-muc-configuration-Parameter: Nichtnegative-ganze-Zahl max-history-messages

Die Maximalzahl der Nachrichten aus dem Chat-Verlauf, die an ein Mitglied nachversandt werden, das gerade erst dem Raum beigetreten ist. Die Vorgabe ist ‘20’.

prosody-configuration-Parameter: „ext-component-configuration“-Liste ext-components

External components use XEP-0114, which most standalone components support. To add an external component, you simply fill the hostname field. See https://prosody.im/doc/components. Defaults to ‘'()’.

Verfügbare ext-component-configuration-Felder sind:

Alle folgenden Felder, wie sie auch die prosody-configuration hat: admins, use-libevent?, modules-enabled, modules-disabled, groups-file, allow-registration?, ssl, c2s-require-encryption?, disable-sasl-mechanisms, s2s-require-encryption?, s2s-secure-auth?, s2s-insecure-domains, s2s-secure-domains, authentication, log, http-max-content-size, http-external-url, raw-content, und außerdem:

ext-component-configuration-Parameter: Zeichenkette component-secret

Das Passwort, das die Komponente für die Anmeldung benutzt.

ext-component-configuration-Parameter: Zeichenkette hostname

Der Rechnername für diese Komponente.

prosody-configuration-Parameter: Nichtnegative-ganze-Zahl-Liste component-ports

Port(s) Prosody listens on for component connections. Defaults to ‘'(5347)’.

prosody-configuration-Parameter: Zeichenkette component-interface

Die Schnittstelle, auf der Prosody auf Verbindungen zu Komponenten lauscht. Die Vorgabe ist ‘"127.0.0.1"’.

prosody-configuration-Parameter: Vielleicht-Roher-Inhalt raw-content

„Roher Inhalt“, der so, wie er ist, an die Konfigurationsdatei angefügt wird.

Möglicherweise möchten Sie einfach nur eine bestehende prosody.cfg.lua zum Laufen bringen. In diesem Fall können Sie ein opaque-prosody-configuration-Verbundsobjekt als der Wert des prosody-service-type übergeben. Wie der Name schon sagt, bietet eine opake Konfiguration keinerlei Unterstützung für Reflexion. Verfügbare opaque-prosody-configuration-Felder sind:

opaque-prosody-configuration-Parameter: „package“ prosody

Das Prosody-Paket.

opaque-prosody-configuration-Parameter: Zeichenkette prosody.cfg.lua

Der Inhalt, der als prosody.cfg.lua benutzt werden soll.

Wenn Ihre prosody.cfg.lua zum Beispiel nur aus der leeren Zeichenkette bestünde, könnten Sie einen Prosody-Dienst wie folgt instanziieren:

(service prosody-service-type
         (opaque-prosody-configuration
          (prosody.cfg.lua "")))

BitlBee-Dienst

BitlBee ist ein Zugang („Gateway“), der eine IRC-Schnittstelle für verschiedene Kurznachrichtenprotokolle wie XMPP verfügbar macht.

Variable: bitlbee-service-type

Dies ist der Diensttyp für den BitlBee-IRC-Zugangsdaemon (englisch „IRC Gateway Daemon“). Sein Wert ist eine bitlbee-configuration (siehe unten).

Damit BitlBee auf Port 6667 vom lokalen Rechner („localhost“) lauscht, fügen Sie diese Zeile zu Ihrem „services“-Feld hinzu:

Datentyp: bitlbee-configuration

Dies ist die Konfiguration für BitlBee. Sie hat folgende Felder:

interface (Vorgabe: "127.0.0.1")
port (Vorgabe: 6667)

Lauscht auf der Netzwerkschnittstelle, die der als interface angegebenen IP-Adresse entspricht, auf dem angegebenen port.

Wenn als interface 127.0.0.1 angegeben wurde, können sich nur lokale Clients verbinden; bei 0.0.0.0 können die Verbindungen von jeder Netzwerkschnittstelle aus hergestellt werden.

bitlbee (Vorgabe: bitlbee)

Das zu benutzende BitlBee-Paket.

plugins (Vorgabe: '())

Die Liste zu verwendender Plugin-Pakete – z.B. bitlbee-discord.

extra-settings (Vorgabe: "")

Ein Konfigurationsschnipsel, das wortwörtlich in die BitlBee-Konfigurationsdatei eingefügt wird.

Quassel-Dienst

Quassel ist ein verteilter IRC-Client, was bedeutet, dass sich ein oder mehr Clients mit dem zentralen Kern verbinden und die Verbindung wieder trennen können.

Variable: quassel-service-type

Dies ist der Diensttyp für den Daemon zum IRC-Hintergrundsystem („Backend“) Quassel. Sein Wert ist eine quassel-configuration (siehe unten).

Datentyp: quassel-configuration

Die Konfiguration für Quassel mit den folgenden Feldern:

quassel (Vorgabe: quassel)

Das zu verwendende Quassel-Paket.

interface (Vorgabe: "::,0.0.0.0")
port (Vorgabe: 4242)

Lauscht auf der/den Netzwerkschnittstelle(n), die den in der kommagetrennten interface-Liste festgelegten IPv4- oder IPv6-Schnittstellen entsprechen, auf dem angegebenen port.

loglevel (Vorgabe: "Info")

Die gewünschte Detailstufe der Protokollierung. Akzeptiert werden die Werte Debug (ausführlich zur Fehlersuche), Info, Warning (nur Warnungen und Fehler) und Error (nur Fehler).


Nächste: Telefondienste, Vorige: Mail-Dienste, Nach oben: Dienste   [Inhalt][Index]