Introducción
OpenFire es un servidor de XMPP programadfo en java (multiplataforma) y con un como WebApp para administrarlo. Se encuentra bajo licencia GPL y con el puedes administrar a tus usuarios, compartir archivos, auditar mensajes, mensajes offline, mensajes broadcast, grupos, etc y además contiene plugins para ampliar sus funcionalidades.
Características
Openfire implementa las siguientes características:
- Panel de administración web
- Interfaz para agregar plugins
- SSL/TLS
- Conferencias
- Interacción con MSN, Google Talk, Yahoo messenger, AIM, ICQ
- 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
Tan simple como descargar OpenFire Downloads (en nuestro manual un deb):
# wget http://www.igniterealtime.org/downloads/download-landing.jsp?file=openfire/openfire_3.6.4_all.deb
Luego podemos instalarlo fácilmente:
# sudo dpkg -i openfire_3.6.4_all.deb
Configuración
En primera instancia debemos seguir el intuitivo instalador des de la siguiente url:
http://localhost:9090
Por último deberemos realizar un restart del servidor para poder acceder al WebApp con el nuevo usuario administrador:
# /etc/init.d/openfire restart
Creación de usuarios
Cuando creamos dos usuarios y queremos que estos puedan verse y enviar mensajes debemos añadirlos al roster de cada uno. Es decir, el usuario u1 debe tener en su roster al usuario u2 y u2 debe tener en su roster a u1. De esta manera podrán verse. Luego los dos usuarios deberán tener subscription both, es decir, deben estar subscritos a from y to para poder enviar y recibir mensajes de los usuarios que tienen en su roster.
Para acceder a él tan solo debemos acceder mediante navegador web, después acceder a user/group y por último create user:
Crearemos dos usuarios adictoalainformatica1 y adictoalainformatica2 (originalidad antetodo). Despues deberemos entrar en la sección de cada usuario, en roster y por último clicar en Add Item:
Como podemos observar al usuario adictoalainformatica1 le añadimos al roster al usuario adictoalainformatica2 y debemos hacer lo respectivo para el usuario adictoalainformatica2 con adictoalainformatica1. Una vez echo esto deberemos cambiar el subscription para que los usuarios tengan completa «visibilidad» entre ellos. Debemos entrar en la sección del usuario adictoalainformatica1, luego en su roster donde veremos al usuario adictoalainformatica2. Bien, por último deberemos modificarlo y como vemos en la imagen debemos cambiar el subscription a both, en este caso los estamos haciendo para el usuario adictoalainformatica2 con respecto al usuario adictoalainformatica1 y deberemos hacerlo también a la inversa.
Ahora podríamos configurar dos clientes de xmpp (por ejemplo gajim y pidgin) con los dos usuarios y comprobar que pueden enviarse mensajes.
Observaciones
Ya hemos viso un servidor de xmpp, no es el que ofrece más opcionalidades pero para un desarrollo de nivel medio es más que suficiente. En grandes desarrollos donde tengamos una increíble cantidad de usuarios sería recomendable usar Ejabberd. Pero de todos modos con OpenFire tendremos un gran abanico de posibilidades y es mucho mas cómodo de administrar que Ejabberd. Un servidor XMPP puede ser útil tanto como para crear una red de mensajería a nivel interno de empresa como para montar un sistema de distribución de comandos. En el próximo post, ya cerrando con XMPP, mostraremos como crear un cliente con python capaz de conectarse, recibir y enviar estados y enviar y recibir mensajes.
Fuentes
Ruben
Tengo instalado openfire en un servidor windows, como puedo encontrar el archivo de configuracion? ya que uno de mis empleados modifico la ruta de XMPP y ahora ya no es posible entrar, se supone la ruta deberia de ser server-openfire y lo cambio por error a srv-openfire.
Hay manera de cambiarlo? ya que al intentar ingresar por web todos los usuarios me mandan error en contraseña.
Gracias por su apoyo.
Saludos