Manual Openfire

De VIVAitwiki
Ir a la navegaciónIr a la búsqueda

Instalación de Openfire (versión 4.0.1)

Nos bajamos openfire (recuerda, que este manual está basado en la versión 4.0.1) para linux a través de la siguiente página: http://www.igniterealtime.org/downloads/index.jsp.

Seleccionamos .tar.gz la siguiente web

Lo guardamos en el directorio /usr/src/

A continuación ejecutamos los siguientes comandos para extraer e instalar openfire:

# cd /usr/src/
# tar xvzf openfire_4_0_1.tar.gz

Tendremos que tener en nuestra máquina instalado JAVA.

Instalamos MYSQL

La instalación de MYSQL se realiza a partir de este comando:

# apt-get install mysql-server

En la Openfire setup tool, que será mas adelante, usaremos los siguientes valores:

• driver: com.mysql.jdbc.Driver
• server: jdbc:mysql://[YOUR_HOST]/[DATABASE_NAME]

Creamos la base e datos a partir del siguiente comando:

create database databaseName

Importamos el esquema de la base de datos:

mysql -u root -p < /usr/src/openfire/resources/database/openfire_mysql.sql

Una vez hecho esto vamos a instalar Java:

# apt-get update 
# apt-get install openjdk-8-jre

Para configurar el openfire como servicio, tenemos que configurar el script openfired situado en el directorio bin/extra y guardarlo en /etc/init.d/:

PEDIR ARCHIVO A IVAN

# service openfire start


Abrimos navegador y escribimos la siguiente URL http://IP:9090, donde IP es donde hemos instalado openfire. Si está todo bien nos aparecerá la siguiente pantalla:

FOTO

Configuramos el dominio del servidor:

FOTO

Donde el dominio es el nombre del Host o IP del servidor.

Configuración de base de datos para nuestro ejemplo seleccionamos base de datos interna, si vamos a usar base de datos externa (OPCION RECOMENDADA) seleccionamos la otra opción.

FOTO

Seteos de perfil

FOTO

Seteos de perfil: Seteos de conexión, configuramos como sigue:

FOTO

Seteos de perfil: Mapeos de usuarios, dejamos las opciones por defecto

FOTO

Seteos de perfil: Mapeos de grupo, dejamos las opciones por defecto

foto

Cuenta del administrador: usuario que administre openfire exixtentes en el LDAP, los buscamos y agregamos:

foto

Finalizamos si todo esta ok.

foto

Tras finalizar la instalación ingresaremos con la cuenta de administrador y si las credenciales son las correctas se nos mostrará la siguiente pantalla:

foto

Integración con asterisk

Requisitos:

• haber instalado openfire con una base de datos externa (Mysql) • haber puesto el parámetro callevents=yes en la parte general del archivo sip.conf • haber configurado un usuario en el archivo manager.conf

Primero vamos a modificar el archivo manager.conf

# nano /etc/asterisk/manager.conf

La parte general debe aparecer de la siguiente manera:

[general]
enabled = yes
port = 5038
bindaddr = 0.0.0.0

Luego, añadimos un nuevo usuario;

[openfire]
secret = miclave
displayconnects = yes
read = all
write = all

Actualizamos la configuración de asterisk:

# /etc/init.d/asterisk reload

En el caso que el servidor jabber (openfire) y el servidor Asterisk estén en dos servidores distintos, en la configuración del cortafuegos, si no lo han hecho antes, tienen que abrir el puerto 5038 tcp.

Arrancamos iptables:

# nano /etc/sysconfig/iptables

y añadimos estas dos líneas:

# Asterisk Manager
-A INPUT -p tcp --dport 5038 -j ACCEPT
Guardamos el archivo y volvemos a arrancar iptables
# service iptables restart

Ahora el archivo sip.conf

# nano /etc/asterisk/sip.conf

añadimos y/o modificamos la siguiente línea en la parte general

callevents=yes

Desde la consola de Asterisk:

