Openfire Server | XMPP Server Tutorial en Español

Openfire Server | XMPP Server Tutorial en Español

Openfire Server | XMPP Server Tutorial en Español
5 (100%) 1 vote
Necesitas de un servidor mensajería instantánea propio o chat para grupos? entonces sigue leyendo esta guía paso a paso sobre Openfire Server

Que es Openfire XMPP?

Openfire (anteriormente Wildfire) es un servidor de colaboración multiplataforma en tiempo real basado en el protocolo XMPP (Jabber).

Requerimientos mínimos Openfire Server

  • Servidor. Este puede ser Microsoft Windows o Linux o MacOS
  • Base de datos con conexión JDBC externa o interna embebida
  • Java 5 o superior
  • MySQL o MariaDB
  • Oracle 9i o superior
  • PostgreSQL
  • IBM DB2
  • SQL Server
  • Sybase
  • HSQL DB
  • u otra DB con driver JDBC 2.0

Recomendaciones de hardware Openfire Server

  • 1 a 500 usuarios concurrentes: 384MB RAM y procesador de 1.5 Ghz
  • 501 a 10.000 usuarios concurrentes: 784MB RAM y procesador de 3 Ghz
  • 10.001 a 25.000 usuarios concurrentes: 1.5Gb RAM, 2 procesadores de 3Ghz y un manejador de conexiones en el mismo server
  • 25.001 a 100.000 usuarios concurrentes: 2Gb RAM, 2 procesadores de 3Ghz y entre 1 y 4 manejadores de conexiones del mismo tamaño en su propio server

Ademas de estas recomendaciones de software y hardware, no esta de mas mantener backup de tu Openfire XMPP (te sugiero BackupPC Server como solución opensource)

Para este Openfire Tutorial usare

Quieres ver este Openfire tutorial en vídeo? Aquí debajo te lo muestro, ah, y no olvides suscribirte a mi canal

Dependencias Openfire para centos 7

-Instalamos dependencias requeridas para nuestra instalación de Openfire Server
yum install wget mariadb mariadb-server

-Descargamos la ultima versión actual de Openfire XMPP desde el sitio oficial ignite realtime (sugiero primero verificar en la sección Downloads cual es la ultima versión)
wget -c http://download.igniterealtime.org/openfire/openfire-4.2.3-1.x86_64.rpm

En el sitio oficial de Openfire Server verificaremos la versión mas actual
En el sitio oficial de Openfire Server verificaremos la versión mas actual

Como instalar Openfire en Centos 7

-Por medio del comando rpm instalamos el archivo descargado en nuestro Centos Linux
rpm -vi openfire-4.2.3-1.x86_64.rpm
Preparando paquetes...
openfire-4.2.3-1.x86_64
Restarting openfire (via systemctl): [ OK ]

Directorio de instalación de Openfire Server: /opt/openfire

-Activamos el servicio Openfire para que inicie apenas haga boot nuestro servidor Centos
systemctl enable openfire

-Seguidamente iniciamos el servicio y verificamos su ejecución
systemctl start openfire
systemctl status openfire
openfire.service - SYSV: Openfire is an XMPP server, which is a server that facilitates XML based communication, such as chat.
Loaded: loaded (/etc/rc.d/init.d/openfire; bad; vendor preset: disabled)
Active: active (running) since mié 2018-11-14 10:18:36 -05; 4s ago
Docs: man:systemd-sysv-generator(8)
Process: 1344 ExecStart=/etc/rc.d/init.d/openfire start (code=exited, status=0/SUCCESS)
Main PID: 1358 (java)
CGroup: /system.slice/openfire.service
‣ 1358 /opt/openfire/jre/bin/java -server -DopenfireHome=/opt/openfire -Dopenfire.lib.dir=/opt/openfire/...

Centos Openfire iptables

