En un artículo anterior expliqué cómo instalar un servidor OpenMeetings en un PC con Windows, con el objetivo de disponer de una instalación que nos permitiera evaluar el producto y aprender su funcionamiento básico sin tener que complicarnos la vida con instalaciones en entornos linux, que para muchos, por desconocimiento del mismo, suponen un esfuerzo añadido.
Este artículo va dirigido a aquellos que finalmente han decido que el producto vale la pena y que desean instalar un servidor de videoconferencia en producción y que, como no podría ser de otra manera, van a hacerlo con linux.
Aunque en este blog se ha hablado en algunas ocasiones de este sistema operativo, quiero dejar claro que mi conocimiento y habilidad en el manejo del mismo es limitada y que cualquier operación un poco compleja requiere por mi parte de continuas y numerosas consultas a la documentación del distro utilizado y a los foros especializados donde gracias a usuarios más expertos que yo y que comparten sus conocimientos he podido salir a delante en este proyecto.
Dado el carácter divulgativo de este blog es posible que lo que en principio puede parecer un inconveniente (alguien que dice que no sabe lo suficiente de linux explicando cómo hacer la instalación de un producto complejo como Openmeetings) en realidad pueda ser una ventaja, ya que el punto de de vista de un “no experto” seguramente puede abordar el reto con un poco más de pragmatismo y con un espíritu más didáctico al no dar nada por hecho de antemano.

