Apache OpenMeetings 6.2.0: Instalación, configuración y uso

January 25th, 2022

Veamos la descripción que proporciona Wikipedia de Apache OpenMeetings:

Openmeetings es un software utilizado para presentaciones, la formación en línea, conferencias web, pizarra de dibujo, colaboración y edición de documentos, intercambio de escritorio del usuario. El producto se basa en el marco RIA de OpenLaszlo y el servidor de video Red5, que a su vez se basa en componentes de código abierto. La comunicación tiene lugar en las salas de reunión en las que se establecen la seguridad y los modos de calidad de vídeo. La base de datos recomendada es MySQL. El producto puede ser configurado como un producto de servidor instalado, o se utiliza como hospedaje de los productos.

Este tipo de herramientas se encuentran cada vez más en uso para la comunicación corporativa, quizá ahora más que nunca por las circunstancias en las que nos encontramos, con una pandemia que ha obligado a realizar teletrabajo a una gran cantidad de trabajadores.

Sabemos que existen varias alternativas de software con posibilidades similares a las descritas más arriba, pero nos decantamos por OpenMeetings al tratarse de una herramienta de uso libre y gratuita, además de muy personalizable. Algunas de las principales ventajas de hacer uso de este software pasan por la independencia propia al no hacer uso de software de pago de terceros o la alta personalización del servicio. La principal desventaja es clara: tendremos que encargarnos de la instalación de la herramienta, así como de su mantenimiento. Debemos poner todas estas cuestiones en una balanza, sopesando bien las ventajas y los inconvenientes derivadas del uso de este tipo de software, asegurarnos de que todos nuestros requisitos quedan cubiertos, y decidir así si Apache OpenMeetings puede convertirse en la herramienta de comunicación corporativa que necesitamos.

Vamos a realizar la instalación de la última versión de la aplicación, que actualmente es la 6.2.0, liberada el pasado mes de septiembre, y que desde su versión 5.0 está basada en la tecnología HTML5 en detrimento del obsoleto Flash.

Pasos previos

Antes de comenzar, siempre es recomendable actualizar el sistema:

$ sudo apt update

$ sudo apt upgrade

OpenMeetings requiere Java 11. Si no estamos seguros de si tenemos Java en nuestra máquina, o bien desconocemos la versión instalada, podemos averiguarla introduciendo el siguiente comando;

$ java -version

Si no hay ninguna versión de Java instalada, la Shell arrojará un mensaje tipo “Command ‘java’ not found, but can be installed with”, y una serie de ejecuciones de línea de comando para instalarlo en nuestro equipo.

La que nosotros debemos ejecutar en caso necesario, es la siguiente:

$ sudo apt install openjdk-11-jdk openjdk-11-jdk-headless

Cuando nos pregunte si deseamos continuar, pulsamos Y.

Instalando componentes necesarios

Comencemos instalando LibreOffice, que nos permitirá convertir documentos de Office compartidos a través de OpenMeetings. Añadimos el repositorio necesario:

$ sudo add-apt-repository ppa:libreoffice/ppa

Actualizamos repositorios:

$ sudo apt update

Y ejecutamos la instalación:

 $ sudo apt install libreoffice

La aplicación ImageMagick nos permitirá trabajar en OpenMeetings con distintos tipos de imagen. Ejecutamos su instalación:

$ sudo apt instal imagemagick

Debemos adecuar un fichero xml en el que se definen políticas de la aplicación. Ejecutamos el siguiente comando:

$ sudo vim /etc/ImageMagick-6/policy.xml

Y comentamos las dos líneas finales de esta forma:

<!-- <policy domain="coder" rights="none" pattern="PS" /> -->

<!-- <policy domain="coder" rights="none" pattern="PDF" /> -->

Para los requerimientos de sonido, debemos instalar Sox. Ejecutamos el siguiente comando:

$sudo apt install sox

Para los requerimientos de vídeo, instalamos FFmpeg y VLC:

$sudo apt install ffmpeg vlc

OpenMeetings precisa de una BBDD para su funcionamiento. Si bien la propia aplicación incorpora su propia BBDD, en nuestro caso, haremos uso de MariaDB. Ejecutamos su instalación:

 $sudo apt install mariadb

Arrancamos el servicio:

 $sudo /etc/init.d/mysql start

Podemos comprobar su estado ejecutando:

$systemctl status mysql

Para hacer uso de la BBDD, debemos dotar al usuario root de una contraseña. Establecemos una sencilla al encontrarnos en un entorno virtual no productivo:

$sudo mysqladmin -u root password Abcd1234

Ahora podremos conectarnos a la BBDD. Ejecutamos lo siguiente:

$sudo mysql -u root -p

Para establecer la conexión, introducimos la contraseña recién establecida.

Una vez conectados, podremos generar nuestro esquema en MariaDB:

> CREATE DATABSE open620 DEFAULT CHARACTER SET ‘utf8’;

También necesitamos un usuario con el que trabajar en este esquema:

> GRANT ALL PRIVILEGES ON open504.* TO ‘qualoom@’localhost’ IDENTIFIED BY ‘qualoomqualoom’ WITH GRANT OPTION;

Ya podemos desconectarnos de la BBDD de datos:

> quit

OpenMeetings: primeros pasos

Nos situamos en la carpeta /opt:

$ cd /opt

Y descargamos la última versión de OpenMeetings en nuestro equipo:

$ sudo wget https://archive.apache.org/dist/openmeetings/6.2.0/bin/apache-openmeetings-6.2.0.tar.gz

Descomprimimos el fichero:

$ sudo tar xzvf apache-openmeetings-6.2.0.tar.gz