-Usaremos tres puertos TCP

  • 9090 TCP: Acceso consola web http Openfire Server
  • 9091 TCP: Acceso consola web https Openfire Server
  • 5222 TCP: Conexiones de clientes XMPP a nuestro servidor Openfire

-Abrimos los tres puertos y reiniciamos el servicio firewalld para que tome los cambios
firewall-cmd --permanent --zone=public --add-port=9090/tcp
success
firewall-cmd --permanent --zone=public --add-port=9091/tcp
success
firewall-cmd --permanent --zone=public --add-port=5222/tcp
success
firewall-cmd --reload

Openfire MariaDB

-Activamos el servicio para que se ejecute cada vez que haga boot nuestro Linux Centos
systemctl enable mariadb

-Ejecutamos el servicio y verificamos su estado
systemctl start mariadb
systemctl status mariadb
mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running) since mié 2018-11-14 10:30:44 -05; 10s ago
Process: 1683 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
Process: 1601 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Main PID: 1682 (mysqld_safe)
CGroup: /system.slice/mariadb.service
├─1682 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
└─1843 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin ...

-Para mayor seguridad activamos contraseña y hacemos ajustes a MariaDB
mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n]
New password: <--Escribimos contraseña para root de MariaDB
Re-enter new password: <--Volvemos a escribir la contraseña
Password updated successfully!
Reloading privilege tables..
... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n]
... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n]
... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n]
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n]
... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

DB y usuario MariaDB para Openfire Server

-Ya asegurado el servicio de MariaDB y su cuenta root, debemos crear una db junto a un usuario con privilegios para ella (no es recomendable usar root)

Ingresamos al CLI de MariaDB y creamos db y usuario. Haz los cambios según tu conveniencia

Estos datos los necesitaremos mas adelante en la configuración
mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database openfiredb;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on openfiredb.* to 'ofusr'@'localhost' identified by 'contraseña';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit;
Bye

Incrementar Openfire Java Memory

Este es un parámetro que debemos tener siempre presente para con el pasar del tiempo y aumento de carga, irlo aumentando

-Modificamos quitando el comentario de la linea y asignamos memoria RAM (en este caso 1 Gb)
vi /etc/sysconfig/openfire
OPENFIRE_OPTS="-Xmx1024m"

Configuramos Openfire XMPP

En este punto ya el resto de configuracion lo haremos via web en la consola de Openfire, sugiero usar Mozilla Firefox, Chrome o Chromium

-Abrimos un navegador en un pc desde donde podamos conectarnos al servidor Centos y navegamos al url http://IP-Openfire-Server:9090 Haz el cambio de IP-Openfire-Server a la ip de tu server

Se nos da la bienvenida, elegimos el idioma, en este caso Español

Damos click al botón Continue

Elegimos idioma en la consola web de Openfire Server
Elegimos idioma en la consola web de Openfire Server

-Llegamos a Configuración del servidor donde podemos dejar los defaults o modificarlos (Dominio y FQDN) ademas de agregar una contraseña para un cifrado mas fuerte

Damos click al botón Continuar

Configuramos el dominio y FQDN de nuestro server XMPP
Configuramos el dominio y FQDN de nuestro server XMPP

-Llegados a fuente de datos elegimos Conexión Estandard para mayor escalabilidad

Damos click al botón Continuar

En la fuente de datos elegimos Conexión Estandard
En la fuente de datos elegimos Conexión Estandard

Openfire Server JDBC

-Aun en fuente de datos elegimos MySQL en la caja desplegable Drivers Predefinidos

Seguidamente debemos modificar el URL que se arma en URL de la Base de Datos, según nuestro ejemplo quedaría así:

jdbc:mysql://localhost:3306/openfiredb....

Mi consejo es que solo modifiques los dos campos entre corchetes (localhost y openfiredb) dejando todo lo demás sin modificar en el URL

Mas abajo escribiremos el nombre de usuario para conectarnos a mariadb y su contraseña (ofusr y contraseña). Haz el cambio según tu server

