domingo, 17 de mayo de 2015

Sistema de Mensajería Instantánea con Openfire y Spark



Implementar un sistema interno de mensajería instantánea es una muy buena forma de facilitar el trabajo y la colaboración entre los miembros de una organización. En este tutorial veremos la implementación de este tipo de sistemas utilizando a Openfire como servidor y Spark como cliente. Ambos son software libre y de fácil configuración.
 
Opefire y Spark


Creación de la Base de Datos


Openfire necesita de una base de datos para poder funcionar, en este post utilizaremos como ejemplo a MySQL. Descargamos XAMPP (paquete compuesto por Apache, MySQL, PHP y Perl) y los instalamos. El proceso es estándar y no requiere de más detalle. Al finalizar abrimos el XAMPP Control Panel y nos asegurarnos que los módulos Apache y MySQL están corriendo.

Panel de Control de XAMPP

Ahora debemos crear la base de datos de nuestro sistema de mensajería. En el XAMPP Control Panel hacemos click en el botón Admin del módulo MySQL para entrar al phpMyAdmin. El navegador web nos presentará la interfaz principal del phpMyAmdin, en la columna de la izquierda hacemos click en Nueva.
                                                     
phpMyAdmin

Le damos un nombre a la nueva base de datos, en el ejemplo “prueba”, y hacemos click en Crear.

phpMyAdmin

Creada la base de datos, ya estamos listos para instalar el Openfire.

phpMyAdmin

Instalación y Configuración del Openfire


Descargamos el instalador desde la página oficial y lo ejecutamos. Tras la instalación debe cargar el servidor Openfire. Hacemos click en Launch Admin.
Openfire

Iniciado el proceso de configuración de Openfire, elegimos el idioma Español.

Openfire - Configuración

En la Configuración del Servidor, indicamos la dirección IP de la máquina donde estamos instalando el Openfire, en el ejemplo 192.168.1.34. También podemos modificar los puertos por los que nos conectaremos a la consola de administración.

Openfire - Configuración

En Configuración de la fuente de datos lo dejamos en Conexión Estándar.

Openfire - Configuración

Definimos las propiedades de la base de datos como está en la imagen. Recuerden reemplazar a “prueba” con el nombre que le hayan dado a la base de datos. El nombre de usuario “root” sin contraseña es por defecto en MySQL.

Openfire - Configuración

Seteos de Perfil por defecto.

Openfire - Configuración

Definimos usuario y contraseña de la cuenta de administrador del Openfire.

Openfire - Configuración

Finalizada la configuración ya nos podemos conectar a la consola de administrador vía la Ip de la maquina con el puerto 9090. En nuestro ejemplo: 192.168.1.34:9090.

Openfire - Configuración

Creando Usuarios y Grupos


Ahora tenemos que crear a los usuarios y agruparlos en grupos. Para ello en nuestro navegador vamos a la dirección del servidor Openfire y nos conectamos por el puerto 9090. En nuestro ejemplo sería 192.168.1.34:9090. Tenemos que ingresar el usuario y contraseña del administrador.

Openfire - Login

Tras loguearnos vamos a la segunda sección: Usuarios/Grupos.

Openfire - Usuarios y Grupos

En Usuarios/Grupos vamos a la pestaña Usuarios y seleccionamos Crear Nuevo Usuario. Definimos nombre de usuario, nombre de la persona y contraseña.

Openfire - Usuarios

Creado el usuario ahora vamos a la pestaña Grupos y elegimos Crear Nuevo Grupo, le damos un nombre, por ejemplo “Ventas”.

Openfire - Grupo

Luego hay que definir para qué grupos va a ser visible el grupo recién creado. Como queremos que los contactos del grupo Ventas sea visible para todos los usuarios de nuestro sistema de mensajería, elegimos las opciones Enable contact list group sharing y All users. En caso sólo queramos que sean visibles para algunos grupos, la opción a elegir será The following groups y seleccionamos los grupos deseados.

Openfire - Grupo

Luego en la sección Members of This Group buscamos al usuario creado y damos Agregar.

Openfire - Grupo

En la imagen vemos que el grupo Ventas ya tiene dos usuarios.

Openfire - Grupo

Hacemos lo mismo para el grupo “Marketing”: creamos el grupo, definimos para que grupos va estar visibles y le agregamos usuarios previamente creados.

Openfire - Grupo

Openfire - Grupo

Openfire - Grupo

En este ejemplo vemos a cuatro usuarios con sus grupos más el usuario administrador.

Openfire - Usuarios y Grupo

Instalación de los clientes Spark


Con el servidor Openfire corriendo y las cuentas de usuario creadas, ahora sólo queda instalar el Spark en las máquinas de los usuarios. Después de descargarlo, la instalación es sencilla y finalizada se nos muestra la pantalla de logueo de Spark. Aquí aparte del usuario y contraseña se tiene que indicar la dirección del servidor Openfire, en este ejemplo: 192.168.1.34.

Spark - Login

Se repite lo propio en cada máquina de los usuarios.

Spark - Conversación

Saludos.
















8 comentarios:

  1. Hice todos los pasos pero al momento de instalar el spark en las máquinas me da error... pongo el usuario y contraseña y el servidor localhost.... me dice que es incorrecto el servidor

    ResponderEliminar
    Respuestas
    1. Vete al firewall y desactiva el bloqueo de conexiones entrantes o desactiva el firewall y pruba a ver si te funciona, en el servidor pon la IP del servidor.

      Eliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. ¿Existe la posibilidad de configurar el servidor Openfire para que cuando un usuario acceda mediante Spark se muestren todos los demás usuario aunque éstos estén desconectados
    ? Gracias Saludos

    ResponderEliminar
    Respuestas
    1. Si, en el grupo hay que darle a la opcion de compartir la lista de usuarios.

      Eliminar
  4. Saludos, instale el Openfire en un servidor en "windows server 2008 r2" (para Active Directory) y con Sql Server, la instalacion quedo Ok, pero cuando instalo el Spark en una terminal (en la misma red) no puedo conectarme , me sale el mensaje : "Usuario o clave incorrecta"
    Se tendrá que abrir algún puerto ???
    Por favor tu ayuda o comentario
    Gracias

    ResponderEliminar
    Respuestas
    1. Usa el nombre del servidor en vez de la Ip para que te deje contectar

      Eliminar
  5. Usa el nombre del servidor en vez de la Ip para que te deje contectar

    ResponderEliminar