1

Instalación y configuración de un servidor de mensajería instantánea con Openfire

Hola a tod@s,

En este post vamos a ver como se instala y configura un servidor de mensajería instantánea con openfire, también veremos como instalar y configurar varios clientes de mensajería instantánea para que se conecten a nuestro servidor.

  • Vamos a instalar un servidor de mensajería instantánea openfire para el dominio «clasicosinfantilesdejramonramos.org» que utilice una base de datos MySQL para gestionar las cuentas de los usuarios.
  • Esta es la máquina  donde va a correr el servidor openfire marcopolo (IP 192.168.5.105):

  • Este es el servidor DNS para la zona «clasicosinfantilesdejramonramos.org» cenicienta (IP 192.168.5.1):

  • Lo primero que vamos a realizar será instalar OpenJDK, para ello ejecutamos, apt install openjdk-11-jdk -y:

  • Con el comando java -version podemos ver la version de java que tenemos instalada:

  • Ahora vamos a instalar el servidor de MySQL y el cliente, para ello ejecutamos, apt install mysql-server mysql-client -y:

  • Aseguramos la instalación de MySQL ejecutando, mysql_secure_installation:

  • Accedemos a MySQL ejecutando, mysql -u root -p:

  • Creamos la base de datos para openfire, CREATE DATABASE openfire;:

  • Con show databases; vemos las base de datos de nuestro servidor:

  • Creamos un usuario para openfire, CREATE USER ‘openfireadm’@’localhost’ IDENTIFIED BY ‘mipassword’;:

  • Le asignamos todos los privilegios al usuario que hemos creado, GRANT ALL PRIVILEGES ON openfire.* TO ‘openfireadm’@’localhost’;:

  • Con FLUSH PRIVILEGES; le indicamos a MySQL que vuelva a leer la tabla de privilegios:

  • Con EXIT; salimos del gestor de bases de datos MySQL:

  • Nos creamos el directorio openfire dentro de /opt y accedemos al directorio:

  • Instalamos el paquete con dpkg -i openfire.deb:

 

  • Ahora empezamos a realizar la configuración inicial de Openfire, para ello, desde cualquier equipo con acceso al servidor de openfire nos abrimos un navegador y accedemos a http://marcopolo.clasicosinfantilesdejramonramos.org:9090
  • Seleccionamos el idioma Español, Continue:

  • En Configuración del servidor, le indicamos nuestro nombre de dominio, el FQDN del host y los puertos para la consola de administración, 9090 para http y 9091 para https:

  • Sobre Configuración de la fuente de datos, seleccionamos Conexión Estándard para usar una base de datos externa:

  • Sobre Configuración de la fuente de datos, seleccionamos MySQL, el driver JDBC, URL de la base de datos, y las credenciales del usuario que creamos anteriormente:

  • Sobre Configuración del perfil, seleccionamos el sistema por defecto de usuario y grupos para almacenar en la base de datos:

  • Sobre Cuenta de administrador, configuramos la cuenta:

  • Aquí podemos ver, que la configuración inicial de Openfire ha sido completada, nos conectamos a la consola de administración:

  • Aquí vemos que ya nos podemos conectar a la consola de administración, introducimos las credenciales de admin que nos creamos anteriormente:

  • Con el comando systemctl stop openfire detenemos el servidor de Openfire.
  • Con el comando systemctl start openfire iniciamos el servidor de Openfire.
  • Con el comando systemctl status openfire comprobamos el estado del servidor de Openfire.

  • Ahora creamos en el servidor openfire cuentas de usuario para mimi, bebebo, pipa y papua que usen cuentas de correo electrónico con esos mismos nombres bajo el dominio «clasicosinfantilesdejramonramos.org«, vamos a crear primero las cuentas de correo electrónico usando el servidor postfix en marcopolo y luego las cuentas de usuario en openfire.
  • Para crear los usuarios indicados en el servidor de correos y que puedan tener cuenta de correo pero no iniciar sesión en el sistema, ejecutamos el comando useradd -m -s /sbin/nologin usuario:

  • Ahora vamos a crear las cuentas de los usuarios en el servidor de Openfire, para ello, accedemos a Usuarios/Grupos > Usuarios > Crear Nuevo Usuario introducimos las datos del nuevo usuario y Crear Usuario:

  • Para los usuarios restantes, hacemos la misma operación, aquí vemos todos los usuarios creados en Openfire:

  • Ahora vamos a instalar en dos máquinas cualesquiera los clientes de mensajería psi y pidgin (uno en cada máquina) y crearemos en psi dos cuentas: una para mimi y otra para bebebo, después crearemos en pidgin una cuenta para pipa.
  • Instalamos el cliente de mensajería instantánea psi, ejecutamos apt install psi:

  • Instalamos el cliente de mensajería instantánea pidgin, para ello, instalamos primero apt install flatpack, apt install flatpak:

  • Agregamos el repositorio de Flathub, ejecutando, flatpak remote-add –if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo:

  • Instalamos Pidgin desde Flathub, flatpak install flathub im.pidgin.Pidgin:

  • Antes de empezar a trabajar con los clientes de mensajería instantánea, el servidor de Openfire, nos indica que debemos de configurar los registros SRV en nuestro DNS para el correcto funcionamiento de los clientes:

  • Aquí vemos los registros SRV añadidos a nuestro DNS:

  • Como podemos ver, nos indica que Openfire a identificando correctamente los registros SRV:

  • Ahora vamos a crear la cuenta para mimi, ejecutamos psi:

  • Accedemos a Configuración de cuentas:

  • Añadimos la cuenta para mimi:

  • Le indicamos un nombre e introducimos las credenciales de la cuenta:

  • Sobre Conexión le indicamos los datos del servidor de Openfire y Guardar:

  • Una vez creada la cuenta ya podemos conectarlo:

  • Como podemos ver, ya lo tenemos conectado:

  • Para crear la cuenta del usuario bebebo realizamos las mismas configuraciones:

  • Como podemos ver, ya lo tenemos conectado:

  • Ahora nos abrimos el cliente de mensajería instantánea Pidgin en la otra máquina:

  • Añadimos la cuenta para pipa:

  • Sobre Básica, le indicamos las Opciones de conexión:

  • Y sobre Avanzadas le indicamos la configuración de la conexión al servidor:

  • Como podemos ver, aquí tenemos la cuenta ya creada:

  • Si accedemos a nuestro servidor de Openfire, podemos ver, los tres usuarios que hemos configurado en los distintos clientes de mensajería instantánea, conectados:

  • Ahora vamos a iniciar sesiones clientes con las anteriores cuentas de usuario de forma que se realice una conversación entre mimi y pipa.
  • Sobre el cliente psi, seleccionamos el usuario mimi, y Añadir un contacto:

  • Introducimos el nombre del contacto y Añadir:

  • Aceptamos:

  • Ahora en el cliente pidgin donde está dado de alta el usuario pipa debemos de aceptar la solicitud del contacto, damos a Autorizar:

  • Nos indica que el usuario mimi dado de alta en el cliente psi, lo debemos de añadir a lista de amigos, Añadir:

  • Una vez añadidos los contactos en ambos clientes psi y pidgin, ya podemos mantener una conversación entre los dos usuarios.
  • En cliente psi, de mimi a pipa:

  • En cliente pidgin, de pipa a mimi:

  • Ahora establecemos en la sesión de mimi que se añadan como amigos los contactos bebebo y papua.
  • En la sesión de mimi añadimos los contactos bebebo y papua:

  • Manteniendo una conversación con pipa, vemos que los dos contactos están añadidos:

  • Manteniendo la conversación entre mimi y pipa, comprobamos en la administración del servidor openfire las sesiones que están iniciadas.
  • Accedemos al servidor Openfire y sobre Usuarios/Grupos > Usuarios > Lista de Usuarios, vemos que las sesiones que tenemos iniciadas son las de los usuarios mimi y pipa:

  • Si accedemos a Sesiones > Sesiones Activas > Sesiones de Clientes, vemos las sesiones iniciadas de los dos clientes, el usuario mimi con psi y el usuario pipa con pidgin:

 

Saludos y espero que os haya resultado de ayuda 😉

 

 

 

 

Jose Ramon Ramos Gata

Técnico Superior STI

Un comentario

  1. Gracias, gran artículo . Yo no consigo conectar desde otra red. solo es posible en la misma red? gracias por tu artículo

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.