EbenezerIT · Services
Inicio/Guías/Servidor de Mensajería
ejabberd · XMPP Dificultad Tiempo · ~45 min Descargar PDF Vídeo en YouTube · próximamente

Servidor de Mensajería: despliegue paso a paso

XMPP existe desde hace dos décadas y sigue siendo el chat más portable, abierto y federable que puedes desplegar. ejabberd es el servidor con el que tengo más años de producción a las espaldas.

Pila
ejabberd · XMPP
Tiempo
~45 min
Pasos
4
Probado en
Ubuntu 24.04 LTS
Si prefieres que lo haga yo
160 €

Sirve cualquier VPS con 1 GB de RAM. Necesitarás un dominio y los puertos 5222 (clientes), 5269 (federación) y 5443 (subida de archivos y WebSocket) abiertos en el firewall.

Antes de copiar

En los comandos verás tudominio.com: sustitúyelo siempre por tu dominio real.

Paso 01

Instalar ejabberd desde el repositorio oficial

El paquete de Ubuntu suele ir varios meses por detrás; el repositorio del proyecto te da una versión actual integrada con systemd.

install-ejabberd.sh
curl -fsSL https://download.process-one.net/public.key | sudo gpg --dearmor -o /usr/share/keyrings/p1.gpg
echo "deb [signed-by=/usr/share/keyrings/p1.gpg] https://repo.process-one.net/ejabberd/deb $(lsb_release -cs) main" \
  | sudo tee /etc/apt/sources.list.d/ejabberd.list
sudo apt update && sudo apt install -y ejabberd
Paso 02

Configurar el dominio principal

En /etc/ejabberd/ejabberd.yml sustituye los dominios de ejemplo por el tuyo y deja la sección de hosts así:

ejabberd.yml
hosts:
  - "tudominio.com"

listen:
  -
    port: 5222
    module: ejabberd_c2s
    starttls: true
  -
    port: 5269
    module: ejabberd_s2s_in
Paso 03

Crear el usuario administrador

Con esta cuenta gestionarás el resto de usuarios desde el panel web o desde la línea de comandos.

admin-user.sh
sudo ejabberdctl register admin tudominio.com "contraseña-fuerte"
sudo systemctl restart ejabberd
sudo ejabberdctl status

El panel de administración, nunca a la vista

Deja el listener del panel (puerto 5280) escuchando solo en 127.0.0.1 y entra a través de la VPN o con un túnel SSH. Un panel de administración abierto a Internet es lo primero que buscan los bots.

Federación

Si quieres hablar con usuarios de otros servidores XMPP públicos, abre el puerto 5269 de entrada y salida. Si solo vas a usarlo internamente, ciérralo.

Paso 04

Conectarte con Conversations o Gajim

Cualquier cliente XMPP funciona. En Conversations (Android) basta con introducir admin@tudominio.com y la contraseña.

logs.sh
# Confirma que el cliente se ha conectado correctamente
sudo tail -f /var/log/ejabberd/ejabberd.log

¿Prefieres que lo haga por ti?

Lo implemento por ti por 160 €, con la configuración de seguridad inicial y esta guía aplicada a tu servidor.

Contratar