Instalación y Configuración de Openfire en Ubuntu 18.04 LTS

Como parte de la actualización de los servidores de la LAN que administro alas versiones LTS en este caso Ubuntu LTS 18.04 siempre hay alguno que sirve de experimento de la instalación desde el ISO en lugar de esperar la actualización propuesta desde los repositorios que llegara el próximo 1 de agosto después del lanzamiento de la versión 18.04.1; Esta vez le toco al servidor en el que corre el servicio de mensajería sobre Openfire.

Openfire es un servidor de mensajería instantánea (IM) y chat que implementa el protocolo XMPP. Este documento explica como instalarlo y configurarlo de forma básica según las necesidades de nuestra empresa.

Voy a saltarme la instalación de Ubuntu porque ya en internet hay muchos así que googleIT o busque en youtube, solo voy a dar algunos datos; como muchos de los tutoriales en sysadminsdecuba vamos a usar PROXMOX VE como base:

  • si van a crear un CT par 200 usuarios o menos RAM: 2GB , CPU: 1 core, HDD: 15 GB
  • como dije voy a instalar desde el ISO así que creo una VM KVM con las mismas características recuerden que siempre pueden mejorarlas.

Para saber más de sus características, configuración u otras informaciones, visite el sitio web de Openfire.
La instalación principal va a estar centrada en Ubuntu LTS  pero voy a incluir cualquier especificación para otras distros y OS como Windows para aquellos obligados a sufrir sin posibilidades de libertad. 😀

Requerimientos

Instalación de ubuntu server 18.04 con permisos de root

Convenciones

# – requiere que los comandos de linux dados sean ejecutados con privilegios de root ya sea directamente como usuario root o mediante el uso del comando sudo

$ – requiere que los comandos de linux dados sean ejecutados como un usuario regular no privilegiado

Descargando Openfire

Vamos a descargar openfire de aqui (la versión cuando hago el manual es 4.2.3) pero para el manual voy a usar x.y.z  porque puede servir para cualquier versión, hay varias opciones de descarga Windows, linux y mac, dentro de las opciones de linux tenemos rpm con jre o no incluido, un deb sin jre y un tar.gz para cualquiera de las variantes de GNU\Linux; hasta hace un tiempo usaba esta ultima porque el deb daba problemas en Ubuntu pero ya eso esta resuelto así que usaremos la variante mas como da es decir archivo deb.

Les dio la pagina de descarga porque puede que la versión que en este momento no coincida con la de la creación del manual y trato que sea lo mas genérico posible siempre puedes usar curl o wget para descargar la versión desde el mismo server.

Instalando MariaDb para guardar los datos de Openfire

Para guardar los Datos de Openfire puedes usar la BD interna de pero en caso de re-instalación pierdes todos los datos de los usuarios contactos conversaciones etc, también como buena practica monto esa BD en un CT externo que tengo optimizado para mysql, en este caso vamos a usar el mismo CT donde estoy instalando Openfire.

Una vez instalada mariaDB vamos a hacer algunos cambios en la configuración del servicio usando:

Estas son las opciones que uso

  • Enter current password for root (enter for none): Oprima Enter
  • Set root password? [Y/n]: Y
  • New password: Ponemos la contraseña que queramos
  • Re-enter new password: Repetimos la contraseña
  • Remove anonymous users? [Y/n]: Y
  • Disallow root login remotely? [Y/n]: Y
  • Remove test database and access to it? [Y/n]: Y
  • Reload privilege tables now? [Y/n]: Y

Ahora ya podemos acceder como root para crear la BD para Openfire:

Una vez dentro creamos el usuario y la BD para openfire:

Como les comentaba antes la siguiente configuración la aplico en Ubuntu LTS pero es valida también para Debian, openfire necesita jre, yo uso openjdk ya que de los repositorios de Ubuntu eliminaron las versiones sun-java* por problemas de compatibilidad además apostaron por la versión libre pero si tienen algún problema con eso pueden buscarla e instalarla; la versión en la fecha de creación del manual es la openjdk-11-jre, pero da problemas. si quieren puede probar…

Una vez instalada la versión de jre o en cualquier momento que lo necesitemos podemos verificar la versión de java que tenemos

Instalación

Para GNU\Linux hay 4 variantes, una para RedHat con jre incluida una para distribuciones basadas en Debian y un tar.gz para todas las variantes Unix esta última lleva un poco más de trabajo al instalar y les explico a continuación.

Para la instalación del .deb usamos el comando para instalaciones manuales en Debian/Ubuntu distros

Instalando desde el paquete comprimido

Para la instalación con el comprimido seguimos los siguientes pasos descomprimir el tar.gz del Openfire que descargamos y en el proceso lo movemos a /opt

Crea el vínculo simbólico del Openfire en init.d para que lo puedas ejecutar como un demonio

Cambiamos los permisos de ejecución para poder usar los comandos para iniciar reiniciar y detener el demonio

Por cualquiera de las 2 variantes que usemos en necesario poner Openfire como servicio por defecto para hacerlo usamos

Si tienes tu servidor detras de un firewall ten en cuenta abrir los siguientes puertos para que Openfire pueda funcionar

  • Puerto 9090: para la interfaz web.
  • Puerto 9091: par la interfaz web por SSL.
  • Puerto 5222: Puerto principal usado para la comunicacion client/server de Openfire.
  • puerto 7777: usado para la transferencia de archivos.
  • Port 7443: used for unsecured Http client connections.
  • Port 7070: used for secure Http client connections.
  • Port 3478, 3479: used by the STUN Service for entities behind a NAT.
