Instalación de Ejabberd XMPP Server 2013-08-04

Tutorial de instalación paso a paso del servidor de chat XMPP Ejabberd en Debian Wheezy

En este nanotutorial vamos a conocer el servidor de chat XMPP Ejabberd, su instalación, configuración y administración mediante el panel desde nuestro navegador.

Instalación de Ejabberd XMPP Server

Ejabberd es un servidor de mensajería instantánea que utiliza XMPP como protocolo de comunicación, mismo protocolo adoptado por Google, Facebook, WhatsApp y Nimbuzz para su servicio de chat.

XMPP se encuentra bien documentado y puede ser utilizado en cualquier proyecto. Existe una gran variedad de clientes XMPP tanto de escritorio como web que pueden ser usados sin ningún costo.

Pasemos entonces a la instalación de Ejabberd en nuestro servidor.

Actualización de la paqueteria

Siempre es importante tener actualizados nuestros repositorios, garantizando así que todos los paquetes son accesibles. Para esto debemos ejecutar el siguiente comando en una terminal:

sudo apt-get update

Actualización de la paqueteria

Instalar Ejabberd

Para instalar Ejabberd vamos a ejecutar el siguiente comando, así como confirmar con la letra “Y” seguido de la tecla “Enter”:

sudo apt-get install ejabberd

Instalar Ejabberd

Este punto puede tardar dependiendo de la velocidad del enlace de tu conexión a internet.

Instalar Ejabberd

Configurar Ejabberd

Una vez instalado seguimos con la configuración del servicio. Si bien es cierto, basta con conocer la dirección IP del servidor para utilizar el servicio en un ambiente de pruebas; pero para un ambiente de producción es necesario conocer el nombre del dominio a configurar. Todas las cuentas son asociadas virtualmente a un dominio y los clientes de chat automáticamente buscan a través del dominio de la cuenta la ubicación del servidor XMPP.

Configurar un dominio

Para esto vamos a editar el archivo /etc/ejabberd/ejabberd.cfg. Utilizaremos el editor nano para modificar dicho archivo, si no sabes como utilizar este editor te invitamos a visitar este nanotutorial.

sudo nano /etc/ejabberd/ejabberd.cfg

Configurar un dominio

Ahora vamos a cambiar la siguiente línea:

{hosts, ["localhost"]}.

Por:

{hosts, ["nanotutoriales.com"]}.

Configurar un dominio

Si quieres configurar más de un dominio, basta delimitar por una coma “,” cada uno de ellos de esta manera:

{hosts, ["nanotutoriales.com", "example.com"]}.

Configurar una cuenta de administrador de dominio

Esta cuenta sera útil para administrar las cuentas desde el panel de administración, debes definir una por cada dominio configurado en el servidor.

Para definir una cuenta administrador para el dominio recien configurado vamos a cambiar la siguiente línea:

{acl, admin, {user, "", "localhost"}}.

Por:

{acl, admin, {user, "admin", "nanotutoriales.com"}}.

Configurar una cuenta de administrador de dominio

Reiniciar el servicio

Terminada la configuración, vamos a reiniciar el servicio para que los cambios surjan efecto. Para reiniciar el servicio vamos a ejecutar el siguiente comando en la terminal:

sudo service ejabberd restart

Reiniciar el servicio

Para saber el estado de nuestro servicio podemos ejecutar el siguiente comando:

sudo ejabberdctl status

ejabberdctl status

Crear cuenta administrador en servidor

Una vez configurado tanto el dominio como la cuenta del administrador, nos resta crearla en nuestro servidor.

El siguiente comando creará una cuenta en el servidor Ejabberd, podemos prescindir del panel de administración y hacerlo directamente en nuestro servidor via terminal si lo queremos.

Ejabberd proporciona un comando para la administración del servicio, ese es ejabberdctl.

La sintaxis para crear/registrar una cuenta es:

sudo ejabberdctl register <usuario> <dominio> <contraseña>

Para crear la cuenta ejecutamos el siguiente comando:

sudo ejabberdctl register admin nanotutoriales.com p4s5w0rd

Crear cuenta administrador en servidor

Más funcionalidades del comando ejabberdctl

Detallo a continuación una breve descripción de las principales opciones de ejabberd:

status

Obtiene el estado del servidor ejabberd.

sudo ejabberdctl status

stop

Detiene el servidor ejabberd.

sudo ejabberdctl stop

restart

Reinicia el servidor ejabberd.

sudo ejabberdctl restart

register

Registra a un usuario en un servidor.

sudo ejabberdctl register   

unregister

Elimina a un usuario de un servidor.

sudo ejabberdctl unregister  

registered-users

Lista todos los usuarios registrados de un dominio específico.

sudo ejabberdctl registered-users 

Configurar una cuenta XMPP en Pidgin

Configurar una cuenta XMPP en Pidgin

Configurar una cuenta XMPP en Pidgin

Configurar una cuenta XMPP en Pidgin

Luego aparecera el siguiente mensaje, debes dar clic a la opción Accept. Esto aparece por que por defecto Ejabberd utiliza un certificado de firma propia. En ambientes de producción deberas obtener un certificado digital de un proveedor autorizado.

Configurar una cuenta XMPP en Pidgin

Ahora la cuenta esta configurada y lista para ser utilizada.

Configurar una cuenta XMPP en Pidgin

En cuanto crees mas cuentas y las configures en diferentes clientes XMPP, podrás agregar estos contactos yendo al menú Buddies y luego dando clic a la opción Add Buddy.

Configurar una cuenta XMPP en Pidgin

  • Abrir Pidgin.
  • Ir al menú Accounts y luego dar clic en Manage Accounts.
  • Hacer clic a la opción Add.
  • Como protocolo debes elegir XMPP.
  • En la casilla Username ingresa el nombre de usuario que acabas de crear.
  • En Domain el dominio de la cuenta que acabas de configurar.
  • En la casilla Resource debes poner un nombre único que identifique el origen de la conexión. Ej. Casa.
  • Ingresa la contraseña.
  • Marca la opción Remember password.
  • Por último click al botón Add.

Ejabberd Panel de Administración

Para utilizar el panel de administración debes acceder desde tu navegador a la dirección IP de tu servidor (puede ser también el dominio o localhost si tu instalación es local) bajo el puero 5280.

http://<dirección_servidor>:5280/admin

Luego debes ingresar la cuenta administrador y su contraseña.

Ejabberd Panel de Administración

Ejabberd Panel de Administración

Crear una cuenta en Ejabberd desde el Panel de Administración

Para crear una cuenta debes seguir los siguientes pasos:

Crear una cuenta en Ejabberd desde el Panel de Administración

Crear una cuenta en Ejabberd desde el Panel de Administracion

Crear una cuenta en Ejabberd desde el Panel de Administracion

  • Ir al menú Virtual hosts.
  • Luego dar clic al dominio que deseas administrar.
  • Ve a la opción Users.
  • Agrega los datos de la nueva cuenta a crear.
  • Por último da click al botón Add user.

Acerca del autor

Hugo Gilmar Erazo Full Stack Web Developer

Soy un desarrollador web con más de 10 años de experiencia. Me considero fanático de GNU/Linux, lo cual me ha permitido complementar mis conocimientos en el desarrollo web con la administración de servidores.

Aunque manejo todo lo relacionado al Front-End, me inclino más por el desarrollo Back-End. También desarrollo aplicaciones móviles híbridas. Me gusta lo que hago.

Compartir este artículo
Articulos relacionados