Damos click al botón Continuar

Modificamos con cuidado el URL de conexión
Modificamos con cuidado el URL de conexión

Openfire perfil

-Como quieres manejar los perfiles de usuarios XMPP? El default es la opción Por defecto

Esta opción almacenara el perfil en la db conectada en pasos anteriores

Damos click al botón Continuar

Tenemos 3 formas de guardar los perfiles de usuarios XMPP
Tenemos 3 formas de guardar los perfiles de usuarios XMPP

Configuramos cuenta admin Openfire Server

A la Openfire consola de administración siempre accederemos con el usuario admin (cuenta default, aunque después podemos crear otras cuentas administrativas)

-Escribimos una cuenta de email real para admin y creamos una contraseña

Damos click al botón Continuar

La cuenta default de la consola administrativa de Openfire es admin
La cuenta default de la consola administrativa de Openfire es admin

-Y llegamos al final de la configuracion de Openfire Server

Damos click al botón Conectese a la consola de administración

Muy bien, ya configuramos Openfire XMPP
Muy bien, ya configuramos Openfire XMPP

Ingresando a la Openfire Console

Nuestro servidor XMPP opensource ya esta instalado y configurado en gran parte. Siguiente paso, ingresar a su consola web

-Si vienes del paso anterior llegaras directo al inicio de sesión, si no, navegaras a http://IP-Openfire-Server:9090 Haz el cambio al dominio o ip de tu servidor Linux

Escribimos admin como usuario y la contraseña que le creamos en pasos anteriores

Presionamos Enter o damos click al botón Ingresar

Nuestro acceso a la consola web es con la cuenta admin
Nuestro acceso a la consola web es con la cuenta admin

-La consola Openfire nos dará información de como se ejecuta en este momento el servidor XMPP ademas de noticias de Ignite Realtime (los desarrolladores)

Esta consola cuenta con 3 menús, dos horizontales en la parte superior y uno vertical a la izquierda de la pagina

Son contextuales y cambiaran dependiendo de las opciones que usemos

La Openfire Console ademas de accesos a configuracion, nos dará información del servidor XMPP
La Openfire Console ademas de accesos a configuracion, nos dará información del servidor XMPP

Openfire Server en Español

-El idioma de nuestro servidor XMPP, en caso de que ya no lo hayas configurado cuando instalamos, podemos cambiarlo navegando a Administración del ServidorIdioma y Tiempo

Aquí ademas podemos cambiar la zona horaria para que este acorde con nuestra fecha y hora local

 

Cambiaremos el idioma y zona horaria en el menú Idioma y Tiempo de OpenFire Server
Cambiaremos el idioma y zona horaria en el menú Idioma y Tiempo de OpenFire Server

Openfire Registro y Conexiones

-Navegando al menú Configuración del ServidorRegistro y Conexiones podemos modificar

  • Registro de cuenta por parte de los usuarios: Permitir o no, la creación de cuentas directamente por los usuarios
  • Cambiar contraseña: Permitir o no, cambiar la contraseña por parte de los usuarios con cuentas
  • Conexión anónima: Permitir conexiones anónimas sin necesidad de cuenta
  • No permitir accesos desde estas IPs: Bloquear IPs para que no se conecten a nuestro XMPP server
  • Restringir TODOS los accesos (incluidos los anónimos) desde estas IPs: Bloquear conexiones, incluidos los anónimos desde estas ips
  • Restringir accesos anónimos a estas IPs: Bloquear conexiones anónimas a estas ips
  • SASL Mechanisms: Diferentes mecanismos usados para autenticar conexiones XMPP

Haciendo un buen uso de estas opciones puedes asegurar mas tu servidor Openfire

En Registro y Conexiones podemos ajustar la seguridad de nuestro servidor Openfire
En Registro y Conexiones podemos ajustar la seguridad de nuestro servidor Openfire

Openfire grupos

