Crea tu propio servidor XMPP ejabberd

xmppEn este tutorial vamos a instalar ejabberd en nuestro servidor. Este daemon es una implementación libre del protocolo de mensajería instantánea XMPP.

Dicho protocolo es usado frecuentemente para la prestación de muchos servicios por google, facebook, tuenti... A mi juicio, la gran ventaja que ofrece es que es posible crear una gran red de servidores de forma que cada uno no dependa de otro y poder ofrecer un servicio descentralizado e independiente. Es decir, los usuarios conectados con el servidor que se monte siguiendo este tutorial tendrán conectividad plena con los de otros servidores XMPP tal como funciona el correo electrónico, por ejemplo.

[caption id="attachment_6362" align="aligncenter" width="818"]funcionamiento xmpp Ejemplo de envío de mensaje desde mengano a fulano, asociados a dos servidores distintos.[/caption]

Las posibilidades que ofrece, dependen en gran medida de la aplicación cliente que se autentifique con el servidor, estas pueden ser sin perjuicio de otras que me deje en el tintero:

  • Chat
  • Chat de grupo (MUC)
  • Transferencia de archivos.
  • Voz
  • Vídeo (Jingle)

Hay un manual completo oficial http://www.ejabberd.im/files/doc/guide.html

A ELLO: Para instalar el servidor en debian/ubuntu, como de costumbre:
sudo apt-get update
sudo apt-get install ejabberd
Modificación del archivo de configuración.

Lo más difícil de todo, que tampoco lo es tanto, es modificar el archivo de configuración /etc/ejabberd/ejabberd.cfg

sudo nano /etc/ejabberd/ejabberd.cfg
Se buscan las líneas:
%%Admin user
{acl, admin, {user, "", "localhost"}}.

%%Hostname
{hosts, ["localhost"]}.
Al final quedarán de la siguiente forma:
%%Admin user
{acl, admin, {user, "administrador", "servidor.es"}}.

%%Hostname
{hosts, ["servidor.es"]}.

Donde "administrador" es el nombre de quien queráis que administre el servidor. (aun no lo hemos creado) (hay que ponerlo con comillas incluidas). Donde servidor.es es el DNS o la dirección IP del servidor. (las cuentas de usuario serán del tipo usuario@servidor.es) En ambos sitios se pueden incluir varios separados por comas.

Ahora creamos el usuario administrador. Para que los cambios escritos en el archivo tengan efecto reiniciamos el servidor ejabberd. También vale reiniciar la máquina.

sudo service ejabberd restart
Creamos el usuario:
sudo ejabberdctl register administrador servidor.es 123patata

Donde administrador es el usuario que queramos que sea el administrador (el mismo que pusimos en el archivo), servidor.es el servidor (también ha de coincidir con el del archivo) y 123patata la contraseña de usuario administrador.

Con esto ya deberíamos tener listo el servidor.

¡Perfecto!El servidor está listo para funcionar.
COSAS ÚTILES:

Ejabberd tiene un panel de administración web accesible desde el puerto 5280 http://servidor.es:5280/admin se entra con el usuario y contraseña escritos anteriormente.

[caption id="attachment_6350" align="aligncenter" width="600"]panel administracion ejjaberd panel administracion ejjaberd[/caption] Para agregar más usuarios se puede hacer desde ese panel o con el comando:
sudo ejabberdctl register fulano servidor.es 123patata2

Donde fulano es el nombre del nuevo usuario y 123patata2 su contraseña. (servidor.es es el servidor que debe coincidir con el del archivo ejabberd.cfg)

para eliminar un usuario, también desde el panel o con el comando:

sudo ejabberdctl unregister fulano
Hay muchos clientes disponibles para este servidor:

Linux y windows: pidgin o jitsi De forma nativa algunas distribuciones traen clientes XMPP (p. ej: Empathy)

Para android yo recomiendo Xabber. Solo tiene chat y chat multiusuario pero lo que hace lo hace muy bien y es de código abierto. Además tiene sistema OTR de cifrado para los más paranoicos.

[caption id="attachment_6351" align="aligncenter" width="480"]aplicacion para movil ejemplo de usuarios conectados a nuestro servidor desde android[/caption]

Planes


  • Básico
  • 0 €/mes
  • Acceso a cursos gratuitos
  • Preguntar dudas en cada curso
  • ¡Lo quiero!