Inicilamente he instalado el sistema operativo básico; esta instalación no tiene ningún secreto y hay documentación suficiente en la red para que no sea necesario que dedique tiempo a la misma.
Posteriormente he ido añadiendo los diferentes productos necesarios para la instalación de OpenMeetings; la lista de estos productos ya se comentaron en otro articulo anterior y recomendaría al lector que lo leyera previamente.
Para instalar cualquier producto en Debian 6 debemos hacerlo desde una consola de administrador, que podemos abrir desde la opción de menú:
Aplicaciones – Accesorios – Terminal de “Root”
El comando que permite instalar aplicaciones en Debian es
#aptitude install <aplicación1> <aplicación2> ….. <aplicaciónN>
Recordemos que en linux cada aplicación depende de una serie de paquetes que si no están instalados, el sistema los busca e instala de los repositorios externos que utiliza la distribución correspondiente
Sobre los repositorios a utilizar, además de los estándar que ya vienen configurados en Debian 6 debemos añadir algunos más que serán necesarios durante el proceso de instalación de algunos de los paquetes que necesitamos. Por lo tanto, modificaremos el archivo que mantiene la lista de repositorios.
# gedit /etc/apt/sources.list
de manera que quede así
deb http://ftp.es.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.es.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
# squeeze-updates, previously known as 'volatile'
deb http://ftp.es.debian.org/debian/ squeeze-updates main
deb-src http://ftp.es.debian.org/debian/ squeeze-updates main
## Añadido Multimedia Estable
deb http://www.debian-multimedia.org squeeze main
Una vez hecha la modificación debemos ejecutar
# aptitude update
para actualizar la lista de paquetes disponibles.
También instalaremos los paquetes necesarios para poder instalar después aquellas aplicaciones que no están en los repositorios y que necesitan un proceso manual que utiliza la secuencia de instrucciones ./configure – make – make install
# aptitude install libncurses5 libncurses5-dev build-essential
Como último paso, elegiremos una carpeta de maniobra para la descarga y manipulación de estas aplicaciones, por ejemplo, la carpeta de usuario
/home/<usuario>
Empezaremos por mencionar las aplicaciones que no requieren instalación porque ya han sido instaladas inicialmente junto con el sistema operativo
- OpenOffice
- ImageMagick
- Ghostscript
Comprobar que tenemos instalado OpenOffice es sencillo, pero si queremos verificar que ImageMagick y Ghostscript lo están, podemos hacerlo con estos comandos que nos deben dar un resultado positivo (“Estado: Instalado”)
# aptitude show imagemagick | grep instal# aptitude show ghostscript | grep instal
Comenzaremos por instalar Java JDK, paquete necesario para la ejecución de OpenMeetings. Debemos tener en cuenta diversos aspectos sobre Java aplicado a OpenMeetins
- Desde la compra de SUN por parte de Oracle, por políticas de licencias de esta compañía, Java de Sun ya no está disponible en muchos de los repositorios de las diferentes versiones de linux y terminará por desaparecer de todos ellos.
- Existe una versión "open" de java denominada OpenJDK (openjdk-6-jdk) . Esta versión se puede instalar a partir de los repositorios de Debian mediante los mecanismo internos como el comando "aptitude install", pero a día de hoy, OpenMeetings no está preparado para trabajar con esta versión, lo que seguramente ocurrirá en un futuro cercano.
Tras diversas pruebas realizadas con las dos versiones de Java JDK la solución la hemos encontrado en la instalación manual del Java de Sun en su versión 6.
Para instalar debemos realizar los siguientes pasos
Para instalar debemos realizar los siguientes pasos
- Descarga del archivo jdk-6u31-linux-i586.bin de la web de Oracle www.oracle.com/technetwork/java/javase/downloads
- Creación de un directorio para Java
# mkdir /usr/lib/java
- copia al directorio de java, asignación de permisos de ejecución y ejecución del archivo descargado
# cp /<directorio descarga>/jdk-6u31-linux-i586.bin /usr/lib/java# chmod +x /usr/lib/java/jdk-6u31-linux-i586.bin# ./jdk-6u31-linux-i586.bin
- añadir variables de entorno de Java en los archivos /roor/.bashhrc y /home/<usuario>/.bashrc
# gedit /root/.bashrc y # gedit /home/<usuario>/.bashrc
Arrancamos la máquina y comprobamos la correcta instalación de Java mediante el comandoexport JAVA_HOME=/usr/lib/java/jdk1.6.0_31
export PATH=$JAVA_HOME/bin:$PATH
# java -versionUna vez instalado Java ya podemos comenzar a instalar las aplicaciones que están en los repositorios de Debian
# aptitude install flashplugin-nonfree (Adobe Flash)# aptitude install ffmpeg (FFMpeg)# aptitude install sox (SoX)
Seguidamente debemos instalar SWFTools, que por algún motivo que desconozco no está disponible en los repositorios de Debian 6 y que deberemos descargar y compilar manualmente
En primer lugar instalamos los paquetes de los que SWFTools depende y que deben estar instalados previamente
# aptitude install zlib1g-dev# aptitude install libfreetype6-dev# aptitude install libgif-dev# aptitude install libjpeg62-dev
Descargamos el paquete de SWFTols en nuestra carpeta de maniobra, lo descomprimimos y lo instalamos.
#wget http://swftools.org/swftools-0.9.1.tar.gz
#tar -xf swftools-0.9.1.tar.gz
# cd swftools-0.9.1# ./configure# make# make install
Para comprobar que la instalación ha sido correcta podemos ejecutar el comando
# pdf2swf
que deberá dar la una salida válida mostrando las opciones del comando.
Una vez instalado el software previo, vamos instalar el gestor de base de datos, que en nuestro caso será MySQL.
# aptitude install mysql-server
En el proceso de instalación nos pedirá una contraseña para el usuario administrador (root) de MySQL.
Seguidamente crearemos una base de datos de nombre openmeetings con un usuario de nombre openmeetings y contraseña openmeetings. Utilizaremos los siguientes comandos.
# mysql -p -u rootmysql> CREATE DATABASE openmeetings DEFAULT CHARACTER SET 'utf8';
mysql> GRANT ALL PRIVILEGES ON openmeetings.* TO 'openmeetings'@'localhost' IDENTIFIED BY 'openmeetings' WITH GRANT OPTION;
mysql> exit
Con toda la infraestructura lista, ya podemos descargar, descomprimir y colocar la aplicación Openmeetings (y el servidor red5) en la carpeta adecuada.
# wget http://openmeetings.googlecode.com/files/openmeetings_1_9_1_r4707.zip# unzip openmeetings_1_9_1_r4707.zip# mv red5 /usr/lib
Quitamos permisos innecesarios y damos permisos de ejecución al script principal de red5 y al script de conversión de documentos OpenOffice
# chown -R nobody /usr/lib/red5# chmod +x /usr/lib/red5/red5.sh# chmod +x /usr/lib/red5/webapps/openmeetings/jod/jodconverter2.sh
El siguiente paso es configurar OpenMeetings para que trabaje con la base de datos MySQL que creamos anteriormente. Para ello es necesario cambiar el archivo de configuración del arranque de OpenMeetings
/usr/lib/red5/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml
Originalmente este archivo está configurado para trabajar con la base de datos Apache Derby que viene en el paquete red5+openmmetings
Dado que Openmmeetings nos proporciona modelos de configuración para cada tipo de base de datos soportada, renombramos el archivo original y copiamos el archivo de configuración correspondiente a MySQL
# cd /usr/lib/red5/webapps/openmeetings/WEB-INF/classes/META-INF# mv persistence.xml apachederby_persistence.xml# cp mysql_persistence.xml persistence.xml
Editamos el fichero de configuración
# gedit persistence.xml
y modificamos las líneas donde figuran los datos de conexión del usuario que asignamos a la base de datos cuando la creamos
, Username=openmeetings, Password=openmeetings “/>
Solo nos queda arrancar el servidor. Para hacerlo manualmente deberíamos ejecutar el script
/usr/lib/red5/red5.shy lanzar OpenOffice como servicio, mediante el comando
soffice -headless -nologo -nofirststartwizard -accept="socket, host=127.0.0.1, port=8100;urp"Ahora bien, lo que necesitamos es que estos procesos arranquen automáticamente cada vez que arrancamos la máquina. Para ello, deberemos crear un script de autoarranque para cada servicio; en la red podemos encontrar numeros scritps, pero muchos de ellos no funcionan correctamente, por lo que hemos preferido crearlos por nosotros mismos basándonos en los ya exitentes y simplificándolos al máximo
Al script de arranque de red5 le hemos llamado red5 y tiene el siguiente contenido
# !/bin/shAl script de arranque de OpenOffice le hemos llamado openoffice y tiene el siguiente contenido
# /etc/init.d/red5
case "$1" in
start)
cd /usr/lib/red5
sudo sh red5.sh
;;
stop)
cd /usr/lib/red5
sudo killall java
;;
esac
#!/bin/bash
# /etc/init.d/openoffice
case "$1" in
start)
cd /usr/lib/openoffice/program
sudo soffice -headless -nologo -nofirststartwizard -accept="socket,host=127.0.0.1,port=8100;urp" & > /dev/null
;;
stop)
sudo killall soffice
;;
esac
Debemos guardar los scripts en la carpeta /etc/init.d, que es donde Debian guarda los scripts que se ejecutan durante el arranque de la máquina, darles permisos de ejecución y añadirlos al proceso de arranque
# cd /etc/init.d# chmod +x /etc/init.d/red5# update-rc.d red5 defaults
# chmod +x /etc/init.d/openoffice# update-rc.d openoffice defaults
Ahora debemos reiniciar el sistema con el fin de comprobar que todo el proceso funciona adecuadamente.
Desde el navegador ejecutamos el proceso de instalación inicial de la aplicación.
http://localhost:5080/openmeetings/install
Debemos cumplimentar un formulario donde debemos indicar los datos del usuario administrador de OpenMeetings, la zona horaria y un nombre para nuestra organización. También podemos definir el idioma por omisión; en el caso del español, veremos que la aplicación está parcialmente traducida y que faltan muchas cadenas por traducir. El resto de las opciones las podemos dejar para más adelante.
Hasta aquí esta guía que espero sea de utilidad, sobre todo a aquellos que no están familiarizados con el sistema operativo linux.
Le puedo asegurar que el procedimiento aquí explicado ha sido testeado cuidadosamente y que funciona, pero he de decir que OpenMeetings es un programa complejo de instalar y que cualquier cambio de versión de cualquiera de los productos implicados puede generar problemas o modificar algún aspecto de este procedimiento; seguro que en algún momento le surgirá alguna dificultad; le sugiero que para resolverla haga como yo, recurra a la documentación existente en internet y los foros de la comunidad. He aquí la dirección del foro en español.