Por medio de los grupos podemos organizar a nuestros usuarios XMPP. Idealmente deben crearse antes que las cuentas

-Navegamos al menú Usuarios/Grupos

La primera vez, no nos mostrara nada porque aun no hemos creado grupos

En el menú Usuarios/Grupos manejaremos los grupos y usuarios
En el menú Usuarios/Grupos manejaremos los grupos y usuarios

-Crearemos grupos dando click a Crear Nuevo Grupo. Allí escribiremos un nombre y una breve descripción

Finalizamos dando click al botón Crear Grupo

Crear un grupo es una tarea realmente sencilla en Openfire Server
Crear un grupo es una tarea realmente sencilla en Openfire Server

-Por default el grupo creado se compartirá con todos los usuarios XMPP en este servidor

Si esa no es tu intención, puedes modificarlo

Ya creado el grupo puedes modificar quienes verán el grupo
Ya creado el grupo puedes modificar quienes verán el grupo

Openfire Cuentas de usuario

-Accedemos a las opciones de cuentas de usuarios navegando al menú Usuarios/Grupos

Allí veremos un listado de los usuarios ya creados. Si es un nuevo server XMPP, solo veras la cuenta admin en Lista de Usuarios

Recién instalado nuestro Openfire Server solo veras creada la cuenta admin
Recién instalado nuestro Openfire Server solo veras creada la cuenta admin

-Para comenzar a crear cuentas XMPP navegamos a Crear Nuevo Usuario

Llenamos los datos (solo es obligatorio usuario, contraseña, confirmar contraseña)

Si este usuario te apoyara como administrador, puedes marcarle la opción de Es administrador?

Terminada la tarea de llenar campos daremos click al botón Crear Usuario (si es un único usuario el que crearemos) o Crear y Crear Otro si son varios

Es recomendable tratar de llenar todos los campos

No es complejo crear una cuenta XMPP Openfire
No es complejo crear una cuenta XMPP Openfire

-Tras crear una cuenta veras un corto resumen

Veremos un resumen de la creación de cuenta XMPP
Veremos un resumen de la creación de cuenta XMPP

Agregar cuentas a grupos XMPP

-Al estar editando una cuenta daremos click al menú Grupos de Usuarios

Nos aparece un listado de los grupos existentes en nuestro servidor. Damos click al botón + a la derecha del que queremos

En el listado de grupos podemos agregar un grupo a nuestra cuenta XMPP
En el listado de grupos podemos agregar un grupo a nuestra cuenta XMPP

-Con lo cual ya nuestra cuenta de usuario pertenecerá a ese grupo

Es una tarea sencilla agregar usuarios a un grupo XMPP
Es una tarea sencilla agregar usuarios a un grupo XMPP

-Si miramos nuevamente las propiedades del usuario navegando a Propiedades del Usuario, este ya esta asignado al grupo que elegimos

En propiedades del usuario veremos a que grupos pertenece la cuenta
En propiedades del usuario veremos a que grupos pertenece la cuenta

Openfire Plugins Directory

La comunidad detrás de este servidor XMPP tiene desarrollada una buena cantidad de plugins para extender las funcionalidades

-Navegamos al menú PluginsPlugins Disponibles

Veremos un listado de plugins opensource disponibles con su nombre, descripción, numero de versión, autor y tamaño

Instalando un plugin Openfire

Para instalar un plugin para Openfire daremos click al + a su derecha

En el menú Plugins Disponibles veremos el listado, listos para agregar a nuestro servidor
En el menú Plugins Disponibles veremos el listado, listos para agregar a nuestro servidor

-Al instalar plugins se nos mostrara un mensaje de su instalación exitosa

La instalación de plugins nos dirá si fue exitosa
La instalación de plugins nos dirá si fue exitosa

Openfire Plugins instalados

-Navegando al menú PluginsPlugins veremos el listado de los plugins que ya tenemos instalados en nuestro Openfire Server