# asterisk -rvvvvvvvvvvvvvv
CLI> sip reload

Ahora instalamos el plugin en Openfire.

Desde la página web hay un plugin para la integracion de openfire con asterisk. Descargamos dicho plugin desde http://www.igniterealtime.org/projects/openfire/plugins/asterisk-im.jar

Tras descargarlo lo guardamos en /usr/src/openfire/plugins

Reiniciamos el servicio openfire:

/etc/init.d/openfire stop
/etc/init.d/openfire start


Una vez instalado el plugin de asterisk, nos debe aparecer al lado de plugins algo así:

FOTO

Clicamos en Asterisk-IM y luego en General Settings. Habilitamos el Asterisk-IM y salvamos.


Agregamos el servidor asterisk:

• Server Name: asterisk
• Server Address: xxx.xxx.xxx.xxx
• Port: 5038
• Username: Usuario creado en manager.conf
• Password: Password del usuario creado en manager.conf

FTO

Guardamos y pasamos al menú Phone Mappings

Configuramos todos los usuarios de Openfire que queremos asociar con una extensión SIP de nuestro servidor Asterisk.

FOTO

Instalación de Jitsi-Videobridge

Lo primero que haremos es habilitar los Componentes Externos en Openfired:

FOTO

Para instalar Jitsi Videobridge, lo descargamos de la siguiente URL:

https://download.jitsi.org/jitsi-videobridge/linux/

Simplemente extraeremos y ejecutaremos el script jvb.sh. Si lo ejecutamos sin parámetros se nos mostrará los diferentes argumentos que hay. Para arrancar el servicio basta con poner jvb.sh

--secret=xxxxx

Siendo el secret la clave que hemos configurado en el Componente Externo.

Para verificar que Jitsi esta correctamente conectado al Openfired iremos:

FOTO

Instalación de Jitsi

Para sistemas de 32 bits:

https://download.jitsi.org/jitsi/debian/jitsi_2.2-latest_i386.deb

Para sistemas de 64 bits:

https://download.jitsi.org/jitsi/debian/jitsi_2.2-latest_amd64.deb

Instalación Spark

Lo descargamos de la siguiente URL:

* Windows: http://www.igniterealtime.org/downloads/download-landing.jsp?file=spark/spark_2_7_5.exe

* Linux: http://www.igniterealtime.org/downloads/download-landing.jsp?file=spark/spark_2_7_5.tar.gz
y ejecutamos en el terminal:

tar -xvf spark_2.6.3.tar.gz
sudo mv Spark /opt/
Para correr el servicio: /bin/bash /opt/Spark

Si lo que queremos es crear un “desktop launcher”:

sudo nano /usr/share/applications/spark.desktop

Y añadimos lo siguiente:

[Desktop Entry] 
Name=Spark
Version=2.6.3
GenericName=Spark
X-GNOME-FullName=Spark
Comment=ignite realtime Spark IM client
Type=Application
Categories=Application;Utility;
Path=/opt/spark
Exec=/bin/bash Spark
Terminal=false
StartupNotify=true
Icon=/opt/spark/logo-spark.png
TargetEnvironment=Unity

Para añadir el logo:

cd /tmp
wget http://www.thefanclub.co.za/sites/default/files/images/howto/logo-spark_256x256.png
sudo mv logo-spark_256x256.png /opt/Spark/logo-spark.png

Instalación de LDAP

El proceso de instalación es realmente sencillo. Básicamente consiste en instalar el paquete slapd, aunque nosotros también instalaremos el paquete que contiene las utilidades de administración de LDAP: ldap-utils.

# apt-get install slapd ldap-utils

Durante la instalación, aparece en la consola un mensaje que nos solicita la contraseña de administración para LDAP

El sistema nos pide que volvamos a escribirla.

A continuación, instalaremos la librería NSS para LDAP.

# apt-get install libnss-ldap

En el primar paso, nos solicita la dirección URi del servidor LDAP.

