Nächste: Telefondienste, Vorige: Mail-Dienste, Nach oben: Dienste [Inhalt][Index]
Das Modul (gnu services messaging)
stellt Guix-Dienstdefinitionen für
Kurznachrichtendienste, d.h. „Instant Messaging“, zur Verfügung. Zurzeit
werden folgende Dienste unterstützt:
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 ¶Zusätzliche Plugin-Verzeichnisse. Plugins werden der Reihe nach in allen festgelegten Pfaden gesucht. Siehe https://prosody.im/doc/plugins_directory. Die Vorgabe ist ‘()’.
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 ¶Dies ist eine Liste der Benutzerkonten, die auf diesem Server
Administratoren sind. Beachten Sie, dass Sie die Benutzerkonten noch separat
als Nutzer erzeugen lassen müssen. Siehe https://prosody.im/doc/admins
and https://prosody.im/doc/creating_accounts. Ein Beispiel:
(admins '("user1@example.com" "user2@example.net"))
Die Vorgabe ist
‘()’.
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 ¶Die Liste der Module, die Prosody beim Starten lädt. Es sucht nach
mod_modulename.lua
im Plugin-Verzeichnis, also sollten Sie
sicherstellen, dass es dort auch existiert. Dokumentation über Module können
Sie hier finden: https://prosody.im/doc/modules. Die Vorgabe ist
‘("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"’ und ‘"s2s"’ werden automatisch geladen, aber wenn Sie sie deaktivieren möchten, tragen Sie sie einfach in die Liste ein. Die Vorgabe ist ‘()’.
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 ¶Welche Mechanismen angeboten werden. Siehe https://prosody.im/doc/modules/mod_saslauth. Die Vorgabe ist ‘("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 ¶Viele Server bieten keine Unterstützung für Verschlüsselung oder ihre Zertifikate sind ungültig oder selbstsigniert. Hier können Sie Domains eintragen, die von der Pflicht zur Authentisierung mit Zertifikaten ausgenommen werden. Diese werden dann über DNS authentifiziert. Siehe https://prosody.im/doc/s2s#security. Die Vorgabe ist ‘()’.
prosody-configuration
-Parameter: Zeichenketten-Liste s2s-secure-domains ¶Selbst wenn Sie s2s-secure-auth?
deaktiviert lassen, können Sie noch
immer gültige Zertifikate bei manchen Domains verlangen, indem Sie diese
hier auflisten. Siehe https://prosody.im/doc/s2s#security. Die Vorgabe
ist ‘()’.
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.
Siehe https://prosody.im/doc/components. Die Vorgabe ist ‘()’.
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 ¶Externe Komponenten benutzen XEP-0114, das von den meisten eigenständigen
Komponenten unterstützt wird. Um eine externe Komponente hinzuzufügen,
tragen Sie einfach den Rechnernamen ins hostname
-Feld ein. Siehe
https://prosody.im/doc/components. Die Vorgabe ist ‘()’.
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 ¶Der/Die Port(s), wo Prosody auf Verbindungen zu Komponenten lauscht. Die Vorgabe ist ‘(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 ist ein Zugang („Gateway“), der eine IRC-Schnittstelle für verschiedene Kurznachrichtenprotokolle wie XMPP verfügbar macht.
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:
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 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.
Dies ist der Diensttyp für den Daemon zum IRC-Hintergrundsystem („Backend“)
Quassel. Sein Wert ist eine
quassel-configuration
(siehe unten).
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]