Next: Servicios de telefonía, Previous: Servicios de correo, Up: Servicios [Contents][Index]
El módulo (gnu services messaging)
proporciona definiciones de
servicios Guix para servicios de mensajería. Actualmente proporciona los
siguientes servicios:
Este es el tipo para el servidor de comunicaciones
XMPP Prosody. Su valor debe ser un registro prosody-configuration
como en este ejemplo:
(service prosody-service-type
(prosody-configuration
(modules-enabled (cons* "groups" "mam" %default-modules-enabled))
(int-components
(list
(int-component-configuration
(hostname "conference.ejemplo.net")
(plugin "muc")
(mod-muc (mod-muc-configuration)))))
(virtualhosts
(list
(virtualhost-configuration
(domain "ejemplo.net"))))))
Véase a continuación detalles acerca de prosody-configuration
.
De manera predeterminada, Prosody no necesita demasiada
configuración. Únicamente un campo virtualhost
es necesario:
especifica el dominio en el que se desea que Prosody proporcione el
servicio.
Puede realizar varias comprobaciones preliminares sobre la configuración
generada con la orden prosodyctl check
.
Prosodyctl también le ayudará con la importación de certificados del
directorio letsencrypt
de modo que la usuaria prosody
puede
acceder a ellos. Véase https://prosody.im/doc/letsencrypt.
prosodyctl --root cert import /etc/letsencrypt/live
The available configuration parameters follow. Each parameter definition is
preceded by its type; for example, ‘string-list foo’ indicates that the
foo
parameter should be specified as a list of strings. Types
starting with maybe-
denote parameters that won’t show up in
prosody.cfg.lua
when their value is left unspecified.
También existe la posibilidad de especificar la configuración como una
cadena, por si tiene un archivo prosody.cfg.lua
antiguo que desea
transportar desde otro sistema; véase más detalles al final.
El tipo file-object
designa o bien un objeto “tipo-archivo”
(see objetos “tipo-archivo”) o un nombre de archivo.
Los campos disponibles de prosody-configuration
son:
prosody-configuration
: package prosody ¶El paquete Prosody.
prosody-configuration
: nombre-archivo data-path ¶Ruta del directorio de almacenamiento de datos de Prosody. Véase https://prosody.im/doc/configure. Su valor predeterminado es ‘"/var/lib/prosody"’.
prosody-configuration
: lista-file-object plugin-paths ¶Directorios de módulos adicionales. Los módulos se buscan en orden en todas las rutas especificadas. Véase https://prosody.im/doc/plugins_directory. Su valor predeterminado es ‘()’.
prosody-configuration
: nombre-archivo certificates ¶Cada máquina virtual y componente necesitan un certificado de manera que los clientes y servidores puedan verificar su identidad de manera segura. Prosody cargará de manera automática certificados/claves del directorio especificado aquí. Su valor predeterminado es ‘"/etc/prosody/certs"’.
prosody-configuration
: lista-string admins ¶Es una lista de cuentas con permisos de administración en el servidor. Tenga
en cuenta que debe crear las cuentas de manera separada. Véase
https://prosody.im/doc/admins y
https://prosody.im/doc/creating_accounts. Ejemplo: (admins
'("usuaria1@example.com" "usuaria2@example.net"))
Su valor predeterminado es ‘()’.
prosody-configuration
: boolean use-libevent? ¶Activa el uso de libevent para mejorar el rendimiento bajo altas cargas de trabajo. Véase https://prosody.im/doc/libevent. Su valor predeterminado es ‘#f’.
prosody-configuration
: lista-módulos modules-enabled ¶La lista de módulos de Prosody cargada durante el arranque. Busca en el
archivo de módulos mod_nombremodulo.lua
, por lo que asegúrese de que
también exista. La documentación de los módulos puede encontrarse en:
https://prosody.im/doc/modules.
Su valor predeterminado es ‘("roster" "saslauth" "tls" "dialback"
"disco" "carbons" "private" "blocklist" "vcard" "version" "uptime" "time"
"ping" "pep" "register" "admin_adhoc")’.
prosody-configuration
: lista-string modules-disabled ¶‘"offline"’, ‘"c2s"’ y ‘"s2s"’ se cargan de manera automática, pero puede desactivarlos si los añade a esta lista. Su valor predeterminado es ‘()’.
prosody-configuration
: file-object groups-file ¶Ruta a un archivo de texto donde se definan los grupos compartidos. Si esta ruta está vacía, ‘mod_groups’ no hace nada. Véase https://prosody.im/doc/modules/mod_groups. Su valor predeterminado es ‘"/var/lib/prosody/sharedgroups.txt"’.
prosody-configuration
: boolean allow-registration? ¶Desactiva la creación de cuentas de manera predeterminada, por seguridad. Véase https://prosody.im/doc/creating_accounts. Su valor predeterminado es ‘#f’.
prosody-configuration
: maybe-ssl-configuration ssl ¶Estas opciones de configuración están relacionadas con SSL/TLS. La mayor parte no se proporcionan para usar los valores predeterminados de Prosody. Si no entiende completamente estas opciones, no las añada a su configuración, es fácil aumentar la vulnerabilidad de su servidor si las usa. Véase https://prosody.im/doc/advanced_ssl_config.
Los campos disponibles de ssl-configuration
son:
ssl-configuration
: maybe-string protocol ¶Determina el inicio del protocolo usado (handshake).
ssl-configuration
: maybe-nombre-archivo key ¶Ruta a su archivo de clave privada.
ssl-configuration
: maybe-nombre-archivo certificate ¶Ruta al archivo de su certificado.
ssl-configuration
: file-object capath ¶Ruta al directorio que contiene los certificados raíz en los que desea que Prosody confíe al verificar los certificados de servidores remotos. Su valor predeterminado es ‘"/etc/ssl/certs"’.
ssl-configuration
: maybe-file-object cafile ¶Ruta al archivo que contiene los certificados raíz en los que desea que
Prosody confíe. Es similar a capath
pero con todos los certificados
concatenados en el mismo archivo.
ssl-configuration
: maybe-lista-string verify ¶Una lista de opciones de verificación (son de manera prácticamente directa
las opciones de set_verify()
de OpenSSL).
ssl-configuration
: maybe-lista-string options ¶A list of general options relating to SSL/TLS. These map to OpenSSL’s
set_options()
. For a full list of options available in LuaSec, see
the LuaSec source.
ssl-configuration
: maybe-entero-no-negativo depth ¶Cómo de larga puede ser la cadena de autoridades de certificación a comprobar cuando se busque un certificado de confianza.
ssl-configuration
: maybe-string ciphers ¶Una cadena de algoritmos de cifrado de OpenSSL. Selecciona que algoritmos ofrecerá Prosody a los clientes, y en qué orden.
ssl-configuration
: maybe-nombre-archivo dhparam ¶Una ruta a un archivo que contenga parámetros para el intercambio de claves
Diffie-Hellman. Puede crear un archivo de este tipo con: openssl
dhparam -out /etc/prosody/certs/dh-2048.pem 2048
ssl-configuration
: maybe-string curve ¶Curva para el protocolo Diffie-Hellman de curva elíptica. El valor predeterminado de Prosody es ‘"secp384r1"’.
ssl-configuration
: maybe-string-list verifyext ¶Una lista de opciones de verificación adicionales.
ssl-configuration
: maybe-string password ¶Contraseña para claves privadas cifradas.
prosody-configuration
: boolean c2s-require-encryption? ¶Determina si se fuerza que todas las conexiones cliente-servidor vayan cifradas o no. Véase https://prosody.im/doc/modules/mod_tls. Su valor predeterminado es ‘#f’.
prosody-configuration
: lista-string disable-sasl-mechanisms ¶Conjunto de mecanismos que no se ofrecerán nunca. Véase https://prosody.im/doc/modules/mod_saslauth. Su valor predeterminado es ‘("DIGEST-MD5")’.
prosody-configuration
: boolean s2s-require-encryption? ¶Determina si se fuerza que todas las conexiones servidor-servidor vayan cifradas o no. Véase https://prosody.im/doc/modules/mod_tls. Su valor predeterminado es ‘#f’.
prosody-configuration
: boolean s2s-secure-auth? ¶Determina si el cifrado y la identificación mediante certificado son necesarias. Esto proporciona una seguridad ideal, pero necesita que los servidores con los que se comunique permitan cifrado y tengan presentes certificados válidos en los que se tenga confianza. Véase https://prosody.im/doc/s2s#security. Su valor predeterminado es ‘#f’.
prosody-configuration
: lista-string 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
: lista-string s2s-secure-domains ¶Aún en el caso de mantener s2s-secure-auth?
, puede exigir
certificados válidos para algunos dominios especificando una lista
aquí. Véase https://prosody.im/doc/s2s#security.
Su valor predeterminado es ‘()’.
prosody-configuration
: string authentication ¶Selecciona el motor de identificación usado. La implementación predeterminada almacena las contraseñas en texto claro y usa el almacenamiento de datos configurado en Prosody para los datos de identificación. Si no confía en su servidor le recomendamos que visite https://prosody.im/doc/modules/mod_auth_internal_hashed para obtener información sobre el motor de almacenamiento tras hash. Véase también https://prosody.im/doc/authentication. Su valor predeterminado es ‘"internal_plain"’.
prosody-configuration
: maybe-string log ¶Determina las opciones del registro. La configuración avanzada del registro no está implementada todavía para el servicio Prosody. Véase https://prosody.im/doc/logging. Su valor predeterminado es ‘"*syslog"’.
prosody-configuration
: nombre-archivo pidfile ¶Archivo en el que se escribirá el PID. Véase https://prosody.im/doc/modules/mod_posix. Su valor predeterminado es ‘"/var/run/prosody/prosody.pid"’.
prosody-configuration
: maybe-entero-no-negativo http-max-content-size ¶Tamaño máximo permitido del cuerpo (body) HTTP (en bytes)
prosody-configuration
: maybe-string http-external-url ¶Algunos módulos exponen sus propias URL de diversas maneras. Esta URL se
construye en base al protocolo, máquina y puerto usados. Si Prosody se
encuentra tras un proxy, se usara http-external-url
como URL
pública. Véase https://prosody.im/doc/http#external_url.
prosody-configuration
: lista-virtualhost-configuration virtualhosts ¶Una máquina (host) en Prosody es un dominio en el que se pueden crear cuentas de usuaria. Por ejemplo, si desea que sus usuarias tengan direcciones como ‘"juan.herrero@example.com"’ necesitará añadir una máquina ‘"example.com"’. Todas las opciones en esta lista son efectivas únicamente en esa máquina.
Nota: The name virtual host is used in configuration to avoid confusion with the actual physical host that Prosody is installed on. A single Prosody instance can serve many domains, each one defined as a VirtualHost entry in Prosody’s configuration. Conversely a server that hosts a single domain would have just one VirtualHost entry.
Véase https://prosody.im/doc/configure#virtual_host_settings.
Los campos disponibles de virtualhost-configuration
son:
todos estos campos de prosody-configuration
: 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
, además de:
virtualhost-configuration
: string domain ¶Dominio en el que desea que Prosody proporcione servicio.
prosody-configuration
: lista-int-component-configuration int-components ¶Los componentes son servicios adicionales en un servidor que están disponibles a los clientes, habitualmente en un subdominio del servidor principal (como por ejemplo ‘"micomponente.example.com"’). Algunos ejemplos de componentes pueden ser los servidores de salas de conversación, los directorios de usuarias o las pasarelas a otros protocolos.
Los componentes internos se implementan con módulos específicos de Prosody. Para añadir un componente interno, simplemente rellene el campo del nombre de máquina, y el módulo que desea usar para el componente.
Véase https://prosody.im/doc/components. Su valor predeterminado es ‘()’.
Los campos disponibles de int-component-configuration
son:
todos estos campos de prosody-configuration
: 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
, además de:
int-component-configuration
: string hostname ¶Nombre de máquina del componente.
int-component-configuration
: string plugin ¶Módulo que desea usar para el componente.
int-component-configuration
: maybe-mod-muc-configuration mod-muc ¶Multi-user chat (MUC) es el módulo de Prosody que permite la creación de salas de conversación/conferencias para usuarias XMPP.
Información general sobre la configuración y el uso de las salas de conversación multi-usuaria puede encontrarse en la documentación “Chatrooms” (https://prosody.im/doc/chatrooms), que debería leer si no conoce las salas de conversación de XMPP.
Véase también https://prosody.im/doc/modules/mod_muc.
Los campos disponibles de mod-muc-configuration
son:
mod-muc-configuration
: string name ¶El nombre devuelto en las respuestas de descubrimiento de servicios. Su valor predeterminado es ‘"Prosody Chatrooms"’.
mod-muc-configuration
: string-o-boolean restrict-room-creation ¶Si es ‘#t’, únicamente se permitirá a las administradoras la creación de nuevas salas de conversación. En otro caso cualquiera puede crear una sala. El valor ‘"local"’ restringe la creación a usuarias en el dominio superior del servicio. Por ejemplo ‘usuaria@example.com’ puede crear grupos en ‘rooms.example.com’. El valor ‘"admin"’ restringe el servicio a las administradoras únicamente. Su valor predeterminado es ‘#f’.
mod-muc-configuration
: entero-no-negativo max-history-messages ¶Número máximo de mensajes históricos que se enviarán a quien se acabe de unir a la sala. Su valor predeterminado es ‘20’.
prosody-configuration
: lista-ext-component-configuration ext-components ¶Los componentes externos usan XEP-0114, el cual se implementa en la mayor parte de componentes independientes. Para añadir un componente externo, simplemente rellene el campo de nombre de máquina (hostname). Véase httos://prosody.im/doc/components. Su valor predeterminado es ‘()’.
Los campos disponibles de ext-component-configuration
son:
todos estos campos de prosody-configuration
: 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
, además de:
ext-component-configuration
: string component-secret ¶Contraseña usada por el componente para el ingreso al sistema.
ext-component-configuration
: string hostname ¶Nombre de máquina del componente.
prosody-configuration
: lista-entero-no-negativo component-ports ¶Puerto o puertos en los que prosody escucha conexiones de componentes. Su valor predeterminado es ‘(5347)’.
prosody-configuration
: string component-interface ¶Interfaz en la que Prosody escucha conexiones de componentes. Su valor predeterminado es ‘"127.0.0.1"’.
prosody-configuration
: maybe-raw-content raw-content ¶Contenido que se añadirá directamente al archivo de configuración.
Puede ser que únicamente desee usar un archivo prosody.cfg.lua
ya
creado. En ese caso, puede proporcionar un registro
opaque-prosody-configuration
como el valor de
prosody-service-type
. Como su nombre en inglés indica, una
configuración opaca no tiene gran capacidad reflexiva. Los campos
disponibles de opaque-prosody-configuration
son:
opaque-prosody-configuration
: package prosody ¶El paquete prosody.
opaque-prosody-configuration
: string prosody.cfg.lua ¶El contenido usado para prosody.cfg.lua
.
Por ejemplo, si su prosody.cfg.lua
es simplemente la cadena vacía,
podría instanciar el servicio de Prosody de esta manera:
(service prosody-service-type
(opaque-prosody-configuration
(prosody.cfg.lua "")))
BitlBee es una pasarela que proporciona una interfaz IRC a una variedad de protocolos como XMPP.
Este es el tipo de servicio para el daemon de pasarela IRC
BitlBee. Su valor es un
bitlbee-configuration
(véase a continuación).
Para que BitlBee escuche en el puerto 6667 de localhost, añada esta línea a sus servicios:
Esta es la configuración para BitlBee, con los siguientes campos:
interface
(predeterminada: "127.0.0.1"
)port
(predeterminado: 6667
)Escucha en la interfaz de red correspondiente a la dirección IP especificada en interface, en el puerto port.
Cuando interface es 127.0.0.1
, únicamente se permite la
conexión de clientes locales; cuando es 0.0.0.0
, las conexiones
pueden venir de cualquier interfaz de red.
bitlbee
(predeterminado: bitlbee
)El paquete BitlBee usado.
plugins
(predeterminados: '()
)Lista de paquetes de módulos usados—por ejemplo, bitlbee-discord
.
extra-settings
(predeterminado: ""
)Fragmento de configuración añadido tal cual al archivo de configuración de BitlBee.
Quassel es un cliente IRC distribuido, lo que significa que uno o más clientes se pueden conectar y desconectar del núcleo central.
Es el tipo de servicio del daemon del motor IRC de
Quassel. Su valor es un
quassel-configuration
(véase a continuación).
Es la configuración para Quassel, con los siguientes campos:
quassel
(predeterminado: quassel
)El paquete Quassel usado.
interface
(predeterminada: "::,0.0.0.0"
)port
(predeterminado: 4242
)Escucha en la o las interfaces de red que correspondan con las direcciones IPv4 o IPv6 delimitadas por comas especificadas en interface, en el puerto port.
loglevel
(predeterminado: "Info"
)El nivel de registro deseado. Los valores aceptados son Debug, Info, Warning y Error.
Next: Servicios de telefonía, Previous: Servicios de correo, Up: Servicios [Contents][Index]