A continuación escribiremos el nombre global único (Distinguished Name – DN).

En el siguiente paso, indicaremos la versión del protocolo LDAP que vamos a utilizar. Salvo que dispongamos en nuestra red de clientes muy antiguos, lo normal será elegir el valor más alto.

A continuación, indicaremos si las utilidades que utilicen PAM deberán comportarse del mismo modo que cuando cambiamos contraseñas locales. Esto hará que las contraseñas se guarden en un archivo independiente que sólo podrá ser leído por el superusuario. Yes y pulsamos Intro.

A continuación, el sistema nos pregunta si queremos que sea necesario identificarse para realizar consultas en la base de datos de LDAP. No y pulsamos Intro.

Ya sólo nos queda indicar el nombre de la cuenta LDAP que tendrá privilegios para realizar cambios en las contraseñas.

En el último paso, el asistente nos solicita la contraseña que usará la cuenta anterior. Deberá coincidir con la que escribimos en el apartado Instalar OpenLDAP en el servidor.

Configurar el demonio SLAPD

SLAPD (Standalone LDAP Daemon) es un programa multiplataforma, que se ejecuta en segundo plano, atendiendo las solicitudes de autenticación LDAP que se reciban en el servidor.

# sudo dpkg-reconfigure slapd

Elegimos la opción No y pulsamos la tecla Intro.

A continuación, deberemos escribir el nombre DNS que utilizamos para crear el DN base (Distinguished Name) del directorio LDAP.

Después, escribiremos el nombre de la entidad en la que estamos instalando el directorio LDAP.

En el siguiente paso, deberemos escribir la contraseña de administración del directorio.

A continuación, elegiremos el motor de la base de datos que usaremos para el directorio. Se recomienda HDB porque nos permitirá, en el futuro, cambiar los nombres de los subárboles si fuese necesario.


Lo siguiente que nos pregunta el asistente es si queremos que se borre la base de datos anterior del directorio cuando terminemos la configuración de slapd. Usamos la tecla <tabulador> para elegir No y pulsamos Intro.

A continuación, como hemos decidido no borrar la base de datos antigua, el asistente nos pregunta si queremos cambiarla de sitio. Elegiremos la opción y pulsaremos Intro.


En algunas redes, con clientes muy antiguos, puede ser necesario mantener la versión 2 del protocolo LDAP. Por ese motivo, antes de terminar, el asistente nos pregunta queremos permitir el protocolo LDAPv2. Elegimos que No.

Con esto habremos terminado la configuración del servidor LDAP. Ahora está listo para autenticar usuarios.

A continuación vamos a instalar phpmyadmin, para la configuración gráfica del LDAP. Para ello escribimos:

# apt-get install phpldapadmin

Acceder a phpLDAPadmin es tan sencillo como abrir cualquier navegador web en el servidor y, en la barra de direcciones, escribir la siguiente URL:

http://IP/phpldapadmin/

El esquemático de pruebas es el que se muestra a continuación:

FOTO

Funcionamiento del Spark

Spark es un cliente gratuito de mensajería instantánea para Jabber el cual cuenta con una sencilla interface de usuario orientada a negocios y a corporaciones, estando actualmente disponibles para Windows, Mac y Linux.

Entre sus características se encuentran grupos de chat, integración con Asterisk-IM, transferencias de archivos, corrección automática y conversaciones mediante pestañas.

Una vez que hayas instalado la aplicación de Spark, deberás configurar el cliente para que se conecte con el servidor Openfire (Jabber o XMPP).

Para configurar tu cuenta de Chat:

  1. Abre la aplicación de Spark
  2. Como tenemos nuestro servidor Openfire conectado a un LDAP, introducir el usuario y contraseña creado en el LDAP y dirección del servidor Openfire.

Y con ello ya estaría creada la cuenta de chat.

FOto

Con esta configuración, si agregamos un contacto, podremos chatear con el, ver la presencia de cada contacto, compartir documentos, realizar llamadas a través de nuestro asterisk...

