Llevamos varias entradas hablando de Jabber/XMPP. Ya es hora de instalar nuestro propio servidor. Instalaremos prosody un servidor Jabber/XMPP que es software libre.
Instalación de Prosody
Añadiremos el repositorio oficial de prosody y la llave con el siguiente comando:
echo deb http://packages.prosody.im/debian wheezy main | tee -a /etc/apt/sources.list
wget https://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add -
Seguidamente actualizaremos los repositorios para obtener la última versión:
apt-get update
Proseguiremos con la instalación:
apt-get install prosody
Y ya tendremos nuestro servidor instalado. Nos falta configurarlo.
Configuración
La configuración de prosody se encuentra en un archivo llamado prosody.cfg.lua. Vamos a editarlo con nano:
nano /etc/prosody/prosody.cfg.lua
En la línea 155 pondremos el dominio en el que se encuentra nuestro servidor.
VirtualHost «elbinario.net»
Y eliminaremos la línea 156 que dice:
enabled = false — Remove this line to enable this host
También comentaremos el VirtualHost «localhost» para que no nos de problemas. Nos debería quedar así:
--VirtualHost "localhost"
Si eliminasemos o comentasemos las líneas correspondientes al SSL ya funcionaría, pero cómo nos improta la privacidad, vamos a activar SSL.
Activar SSL
Lo primero que vamos a hacer va a ser generar las claves SSL. Si usáis la versión 0.9, la que viene con el repositorio que hemos añadido al principio, existe un comando para generar los certificados fácilmente:
prosodyctl cert generate elbinario.net
Le diremos que queremos una clave de 4096 bits.
Si usamos una versión anterior, generaremos el certificado así:
openssl req -new -x509 -days 365 -nodes -out "elbinario.net.crt" -newkey rsa:4096 -keyout "elbinario.net.key"
Y nos irá preguntando cosas para el certificado. Responded lo que queráis. Al final nos saldrá la ruta del certificado:
Config written to /var/lib/prosody/elbinario.net.cnf
Certificate written to /var/lib/prosody/elbinario.net.crt
Debajo del campo VirtualHost en la línea 155, está la opción SSL. Debeís darle las rutas de vuestros certificados. Os debería quedar algo así:
ssl = {
key = » /var/lib/prosody/elbinario.net.key»;
certificate = «/var/lib/prosody/elbinario.net.crt»;
}
Nota: En la configuración por defecto hay dos campos ssl, podemos llenar los dos con la misma configuración o comentar uno de los dos. Funcionará en ambos casos, pero es importante que no sean distintos, en ese caso, os dará error al iniciar prosody.
Reiniciamos el servidor y todo debería funcionar. Sólo nos faltará crear nuestro usuario.
service prosody restart
Añadir usuarios
Para añadir usuarios podemos hacerlo desde la terminal, ejecutando el siguiente comando:
prosodyctl adduser [email protected]
Añadir nuestro usuario como administrador
admins = {«[email protected]» }
Cifrar nuestras conversaciones con OTR
Para cifrar nuestras conversaciones de extremo a extremo, sin que ni nuestro propio servidor entienda que estamos hablando, podéis ver una guía aquí.
hola, primero felicidades por el post es genial.
Tengo algunas dudas, quiero crear un servidor xmpp. Cuento con un servidor dell poweredge r 905 en el cual quiero implementar xmpp con Debian. Mis dudas son:
– el dominio tiene que ser especial? Cuento con un dominio godaddy en el que tengo una pagina web, lo podria usar? o requiero uno en especial.
– Se requiere una ip estatica para el servidor? e leido que se requiere en algunos post
Gracias.
Creo que Mari te ha contestado por email.
Si tienes más dudas no dudes en entrar por el chat y comentarlas :). Un saludo.
Chat: Entrar al chat pinchando aquí
[….] Restarting Prosody XMPP Server: prosody
A problem occured while reading the config file /etc/prosody/prosody.cfg.lua:
Error: /etc/prosody/prosody.cfg.lua:163: unexpected symbol near ‘�’
More help on configuring Prosody can be found at http://prosody.im/doc/configure
Good luck!
failed!
Por mas que modifico la línea a mano, no consigo quitar el error! Además de hacerlo de varias paginas…sigue igual
Tiene pinta de que tienes un error de codificación. Si quieres pega tu config en el pad o entra en jabber y miraremos de ayudarte si hay alguien en ese momento.
Lo primero, gracias por el tutorial. Ahora una duda que me gustaría saber si me podéis resolver. Tengo un pequeño servidor debian instalado en una VPS de una empresa en EEUU, sería más seguro instalar un servidor XMPP en esta VPS o darme de alta en algún site tipo duckgo????
Muchas gracias
Muy buena pregunta ;)
Nosotros siempre fomentamos los servicios auto-alojados, pero en este caso, la verdad es que personalmente no me fiara de un VPS alojado en EEUU, puesto que las leyes de privacidad allí, no son para nada garantistas, por lo que en el caso que comentas yo me fiara mas de duckgo, pero lo ideal seria tener un propio vps en otro país de Europa.
Muchas gracias por la aclaración, hasta que encuentre una oferta de un VPS en Europa, me quedaré con DuckGo.