Cuando las empresas se distribuyen geográficamente en distintas provincias, países y continentes, seguramente sea necesario conectar todas las sedes mediante un sistema de mensajería instantánea interna y privada a la cual solo tengan acceso las personas autorizadas. En este tutorial os enseñaré como crear un servidor de mensajería instantánea con el software gratuito Openfire bajo la version Debian de GNU/Linux.

⬇️ Compra en Amazon el hardware que utilizo ⬇️
- 💻 Ordenador Portátil: Descúbrelo aquí
- 🖥️🖥️ Monitores: Mis 2 súper monitores
- ⌨️ Teclado: Mini teclado + Lector DNIe
- 🖱️ Ratón: Mi ratón programable
- 🎧 Auriculares: Súper Auriculares TOP!
- 🖨️ Impresora: Mi fantástica impresora
- 🗄️ NAS Backup: Mi NAS para Backups
- 🔌 HUB USB: Mi HUB para puertos USB
- 📱 Smartphone: Mi Smartphone
- 📲 Tablet: Mi tablet para viajes
- ⌚ Smartwatch: Mi Smartwatch favorito
- 📹 Cámara deportiva: Mi cámara para deportes
Openfire (anteriormente llamado Wildfire y Jive Messenger) es un sistema de mensajería instantánea GPL, hecho en java y que utiliza el protocolo XMPP, con el podrás tener tu propio servidor de mensajería puedes administrar a tus usuarios, compartir archivos, auditar mensajes, mensajes offline, mensajes broadcast, grupos, etc y además contiene plugins gratuitos con diferentes funciones extras.
Openfire implementa las siguientes características:
- Panel de administración web
- Interfaz para agregar plugins
- SSL/TLS
- Amigable
- Adaptable según las necesidades
- Conferencias
- Interacción con MSN, Google Talk, Yahoo messenger, AIM, ICQ, Jingle
- Estadísticas del Servidor, mensajes, paquetes, etc.
- Cluster con múltiples servidores
- Transferencia de Archivos
- Compresión de datos
- Tarjetas personales con Avatar
- Mensajes offline
- Favoritos
- Autenticación vía Certificados, Kerbeos, LDAP, PAM y Radius
- Almacenamiento en Active Directory, LDAP, MS SQL, MySQL, Oracle y PostgreSQL
- SASL: ANONYMOUS, DIGEST-MD5 y Plain
Cualquier duda, problema ó sugerencia, podéis dejar un comentario abajo del tutorial. ¡Allá vamos!
1.- ELEMENTOS UTILIZADOS EN ESTE TUTORIAL
- GNU/Linux Debian 8 + Openfire 4.0.2
- Windows 7 64bits
2.- REQUISITOS
Para la instalación de Openfire será necesario instalar previamente el paquete de JAVA7 en nuestro equipo. Para ello, somo siempre, con usuario root ó con sudo, instalaremos el paquete de Java y sus dependencias:
# apt-get install openjdk-7-jre
3.- INSTALACIÓN DE OPENFIRE
Descargaremos la versión que necesitemos de la Web Oficial de Openfire. En este tutorial usaré la versión 4.0.2 de Openfire. Una vez descargado instalaremos el servidor Openfire de la siguiente forma:
# dpkg -i openfire_4.0.2_all.deb
4.- CONFIGURACIÓN DE OPENFIRE
Una vez que hemos terminado de instalar el paquete de Openfire, debemos asegurarnos que el servicio arrancado. Si queremos evitarnos este paso, sencillamente haremos un reinicio del mismo de la siguiente forma:
# /etc/init.d/openfire restart
Para comenzar la configuración de Openfire, abriremos nuestro navegador y accederemos a la IP del equipo utilizando el puerto 9090 y podremos ver el asistente de instalación y configuración de Openfire. En el primer paso debemos seleccionar el idioma:
Selección del idioma
En la siguiente pantalla introduciremos el dominio y los puertos de administración y administración segura vienen pre-configurados. Si necesitamos cambiarlos, podremos hacerlo en este paso. Seleccionaremos la encriptación por defecto Blowfish:
Dominio y puertos de administración
En un entorno productivo, se recomienda que la base de datos sea una base de datos externa alojada por ejemplo en un servidor MySQL, MariaDB, PostgreSQL, etc ... pero en este tutorial por simplificar la configuración, usaré la base de datos interna de Openfire. Como he dicho, en un entorno productivo no es recomendable:
Configuración de bases de datos
Podemos configurar Openfire para que use el almacén de usuarios, grupos y contraseñas en un servidor LDAP ó que use la opción por defecto. Marcaremos la opción "por defecto" por simplificar la configuración:
Perfil de usuarios y grupos
Como en todos los sistemas de TI, se necesita una cuenta de Administrador. Introduciremos el email del administrador y la password:
Cuenta del Administrador
Tras introducir la contraseña del administrador, la instalación finalizará y si todo va bien nos mostrará un mensaje de configuración completa y un Link de acceso al panel de administración:
Configuración Completa
Para entrar a la consola de administración, haremos click en el botón de a imagen anterior ó simplemente entrando desde nuestro navegador en la URL: http://IP_SERVIDOR:9090
Login en la consola de Administración
Si el login/password es correcto, entraremos al Dashboard principal donde podremos configurar el servidor, dar de alta usuarios, crear salar de conferencia etc ...
Dashboard principal
5.- CREACIÓN DE USUARIOS DESDE EL DASHBOARD
Aunque luego veremos una otra forma de crear/borrar usuarios, ahora os voy a enseñar cómo podemos dar de alta nuevos usuarios para que puedan usar el servicio de mensajería instantánea. Desde el Dashboard principal, haremos click en la opción de Usuarios/Grupos->Crear usuario y cumplimentaremos los datos del nuevo usuario.
OJO!: Podemos crear usuarios con el formato Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. , pero si usamos clientes de mensajería como PSI y Pidgin tendremos problemas para hacer login. El cliente nativo llamado Spark funcionará sin problemas, pero los demás clientes fallarán. Por tanto, os recomiendo que el nombre de usuario sea solamente nombreusuario:
Crear nuevo usuario
Para las pruebas posteriores, utilizaré dos usuarios diferentes creados desde el Dashboard principal, juan y raul:
Lista de usuarios
6.- CONFIGURACIÓN DE CLIENTES XMPP
En este apartado veremos cuales son los datos necesarios a configurar en los clientes PSI, Pidgin y Spark para poder acceder al servicio de mensajería:
SPARK
Introduciremos los siguientes datos:
- Nombre de usuario: usuario
- Contraseña: Nuestra contraseña
- Servidor: Nombre del servidor ó la IP del servidor si no tenemos DNS
Login con Sparks
Tras hacer login con Spark, podremos ver la siguiente pantalla con el estado de conexión "En línea":
Spark
PSI
Introduciremos los siguientes datos:
- Nombre: Nombre para identificar la conexión
- XMPP Address: Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
- Contraseña: Contraseña
- Servidor: Nombre del servidor ó la IP del servidor si no tenemos DNS
- Puerto: 5222
- Cifrar conexión: Siempre
- Permitir autenticación en texto plano: Siempre
Pestaña Cuenta en PSI
Pestaña Conexión en PSI
PIDGIN
Introduciremos los siguientes datos:
- Protocolo: XMPP
- Nombre de usuario: Nombre de usuario
- Dominio: Dominio
- Puerto de conexión: 5222
- Conectar con el servidor: nombre DNS del servidor ó IP
Pestaña Básica de Pidgin
Pestaña Avanzadas en Pidgin
7.- REGISTRO DE USUARIOS DESDE EL CLIENTE XMPP
Por defecto, el servidor viene pre-configurado para que cualquier persona se pueda autoregistrar en el servidor. Esto lógicamente puede ser un problema en un entorno cerrado, ya que no podemos controlar de primeras, quién se registra. Para autoregistrarnos, simplemente deberemos marcar la opción de "Crear esta nueva conecta en el servidor" en nuestro cliente de mensajería. Una vez lo hemos hecho, el servidor nos preguntará por los datos del usuario:
Registro de usuario desde Cliente
Si el registro es satisfactorio, veremos un mensaje de éxito como el siguiente:
Éxito en el registro remoto
En el Dashboard del servidor, podremos ver los registros tanto realizados desde el panal de control, como los realizados de forma automática desde los clientes XMPP:
Listado de usuarios
8.- AÑADIR AMIGOS
En la siguiente imagen podemos ver a la izquierda al usuario "juan" utilizando Pidgin y a la derecha al usuario "raul" usando Spark. Para añadir un amigo en Spark, iremos a Contactos y añadiremos a nuestro amigo: "juan". A juan le llegará una petición de amistas que deberá aceptar o denegar:
Cliente Spark y Pidgin para añadir amigos
Cuando aceptamos la petición de amistad en Pidgin, veremos una pantalla preguntando varios datos para añadir al usuario. Cumplimentaremos los datos que están vacíos y haremos click en Añadir:
Confirmar amistad
Una vez que hemos aceptado la amistad, en los dos clientes veremos a "nuestro amigo" como conectado:
Amigos de mensajería instantánea
Ahora podremos comenzar a hablar a través del chat, tal y como se puede ver en la siguiente imagen. Podremos enviar ficheros, imágenes, etc etc...
Chat entre 2 personas
9.- SALAS DE CONFERENCIA
Las salas de conferencia son como las salas de chats donde muchos usuarios pueden hablar a la vez y todos ven los mensajes de todos. Si queremos disponer de una de estas salas, desde el Dashboard y Conferencias añadiremos una nueva sala. En este ejemplo crearé una sala nueva con el nombre "empleados":
Crear nueva sala
En el cliente Spark haremos click en la pestaña Conferencias y buscaremos la sala y haremos click en "Ingresar cuarto seleccionado":
Ingresar en sala de conferencia
ENJOY!
⬇️ Compra en Amazon el hardware que utilizo ⬇️
- 💻 Ordenador Portátil: Descúbrelo aquí
- 🖥️🖥️ Monitores: Mis 2 súper monitores
- ⌨️ Teclado: Mini teclado + Lector DNIe
- 🖱️ Ratón: Mi ratón programable
- 🎧 Auriculares: Súper Auriculares TOP!
- 🖨️ Impresora: Mi fantástica impresora
- 🗄️ NAS Backup: Mi NAS para Backups
- 🔌 HUB USB: Mi HUB para puertos USB
- 📱 Smartphone: Mi Smartphone
- 📲 Tablet: Mi tablet para viajes
- ⌚ Smartwatch: Mi Smartwatch favorito
- 📹 Cámara deportiva: Mi cámara para deportes

Raúl Prieto Fernández
Sitio Web: raulprietofernandez.netSi quieres ir rápido, ve solo. Si quieres llegar lejos, ve acompañado.