Openfire es un sistema de mensajería instantánea GPL, hecho en java y que utiliza el protocolo XMPP, con el podrás tener tu propio servidor de mensajería puedes administrar a tus usuarios, compartir archivos, auditar mensajes, mensajes offline, mensajes broadcast, grupos, etc y además contiene plugins gratuitos con diferentes funciones extras.
Openfire implementa las siguientes características:
- Panel de administración web
- Interfaz para agregar plugins
- SSL/TLS
- Amigable
- Adaptable según las necesidades
- Conferencias
- Interacción con MSN, Google Talk, Yahoo messenger, AIM, ICQ, Jingle
- Estadísticas del Servidor, mensajes, paquetes, etc.
- Cluster con múltiples servidores
- Transferencia de Archivos
- Compresión de datos
- Tarjetas personales con Avatar
- Mensajes offline
- Favoritos
- Autenticación vía Certificados, Kerbeos, LDAP, PAM y Radius
- Almacenamiento en Active Directory, LDAP, MS SQL, MySQL, Oracle y PostgreSQL
- SASL: ANONYMOUS, DIGEST-MD5 y Plain
Instalación en ubuntu
En nuestro caso vamos a utilizar un servidor previo en ubuntu, sirve una versión de escritorio pero para que funcione recordar que siempre tendrá que estar encendido.
Teneis el articulo de como montar un servidor LAMP para dicho proposito en:
https://www.elchecibernetico.com/software/lamp-linux-apache-mysql-y-php
En primer lugar actualizar nuestro servidor:
sudo apt-get update
sudo apt-get upgrade
Después instalar JAVA para poder correr openfire:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
Purgamos las anteriores versiones para no tener problemas:
sudo apt-get remove –purge openjdk*
sudo apt-get install oracle-java7-installer
Descargamos entonces la ultima versión de Openfire (a fecha 01/02/16 es la 4.0.1), ver versión ultima directamente en la pagina web (http://www.igniterealtime.org/downloads/index.jsp)
wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_4_0_1.tar.gz
Le cambiamos el nombre para ser mas sencillo su manejo y lo descomprimimos:
mv downloadServlet?filename=openfire%2Fopenfire_4_0_1.tar.gz openfire_4_0_1.tar.gz
tar -xvzf openfire_4_0_1.tar.gz
Movemos el directorio recién descomprimido a la carpeta /opt para poder utilizarlo y nos vamos a la carpeta de configuración de openfire.
sudo mv openfire /opt
cd /opt/openfire/conf
Ahora vamos a editar la configuración de nuestro servidor openfire mediante la edición del archivo openfire.xml
sudo nano openfire.xml
Dentro de dicho archivo esta la opción <¡– <network><interface></interface></network> para poder establecer la dirección de nuestro servidor, para ello hay que descomentarlo eliminando <¡– y de dichas líneas dejando nuestra ip del servidor dentro de dichas opciones:
<network><interface>192.168.x.4</interface></network>
Si es necesario abrir los puertos del servidor para que podamos utilizar los servicios:
sudo ufw allow 9090/tcp
sudo ufw allow 9091/tcp
sudo ufw allow 5222/tcp
sudo ufw allow 7777/tcp
sudo ufw allow 7443/tcp
sudo ufw allow 7070/tcp
sudo ufw allow 3478/tcp
sudo ufw allow 3479/tcp
Ejecutamos el servicio de openfire:
sudo /opt/openfire/bin/openfire start
Ahora podemos continuar con la configuración de nuestro servicio de openfire mediante el navegador web, introduciendo la dirección de nuestro servidor web puerto 9090
http://192.168.x.4:9090
Configuración inicial de openfire
La primera vez que ejecutemos openfire desde el navegador se pondrá en modo configuración y nos preguntara, el idioma:
La configuración del servidor o dominio que deseamos utilizar:
Base de datos a utilizar:
Aquí podemos utilizar una interna del programa o una externa, en nuestro caso es recomendable utilizar una base de datos externa MYSQL para tener mas control y ya que la tenemos generalmente instalada en nuestros servidores, por tanto elegimos standart database conection:
Y configuramos la conexión con nuestra base de datos MYSQL, la cual previamente habremos creado en MYSQL con un usuario listo para colocar.
Por tanto elegimos MYSQL, dejamos el JDBC por defecto y en database URL colocamos nuestro servidor:
jdbc:mysql://192.168.x.x:3306/openfire?rewriteBatchedStatements=true
En username nuestro usuario de la base de datos y el password, dejamos por defecto el resto.
Ahora nos preguntara como queremos generar nuestros usuarios:
Mediante Default, se generan a mano, y mediante LDAP la cojera de nuestro servicio de LDAP.
Por ultimo nos pedirá los datos de nuestro usuario de administración del sistema openfire.
Con estos pasos tendremos ya configurada el servicio a falta de retocar el resto del sistema, pero podemos comenzar a probarlo.