Al realizar llamadas desde la aplicación, primeramente nos llamara a nuestro número y una vez cogido, llamará al contacto que queríamos llamar.

Funcionamiento del Jitsi Jitsi (antes SIP Communicator) es una aplicación de videoconferencia, VoIP, y mensajería instantánea para Windows, Linux y Mac OS X.

Es compatible con varios protocolos populares de mensajería instantánea y de telefonía como por ejemplo Bonjour, . NET Messenger Service, OSCAR, SIP, XMPP...

Para crear una cuenta XMPP iremos a Archivo > Agregar una nueva cuenta

Y seleccionaremos XMPP

FOTO

Como nuestro servidor Openfire lo tenemos conectado al LDAP ingresaremos el usuario y contraseña que hemos creado dentro del LDAP.

FOTO

Con solamente esta configuración, podemos chatear con los contactos, llamarles, ver la disponibilidad de cada contacto, hacer vídeo conferencias y compartir nuestro escritorio, pero tanto la voz como el vídeo no pasa por el asterisk, por lo que esta configuración no nos vale.


Hay una especificación llamada CUSAX (Combined Use of SIP And XMPP) que jitsi soporta y en la que nos apoyaremos. Esta especificación establece la combinación de una cuenta SIP y XMPP para realizar los diferentes servicios de comunicación. Por lo que el video y el audio irá por SIP, es decir por nuestro asterisk y la mensajería y presencia por XMPP.


Para configurarlo primeramente tendremos que deshabilitar el audio y vídeo por XMPP. Esto se encuentra en opciones de la cuenta XMPP > >Telefonía

FOTO

Sin realizar ninguna configuración vemos que solo podremos establecer un chat con los diferentes contactos. Para poder realizar llamadas, vídeo llamadas y compartir el escritorio es necesario crearnos una cuenta SIP.

FOTO

Al tener ahora una combinación de cuenta SIP y XMPP podremos realizar las diferentes acciones sobre un contacto. Sin embargo ahora vemos que la mensajería la trata de enviar también por SIP y no funciona, queremos que los mensajes se envíen por XMPP. Para solucionarlo hay que añadir la siguiente propiedad:

net.java.sip.communicator.impl.protocol.sip.MESSAGING_DISABLED=true

Vamos a Opciones > Avanzado > Editor de propiedades

FOTO

Otra limitación que hemos visto al configurar CUSAX es que a la hora de compartir el escritorio no funciona el que otro tome el control sobre este.

Para tener los contactos que hay en el LDAP y así evitar el crearlos uno a uno realizaremos lo siguiente.

Vamos a Opciones > Avanzado > Fuentes de contacto
y seleccionamos LDAP, añadimos uno nuevo y rellenamos los datos.

FOTO

Una vez que hemos configurado que el jitsi se conecte al LDAP, buscaremos el contacto bien por el nombre o por el número.

FOTO

Funcionamiento del Microsoft Outlook

El servidor de correos microsoft outlook permite la integración con un servidor XMPP. Se realiza automáticamente por lo que no hay que hacer ningún tipo de configuración, solamente poner en el LDAP, en la cuenta deseada, la dirección de correo del contacto.

Desde la propia bandeja de correo veo el estado del contacto, iniciar un chat o llamarle. Referencias

http://www.igniterealtime.org/projects/openfire/ http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/index.html https://www.voztovoice.org/?q=node/120 http://www.google.es/url? sa=t&rct=j&q=&esrc=s&source=web&cd=5&ved=0CEMQFjAE&url=http%3A%2F %2Fwww.razametal.org%2Fasterisk%2Flibrary%2Fhow-to%2Fopenfire %2Basterisk.pdf&ei=YvDRVICzNYHeUo2EhLAL&usg=AFQjCNHEPC2FCYD3C0ZkSnzO0Nvz vBklwQ&bvm=bv.85076809,d.d24