Servicio de mensajería instantánea (chat) con OpenFire en Ubuntu

openfire¡Hola! El servicio de mensajería instantánea (IM) es como un tabú para algunas empresas… se piensa que la gente se vuelve poco productiva teniendo una herramienta que le permita comunicarse por mensajería instantánea con otros de la misma empresa, pero hay que tomar en cuenta algo… Que éste “chat” puede ser controlado por la empresa, y con esto quiero decir que se puede almacenar las conversaciones, tener estadísticas de uso, entre otros factores que pueden ser de ayuda para el administrador y poner a pensar a los usuarios del mismo, porque a sabiendas de esto, tendrán cuidado sobre las conversaciones que se mantienen entre compañeros, reduciéndoles en la mayoría de casos a asuntos netamente corporativos.

El servicio que les propongo (Open Source por supuesto), es Openfire; este es un sistema de mensajería instantánea desarrollado en java que utiliza el protocolo XMPP, con el que se puede gestionar usuarios, compartir archivos, auditar mensajes, mensajes offline, mensajes broadcast, grupos, etc.; además de contar con plugins gratuitos con diferentes funcionalidades extras que se pueden implementar (por ejemplo, web chat, estadísticas, etc.).

En ésta entrada veremos cómo se puede instalar OpenFire 4.1.5 en Ubuntu 16.04

Lo primero es instalar Java. Generalmente podemos instalar OpenJDK o el mismísimo Java Oracle, pero para efectos de utilizar los repositorios por defectos que ya contamos con Ubuntu, utilizaremos OpenJDK. Entonces hacemos en la terminal:

sudo apt-get update
sudo apt-get install openjdk-8-jre

Actualizamos el repositorio e instalamos básicamente el OpenJDK-JRE. Ahora, se requiere de una base de datos para almacenar toda la información, conversaciones, etc.; por defecto, durante la instalación, se puede dejar configurado con una BD embebida, pero para efectos de ésta guía (además que facilita la administración considero…), se usará el gestor de BD MySQL. Para instalarlo, ejecutamos:

sudo apt-get install mysql-server

Durante la instalación del MySQL, solicitará asignar la clave de root, por cuanto deberán de tener cuidad con éste punto.

Ahora crearemos la BD que se requiere así:

mysql -u root -p

Nos solicitará la clave de root… la ingresamos y luego ingresaremos las sentencias necesarias para la creación de la BD, la creación del usuario openfire (ojo con la clave que le pongan) y asignar los permisos del usuario a la BD openfire:

create database openfire;
create user openfire@localhost identified by "clave";
grant all privileges on openfire.* to openfire@localhost with grant option;
flush privileges;
exit

Vamos al sitio de los creadores del Openfire a descargar la versión Linux. El sitio oficial esta en:

https://www.igniterealtime.org/downloads/

Pero lo podemos descargar directamente desde el server así:

cd /tmp
wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_4.1.5_all.deb

Una vez descargado, lo instalaremos (dado que se trata den un .deb), ingresando la línea de comando:

sudo dpkg -i openfire_4.1.5_all.deb

Ok, ahora vamos a “poblar” la base de datos con el script de OpenFire; Para Ubuntu 16.04, sería:

cd /usr/share/openfire/resources/databasemysql -u root -p openfire < openfire_mysql.sql

Nos pedirá la clave de root de MySQL y, si no recibimos error, todo bien. Iniciamos el servicio:

sudo service openfire start

Luego, procedemos con la instalación web de OpenFire. Lo primero es entrar a la dirección:

http://[nombre o IP de servidor]:9090

Aparecerá la siguiente página, donde debemos de seleccionar el idioma y dar clic en “Continue”:

01

Modificamos o confirmamos la configuración referente al dominio, nombre de equipo (+ el dominio), y los puertos por defectos.

02

Ahora, seleccionaremos la fuente de datos, que en nuestro caso será la de “Conexión Estándar”, dado que nos conectaremos a MySQL.

03

Luego, seleccionamos el Driver respectivo (MySQL), en la URL de la base de datos, tener cuidado en cambiar por “localhost” y el nombre de la base de datos “openfire”; finalmente, agregar el usuario y clave que se creó en mysql y dar clic en “Continuar”.

04-2

Opcional, podes seleccionar la forma en que se gestionarán los usuarios y grupos de OpenFire. Para nuestro caso, utilizaremos el servicio de directorio LDAP para conectarlo a un Active Directory. Sii, ¡un plus de ésta guía!.

05

Seleccionamos el tipo de servidor “Active Directory”, colocamos la IP del controlador de dominio, el puerto lo dejamos como esta, en DN Base agregamos nuestro DN según el formato LDAP (Ver imagen de abajo y adaptarlo a su caso), en DN del Administrador colocar la dirección de correo (por así decirlo) de un usuario de AD y abajo la clave.

06

Al dar clic en “Testear Configuración”, tendría que aparecer un mensaje de éxito.

07

Sino, sería de revisar los parámetros. ¡UN DETALLE!, luego de testear, por lo menos en mi firefox, elimina lo que se ingresó en DN Base, por cuanto tendríamos que agregarla una vez más y luego dar clic en “Salvar & Continuar”.

Ahora nos aparecerá unos parámetros que podemos personalizar acorde a los campos de AD, pero en nuestro caso lo dejaremos como esta y, si gustan, pueden dar clic en Testear para ver que van bien. Dar clic en “Salvar & Continuar”

08

Ahora agregaremos una cuenta de administrador. Solo se coloca el login de un usuario de AD, luego clic en Agregar y podemos hacer un “Testeo” para ver si se autentica bien. Una vez todo bien, dar clic en “Continuar”.

09

Luego de instalar todo, ¡Llegamos al Final! Nos dice que todo está bien y hay un botón para entrar al interfaz de administración.

10

Desde ahí podemos entrar a la consola de administración de OpenFire (http://[nombre o ip del servidor]:9090 ) con el usuario y clave de AD que asignamos anteriormente.

11

Bien, en otra entrada mostraré algo sobre su configuración, plugins, y otros; aunque realmente la administración es bastante intuitiva, pero bueno.

¡Saludos!

Comentarios por Facebook

comentarios

2 respuestas a “Servicio de mensajería instantánea (chat) con OpenFire en Ubuntu”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*