Para mayor comodidad, renombramos la carpeta resultante:

$ sudo mv apache-openmeetings-6.2.0.tar.gz open620

Adecuamos los permisos asignando la carpeta al usuario ‘nobody’ de forma recursiva:

$ sudo chmod -R nobody:nogroup /opt/open620

Descargamos el conector de MariaDB:

$ sudo wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.26/mysql-connector-java-8.0.26.jar

Y lo movemos a la ruta adecuada:

$ sudo mv /opt/mysql-connector-java-8.0.26.jar /opt/open620/webapps/openmeetings/WEB-INF/lib

Instalando Kurento Media Server

Como medio de acceso al audio, la imagen de cámara y la compartición de escritorio, haremos uso de Kurento Media Server, que instalaremos sobre un contenedor Docker:

$ sudo apt install apt-transport-https ca-certificates curl software-properties-common

Obtenemos la clave GPG del repositorio de Docker:

$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Y lo añadimos ejecutando el siguiente comando en una única línea:

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Ya podemos actualizar el repositorio:

$ sudo apt update

E instalar Docker:

 $ sudo apt-cache policy docker-ce

$ sudo apt install docker-ce

Podemos comprobar que el servicio se encuentra correctamente arrancado ejecutando el siguiente comando:

$ sudo systemctl status docker.

Para poder arrancar contenedores con nuestro usuario del sistema, debemos añadir aeste al grupo ‘docker’, de manera que no tengamos que hacer uso del usuario ‘root’; ejecutamos lo siguiente:

$ sudo usermod -aG docker ${USER}

Ya podemos generar un contenedor con KMS. En primer lugar, generamos una carpeta necesaria para almacenar archivos multimedia resultado de nuestra actividad en OpenMeetings:

$ sudo mkdir -p /opt/om_data

Configuramos el contenedor Docker:

$ sudo docker run -d --name kms -p 8888:8888 --mount type=bind,source=/opt/om_data,target=/opt/om_data kurento/kurento-media-server

Y lo arrancamos:

$ sudo docker start kms

Instalando y arrancando Apache Tomcat

Necesitamos un servidor web donde poder ejecutar OpenMeetings. Lo haremos a través de un script que descargamos de la web de la Fundación Apache. Nos situamos en el directorio /opt:

$ cd /opt

Y descargamos el script:

$ sudo wget https://cwiki.apache.org/confluence/download/attachments/27838216/tomcat34

Lo movemos a /etc/init.d/ y adecuamos los permisos:

$ sudo mv tomcat34 /etc/init.d/&& sudo chmod +x /etc/init.d/tomcat34

Veamos ahora cómo arrancar Tomcat. Primero, nos aseguramos de que el servicio de MariDB esté activo:

$ sudo systemctl status mariadb

Cuando nos hayamos cerciorado de que así es, arrancamos Tomcat:

$ sudo /etc/init.d/tomcat34 start

Tras unos segundos, el servicio quedará arrancado. Ya podemos acceder al asistente de instalación de OpenMeetings haciendo uso del navegador. En la barra de direcciones, debemos introducir lo siguiente:

            https://localhost:5443/openmeetings

A tener en cuenta que, en nuestro caso, la instalación la estamos realizando sobre una máquina virtual en un entorno de pruebas, por lo que, en lugar de localhost, debemos introducir la IP de esta máquina.

Una vez establecida la comunicación, comenzamos el proceso de instalación:

Hacemos clic en siguiente.

openmeetings1

Ahora debemos establecer la configuración. En el desplegable de tipo de BBDD, seleccionamos MySQL:

openmeetings2

En nuestro caso, la configuración inicial tendría esta forma. Clicamos en Siguiente:

openmeetings3

Introducimos las credenciales de administración y clicamos en Siguiente:

openmeetings4

La siguiente pantalla la dejamos con los valores establecidos por defecto:

openmeetings5

Y clicamos en Finalizar para comenzar la instalación:

openmeetings6

Una vez finalizada la instalación, podremos logarnos en el servicio con nuestras credenciales:

openmeetings7

Cuando accedemos, esta será la pantalla principal que nos mostrará la aplicación:

openmeetings8

Podemos personalizar los datos de nuestro usuario editando nuestro perfil:

openmeetings9

Por defecto, existen una serie de “Public rooms” de las que podremos hacer uso. Vamos a realizar una prueba accediendo a una de ellas:

openmeetings10openmeetings11

De forma paralela, hemos generado otro usuario para poder comprobar que todo funciona correctamente. Nos logamos en otro navegador con las credenciales de este nuevo usuario, y accedemos a la sala donde se encuentra el usuario Administrador.

En la siguiente captura, podemos observar cuando la seleccionamos que ya hay un usuario (Administrador) en una de las salas. Accedemos a ella:

openmeetings12

Y comprobamos que ya estamos en una sala con el usuario Administrador. Podemos hacer uso, entre otras muchas cosas, de un chat y de una pizarra compartida común donde ambos usuarios pueden interactuar:

openmeetings13openmeetings14

Desde la otra perspectiva:

openmeetings15

También ambos usuarios tienen un acceso para compartir el Escritorio de sus equipos y, por supuesto, establecer sesiones de videoconferencia o de solo audio (las imágenes de las webcams son idénticas porque estas pruebas se realizaron en el mismo equipo):

openmeetings16

Esto es solo el comienzo. Te animo a explorar las diversas posibilidades que ofrece esta aplicación, como la administración de usuarios por grupos, la transformación de archivos compartidos, la gestión de las salas privadas, la gestión de usuarios por grupos, el establecimiento de usuarios moderadores en las salas, etc.