Page cover

Ejabberd - XMPP

Se trata de un servidor de mensajería instantánea de código abierto. Válido para plataformas Unix BSD, GNU/Linux o Microsoft Windows entre otras. Para la comunicación instantánea se utiliza XMPP.

Alexey Shchepin fundó el proyecto en 2002 y continúa manteniéndolo. El nombre « ejabberd » significa « Erlangarrow-up-right Jabberarrow-up-right Daemonarrow-up-right ». Se escribe en letras minúsculas solamente, que es uso común en el mundo de Unixarrow-up-right. El objetivo del proyecto ejabberd es la creación de un servidor XMPParrow-up-right estable y con variedad de posibilidades.

La documentación y casos de uso la puedes encontrar aquí: https://docs.ejabberd.im/use-cases/arrow-up-right

Vamos a ver como funciona:

Instala el software

Lo primero, como siempre, será actualizar los paquetes de nuestro sistema:

apt update
apt upgrade

Tras tener los paquetes actualizados, procedemos a instalar eJabberd. Para eso nos descargaremos el paquete directamente desde el repositorio oficial de eJabberdarrow-up-right:

wget https://github.com/processone/ejabberd/releases/download/23.01/ejabberd_23.01-1_amd64.deb
sudo dpkg -i ejabberd*.deb
circle-exclamation

Una vez se hayan instalado todos los paquetes, procedemos a parar el servicio.

sudo systemctl stop ejabberd

Configuración de eJabberd

A continuación configuraremos el servicio de eJabber, como hemos configurado anteriormente el hostname del servidor, tendremos configuración ya con nuestro dominio. Para eso editaremos el fichero de configuración:

Ahora añadiremos o modificaremos:

  1. Añadimos el dominio del servidor al host

  1. Buscamos el apartado trusted_network y lo ponemos en all

  2. Ahora le vamos a dar permisos de administrador al usuario admin que hemos creado:

El acceso web viene habilitado por defecto por las siguientes líneas, no hace falta que cambies nada:

La interfaz web usa el protocolo HTTP a través del puerto 5280

Vamos hasta el apartado de mod_muc para añadir un host personalizado:

circle-exclamation

Comprobar configuración

Con eJabberd hay una forma para comprobar que la configuración que tenemos es correcta, para ello ejecutaremos este comando:

La salida de este comando es el siguiente:

Si pulsamos enter para continuar, nos mostrará el log del inicio del servicio y podremos acceder al panel de admin.

Registrar usuarios en ejabberd

Ahora que tenemos todo funcionando, podemos crear un usuario para comprobar que funciona en un cliente de XMPP:

Debemos crear primero de todo el usuario admin:

Para comprobar que usuarios hay creados podemos usar el comando:

Acceso a panel de administración

Ahora podemos acceder al acceso web desde http://[tu_ip]:5280/admin y nos cargará lo siguiente tras iniciar sesión con el usuario admin@[tu_dominio]:

Recuerda poner el dominio correcto
Panel de administración de ejabberd

Lo que deberíamos hacer ahora es crear dos usuarios normales para probar la conexión. Para ello accede a Dominios virtuales>localhost>usuarios:

Usuarios creados

Configurar cuenta de XMPP en un cliente con Pidgin

Podemos utilizar el cliente que más nos guste, hay una lista muy larga dependiendo sistemas operativosarrow-up-right y versiones como Dino pero en este caso usaremos Pidgin, que también es un cliente XMPP bastante sencillo y agradable.

Utilizaremos DOS máquinas virtuales cada una con una cuenta diferente y configuraremos:

  • Nombre: (el que hayas creado en el admin)

  • Dominio: alexdns.local

  • Recurso: (opcional, es para identificar dispositivos)

  • Contraseña: ****

Debes pasar a opciones avanzadas y configurar "Conectar con el servidor" y poner la IP correcta:

Ventana de configuración de cuenta de usuario

Te pedira aceptar el certificado SSL y podremos iniciar conversaciones con nuestros amigos y amigas simplemente añadiendo el usuario en una MV y otra sesión con otro usuario en otra MV:

Los usuarios se comunican entre si

Crear sala de chat

Una vez hayas llegado hasta aquí es posible que te interese crear salas de chat para tus usuarios, vamos a ver como.

En nuestro caso, si has seguido la guía anterior deberias tener configurado como sala MUC (Multi-User Chat), muc.alexdns.local por lo que ahora toca ir a pidgin:

  1. Abre Pidgin y ve a Amigos > Unirse a un chat.

  2. En la ventana emergente:

    • Cuenta: Tu cuenta XMPP ya conectada.

    • Sala: El nombre que quieres para la sala (ej. cafeteria).

    • Servidor: Usualmente muc.alexdns.local

    • Alias: (Opcional) Nombre para mostrar la sala en tu lista.

    • Contraseña: (Opcional) si quieres restringir el acceso.

  3. Haz clic en Unirse.

    Si la sala no existía antes, se creará automáticamente (esto depende de los permisos en mod_muc).

Una vez dentro de la sala puedes:

  • Hacer la sala persistente.

  • Establecer quién puede entrar.

  • Poner contraseña.

  • Hacerla pública o privada.

Webgrafía

Última actualización