<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=O_Servidor_XMPP_prosody</id>
	<title>O Servidor XMPP prosody - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=O_Servidor_XMPP_prosody"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=O_Servidor_XMPP_prosody&amp;action=history"/>
	<updated>2026-10-23T22:58:10Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=O_Servidor_XMPP_prosody&amp;diff=56766&amp;oldid=prev</id>
		<title>Bruno en 17:29 16 may 2015</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=O_Servidor_XMPP_prosody&amp;diff=56766&amp;oldid=prev"/>
		<updated>2015-05-16T17:29:00Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Á hora de instalar un servidor do protocolo XMPP (Jabber) para mensaxería interna nunha rede local, moitos elixen &amp;#039;&amp;#039;jabber&amp;#039;&amp;#039;, &amp;#039;&amp;#039;ejabberd&amp;#039;&amp;#039; ou &amp;#039;&amp;#039;openfire&amp;#039;&amp;#039;, pero aínda que funcionais, estas aplicacións poden chegar a demandar bastantes recursos.&lt;br /&gt;
&lt;br /&gt;
Se un posúe unha rede pequena ou mediana e só desexa un simple servizo de mensaxería instantánea, afortunadamente existe unha alternativa de servidor livián chamada &amp;#039;&amp;#039;&amp;#039;prosody&amp;#039;&amp;#039;&amp;#039;, que aínda que está programado en LUA que é unha linguaxe interpretada, segundo os seus desenvolvedores funciona moi ben grazas a luajit. &lt;br /&gt;
&lt;br /&gt;
==Instalación==&lt;br /&gt;
O primeiro paso é engadir o repositorio oficial de Prosody.&lt;br /&gt;
&lt;br /&gt;
Engadimos a seguinte liña ao ficheiro &amp;#039;&amp;#039;/etc/apt/sources.list&amp;#039;&amp;#039; ou a un ficheiro con extensión &amp;#039;&amp;#039;.list&amp;#039;&amp;#039; dentro do directorio &amp;#039;&amp;#039;/etc/apt/sources.list.d/&amp;#039;&amp;#039; como pode ser &amp;#039;&amp;#039;prosody.list&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
deb http://packages.prosody.im/debian stable main&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
No caso de que a distribución fose diferente da debian actual (jessie), habería que cambiar a palabra &amp;#039;&amp;#039;stable&amp;#039;&amp;#039; polo nome da distribución de (Debian: wheezy. Ubuntu: trusty, utopic, precise ...).&lt;br /&gt;
&lt;br /&gt;
Engadimos tamén a chave do repositorio&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://prosody.im/files/prosody-debian-packages.key&lt;br /&gt;
apt-key add prosody-debian-packages.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Actualizamos os repositorios e instalamos o paquete &amp;#039;&amp;#039;prosody&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get install prosody&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuración básica==&lt;br /&gt;
A configuración de Prosody é mantida nun só arquivo, &amp;#039;&amp;#039;&amp;#039;prosody.cfg.lua&amp;#039;&amp;#039;&amp;#039; que se atopa dentro &amp;#039;&amp;#039;/etc/prosody/&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
A configuración está dividida en dúas partes. A primeira parte é coñecida coma a sección &amp;quot;global&amp;quot;. Todos os axustes daquí aplícanse ao servidor completo, e son a configuración por defecto para todos os host virtuais.&lt;br /&gt;
&lt;br /&gt;
A segunda metade do arquivo é unha serie de VirtualHost e definicións de compoñentes. Os axustes baixo cada VirtualHost ou cada Compoñente aplícanse soamente a ese host virtual ou compoñente. &lt;br /&gt;
&lt;br /&gt;
===Engadir Host Virtuais===&lt;br /&gt;
Un host virtual en Prosody é un dominio no cal se poden crear contas de usuario. Por exemplo se vostede quere que os seus usuarios teñen enderezos como john.smith@example.com entón vostede necesita engadir un host virtual chamado &amp;quot;example.com&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Engadir un host virtual ao servidor é tan fácil como engadir unha liña ao arquivo de configuración baixo os axustes globais. Para example.org, un engadiríase:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
VirtualHost &amp;quot;example.org&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Todas as opcións baixo este encabezamento aplicaranse soamente a este anfitrión ata o seguinte &amp;#039;&amp;#039;VirtualHost&amp;#039;&amp;#039; ou liña coa directiva  &amp;#039;&amp;#039;Component&amp;#039;&amp;#039;. Hai que ter coidado sempre de engadilo no lugar correcto despois de todas as opcións globais.&lt;br /&gt;
&lt;br /&gt;
Nota: O nome host &amp;quot;virtual&amp;quot; é utilizado en configuración para evitar confusión co host físico real no que se instala Prosody. Unha soa instancia de Prosody pode servir moitos dominios, cada un definido como entrada de VirtualHost á configuración de Prosody. &lt;br /&gt;
Un servidor que ofrece un só dominio tería unha única entrada de VirtualHost. &lt;br /&gt;
&lt;br /&gt;
===Encriptación===&lt;br /&gt;
Todo host virtual, necesita un certificado e unha chave privada. O FQDN do certificado deberá ser o mesmo que o nome do host virtual. Deberemos introducir as rutas aos ficheiros que teñen a chave privada e o certificado dentro da configuración do host virtual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
ssl = {&lt;br /&gt;
	key = &amp;quot;/etc/prosody/certs/example.com.key&amp;quot;;&lt;br /&gt;
	certificate = &amp;quot;/etc/prosody/certs/example.com.crt&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Administradores do sitio===&lt;br /&gt;
Hai que indicar tamén quen é o administrador de cada host virtual:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
admins = { &amp;quot;admin1@example.com&amp;quot;, &amp;quot;admin2@example.com&amp;quot; }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Autenticación===&lt;br /&gt;
Por defecto a autenticación faise mediante texto plano&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
authentication = &amp;quot;internal_plain&amp;quot; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Tamén poderiamos indicar:&lt;br /&gt;
*&amp;#039;&amp;#039;internal_plain&amp;#039;&amp;#039;: Chaves en texto plano almacenadas de xeito privado pola aplicación Prosody.&lt;br /&gt;
*&amp;#039;&amp;#039;internal_hashed&amp;#039;&amp;#039;: Chaves hash almacenadas de xeito interno por Prosody&lt;br /&gt;
*&amp;#039;&amp;#039;cyrus&amp;#039;&amp;#039;: Integración con Cyrus SASL (LDAP, PAM, …)&lt;br /&gt;
*&amp;#039;&amp;#039;anonymous&amp;#039;&amp;#039;: Mecanismo SASL &amp;quot;anónimo&amp;quot; con usuarios aleatorios sen contrasinal.&lt;br /&gt;
&lt;br /&gt;
==Creación de contas de usuario==&lt;br /&gt;
Os usuarios de Prosody, a non ser que empreguemos outro tipo de autenticación non son usuarios do sistema. Prosody ten unha aplicación chamada &amp;#039;&amp;#039;prosodyctl&amp;#039;&amp;#039; para crear usuarios&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
prosodyctl adduser tom@example.com&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Pediranos introducir dúas veces o contrasinal. Tamén podemos indicar todo nunha liña&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
prosodyctl register salvatore example.com mypassword&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Grupos de usuarios==&lt;br /&gt;
O módulo &amp;#039;&amp;#039;mod_groups&amp;#039;&amp;#039; permite aos administradores definir grupos de usuarios que farán que lle aparezan aos usuarios na súa lista de contactos sen ter que engadilos manualmente.&lt;br /&gt;
&lt;br /&gt;
Para habilitar o módulo engadimos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
    modules_enabled = {&lt;br /&gt;
        -- Other modules&lt;br /&gt;
        &amp;quot;groups&amp;quot;; -- Enable mod_groups&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    groups_file = &amp;quot;/etc/prosody/sharedgroups.txt&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemplo do ficheiro de usuarios é o seguinte:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
    [Support Team]&lt;br /&gt;
    support@example.com&lt;br /&gt;
    john.doe@example.com&lt;br /&gt;
    &lt;br /&gt;
    [Development Team]&lt;br /&gt;
    hardworkingdeveloper@example.net=Joe Coder&lt;br /&gt;
    other.dev@example.com=Mel&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Os dous últimos, teñen un nome predefinido, que será o que lle apareza a cada un dos usuarios no listado.&lt;br /&gt;
&lt;br /&gt;
==Rexistros DNS==&lt;br /&gt;
O protocolo XMPP protocol xestiona rexistros de tipo SRV, como por exemplo para o dominio example.org, pódense crear os seguintes rexistros:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#srvce.prot.owner-name  [ttl]  [class]   rr  pri  weight port target&lt;br /&gt;
_xmpp-client._tcp.example.org.  IN      SRV  10   100    5222 im.example.org.&lt;br /&gt;
_xmpp-server._tcp.example.org.  IN      SRV  10   100    5269 im.xample.org.&lt;br /&gt;
im.example.org.            A    192.0.2.12&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
sendo 192.0.2.12 o enderezo IP do servidor XMPP.&lt;br /&gt;
&lt;br /&gt;
No caso de que o servidor DNS empregado fose dnsmasq introducimos&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
srv-host=_xmpp-server._tcp.example.org,im.example.org,5269,10,100&lt;br /&gt;
srv-host=_xmpp-client._tcp.example.org,im.example.org,5222,10,100&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bruno</name></author>
	</entry>
</feed>