Ademas de la información sobre el plugin, tenemos botones para reiniciarlos o borrarlos

Los plugins instalados pueden ser reiniciados o eliminados
Los plugins instalados pueden ser reiniciados o eliminados

Openfire Client

Openfire cuenta con su propio cliente XMPP pero esto no quiere decir que no podamos usar otros según nuestros gustos o necesidades

Cliente XMPP pidgin

-Pidgin es un cliente de IM multiplataforma. Para instalarlo en Ubuntu Linux ejecutamos desde consola
sudo apt install pidgin

Quieres ver este Openfire Pidgin tutorial en vídeo? Aquí debajo te lo muestro, ah, y no olvides suscribirte a mi canal

-Seguidamente lo buscamos en el menú de nuestro sabor de Ubuntu Linux (en este caso Ubuntu Budgie) y le damos click

Buscamos y ejecutamos Pidgin en Ubuntu Linux
Buscamos y ejecutamos Pidgin en Ubuntu Linux

Configurar Pidgin para XMPP

-Si es primera vez que ejecutas Pidgin, te saldra una ventana de bienvenida

En esta ventana daremos click al botón Añadir

Ademas de la bienvenida a Pidgin, tenemos la opción de agregar cuentas
Ademas de la bienvenida a Pidgin, tenemos la opción de agregar cuentas

-Nos aparece otra ventana donde modificaremos en la pestaña Básica

  • Protocolo: XMPP
  • Nombre de usuario: La cuenta creada en Openfier Server
  • Dominio: IP o dominio internet de nuestro servidor Centos Linux
  • Contraseña: Contraseña de la cuenta creada en Openfire
  • Recordar contraseña: Activo
Con solo datos básicos de la cuenta XMPP configuramos Pidgin
Con solo datos básicos de la cuenta XMPP configuramos Pidgin

-Pasamos a la pestaña Avanzadas en la misma ventana de Modificar cuenta

  • Puerto de conexión: 5222
  • Conectar con el servidor: IP o dominio internet
  • Pasarelas de transferencia de archivos: IP o dominio internet

Damos click al botón Guardar

De suma importancia configurar la ip o dominio del servidor XMPP
De suma importancia configurar la ip o dominio del servidor XMPP

-Aceptamos el certificado de Openfire Server dando click al botón Aceptar de la nueva ventana que nos aparece

Aceptamos el certificado del nuestro server XMPP
Aceptamos el certificado del nuestro server XMPP

Manejando lista de usuarios Openfire

Openfire nos permite ver en tiempo real que usuarios están conectados e interactuar con ellos

Listado de Usuarios

-Navegamos al menú Usuarios/Grupos

Allí los usuarios conectados en este momento tendrán otro color de avatar (verde)

En la Lista de Usuarios podemos ver los usuarios conectados actualmente
En la Lista de Usuarios podemos ver los usuarios conectados actualmente

Sesiones

-Ahora, si queremos mas información navegamos a SesionesSesiones de Clientes

Con Sesiones podemos ver mas información sobre las cuentas XMPP conectadas actualmente
Con Sesiones podemos ver mas información sobre las cuentas XMPP conectadas actualmente

-Al darle click a una cuenta de usuario en Sesiones podemos ver mas en detalle esta conexión

Openfire Server es una herramienta profesional que te permitirá tener tu propio servidor IM opensource para tus proyectos, ya lo usas? estas en planes de instalarlo

Cuéntame aquí debajo en los comentarios.

Satisfech@ con el articulo, hazme una donación, no importa la cantidad, la intención es lo que vale, dale click a este botón

Comparte este articulo opensource en tus redes sociales (compartir es sexy) por medio de los botones de redes sociales para que otros lo conozcan y apoyes mi blog.

Ademas, no olvides escribirme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Evangelizador del opensource. Ataco el stress con un videojuego o viajando en mi motocicleta.

Escribe tu comentario

Please Login to comment
  Suscribete  
Notificación de