Openfire aunque es un servicio muy completo, tiene un gran defecto que es el que sólo se le puede configurar un sólo dominio para todos los usuarios. Esto es un problema si se instala en un servidor que tiene múltiples dominios, ya que todos los usuarios quedarían bajo un único dominio de un servidor.
Openfire no ofrece soporte para múltiples dominios, por lo que queda la opción que los usuarios encuentren la manera de dar el soporte.
Para ello, se debe utilizar en primer lugar el archivo sh, y no el servicio.
# service openfire stop
Una vez detenido el servicio, se copia la carpeta de openfire
# cd /opt
# cp -r ./openfire ./openfire_dominio
Donde dominio puede ser el segundo dominio al que queremos darle soporte.
Una vez copiada la carpeta, se le cambian los puertos de escucha.
# nano openfire_dominio/conf/openfire.xml
Y se cambian los puertos de 9090 y 9091 por otros, por ejemplo 9190 y 9191. Se debe recordar el abrir los puertos en el firewall que se tenga.
Se guardan los cambios.
Ahora, se debe crear una base de datos para ésta nueva instancia junto con un usuario y contraseña, tal y como se hizo para la primera instalación y configuración del openfire principal.
Ahora se ejecutan ambas instancias.
# cd /opt/openfire/bin
Se ejecuta la instancia, mandando el proceso a segundo plano (con el parámetro &)
# ./openfire.sh &
Y ahora se ejecuta la segunda instancia.
# cd /opt/openfire_dominio/bin
# ./openfire.sh &
Ahora se debe iniciar la configuración de la segunda instancia desde el navegador
:9190
Se configura tal y como se hizo en la primera instalación, pero en la parte de la base de datos se deben colocar los datos de la base de datos recién creada.
Hasta éste punto, ya se cuenta con dos instancias de openfire, pero ahora tienen conflicto de puertos ya que ambas instancias están usando los mismos.
Se debe ir a Administración del servidor -> configuración del servidor y en la parte inferior, dar click al botón editar propiedades.
Si no has configurado el nombre del servidor al nuevo dominio, éste es buen momento.
Se cambian los puertos servidor a servidor, puerto de componentes, y puerto de clientes. No se debe olvidar abrir dichos puertos en el firewall.
Con esto ya se pueden crear usuarios e iniciar sesión desde algún cliente, indicando el nuevo puerto de conexión, el cual antes era 5222. No todos los clientes permiten cambiar dicho puerto. Pidgin lo permite desde el momento de agregar la cuenta.
El problema ahora es que los usuarios de la primera instancia de openfire, no pueden comunicarse con los usuarios de la segunda instancia de openfire. Para ello hay que hacer lo siguiente.
Ir a Servidor -> configuración del servidor -> servidor a servidor -> permitido conectar.
Se debe agregar el puerto de servidor a servidor que utiliza la otra instancia.
Se debe entrar a la configuración de la otra instancia y hacer lo mismo pero apuntando al puerto servidor a servidor de la primera instancia.
Con lo anterior ya se pueden comunicar los usuarios entre ambas instancias.
El problema de las múltiples instancias y dominios de openfire es que los usuarios de las nuevas instancias no pueden comunicarse con servicios externos como por ejemplo google talk.
Si se desea tener XMPP con múltiples dominios nativamente, es mejor probar otro servidor de mensajería como eJabber.
Relacionado
2 Comentarios
RPF · 18 julio, 2018 a las 03:32
Hola:
Muy interesante la publicación, enhorabuena. Yo escribí hace tiempo un pequeño tutorial para instalar y configurar Openfire en GNU/Linux Debian. Dejo la URL por si es útil para otros visitantes.
https://www.raulprietofernandez.net/blog/gnu-linux/como-instalar-y-configurar-openfire-en-gnu-linux-debian
Saludos de nuevo 😀
angelinux · 14 octubre, 2018 a las 18:29
Gracias.