Configuración del Servidor para su puesta en marcha

Ya tenemos instalado Openfire y todas las dependencias necesarias ahora comencemos con la configuración básica de nuestro servidor para eso vamos a acceder a la consola de administración del Openfire y terminar la instalación de nuestro servidor, con el navegador de nuestra preferencia usando http://IPdelServidor:9090:

Las primeras pantallas no necesitan de mucha explicación, la primera es en la que selecciona el idioma por defecto:

Usa el del navegador(lo propone por defecto), pero en nuestro caso seleccionamos Español(es), o a su gusto:

En el siguiente paso tenemos la configuración del servidor donde definimos el dominio del servidor y los puertos para la consola de administración mediante http y https.

El dominio de prueba que he puesto hace que los usuarios coincidan con [email protected], lo hago para diferenciar servicios en mi red pero pueden quitarle “jabber.” y coincide con su dominio, en nuestro caso [email protected].

Configuración de la fuente da datos

La próxima vista es donde se configura la fuente de datos es decir donde hacemos la elección del tipo de BD que vamos a utilizar para guardar la información de nuestros usuarios, yo uso conexión estándar, por qué? bueno en caso de reinstalacion o actualización del servicio tendremos guardados todos los datos de nuestros usuarios(contactos, avatar, datos generales) en una BD externa.

Voy a usar mysql pero puedes seleccionar cualquiera de las opciones según las necesidades y los gustos, la configuración queda como se ve a continuación:

La configuración es básica solamente tenemos que cambiar las opciones [hostname] y [database-name] por el nombre o dirección IP del servidor de datos y el nombre de la BD que vamos a usar (en una futura instalación mantenemos los datos y todas las configuraciones de los usuarios se mantendrán). En resumen lo que debemos cambiar es mysqlserver:puerto/Basededatos, usuario y contraseña para la conexión a la BD.

Seteos de Perfil

En el siguiente paso definimos el sistema de usuarios y grupos en nuestro servidor. En mi caso uso LDAP pues mis usuarios se generaran a partir de los que tengo creado en el directorio activo, esta opción es muy cómoda pues la integración te permite tener los usuarios automáticamente que los crees en el AD, puedes usar la opción por defecto en la que tendrás que crear los usuarios que necesite el sistema.

Una vez seleccionado LDAP debemos configurar la conexión los datos a llenar son bastante intuitivos para un sysadmin.

Esta configuración podemos hacerla de varias formas, la que muestro es la que más me gusta y más resultados me ha dado; el tipo de servidor podemos encontrar desde Directorio activo (mi selección) y openldap que son los más populares hasta cualquier tipo de servidor que use LDAP en cualquiera de sus variantes; en el servidor podemos usar el nombre de nuestro servidor o la dirección IP del mismo; el DN Base es el de nuestro dominio (sysadminsdecuba.com); en cuanto al DN del usuario me ha dado memos problemas la forma [email protected] como pueden ver en la imagen yo uso esa ([email protected]) aunque también pueden usar la ruta en LDAP que tiene el usuario prometeus (cn=prometeus,cn=Users,dc=sysadminsdecuba,dc=com) y finalmente la contraseña del usuario que usaremos para la conexión.

Una vez terminada la configuración puede probarla con “Testear Seteos” en la parte inferior derecha de la pantalla(pueden verlo en la imagen anterior).

Los próximos 2 pasos pueden darle “salvar y continuar” manteniendo la configuración que proponen o pueden ponerse creativos…

Por ultimo definimos los usuarios de nuestro directorio activo que serán administradores del servidor de Openfire, necesitamos al menos 1 pero les recomiendo agregar los usuarios que necesiten en este paso muchas veces hacerlo después da problemas.

Con los usuarios que serán administradores definidos hemos terminado la instalación de nuestro servidor con su configuración inicial y esta listo para usarse.

Podemos acceder a la Consola de Administración de Openfire usando uno de los usuarios definidos como administrador en el paso anterior. Sin hacer nada mas los usuarios que tengamos en nuestro directorio activo pueden comenzar a usar el servicio.

El articulo de hizo mas largo de lo que pensé que seria, he agregado varios términos al glosario en el proceso y finalmente he decidido dejar las configuraciones que hago en la Consola de Administración para un próximo articulo. Acá les dejo los vínculos a la serie completa demás para que sirva al resto como muestra de los que les digo cuando crean artículos múltiples:

De Esta Serie:

Instalación y Configuración de Openfire en Ubuntu 18.04 LTS
Openfire: Configuraciones Básicas y plugins

(Visited 477 times, 1 visits today)
Rafael L. Salgueiro
Sobre Rafael L. Salgueiro 8 Artículos
Administrador de redes y sistemas. Melómano, hedonista Usuario de GNU/Linux, Linux-User: #418573. Amante de las tecnologías en general.

1 Comentario

  1. Recientemente monte un Openfire actual (hace un mes la versión del sitio) en Ubuntu 16.04.4 LTS y me dio un palo con la BD de mariadb.

    El tema es que la BD necesita encoding UTF-8 General-ci si mal no recuerdo…

    Para si esto muerde a alguno, más…

    Chaum

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*