Instalación de OpenMeetings 2.0 en CentOS 6.3

Versión para impresiónSend by email

Actualizado el 5 de febrero 2013

En distintas ocasiones se ha hablado en este sitio de Openmeetings. Este nuevo articulo aparece porque acaba de salir la versión 2.0 que trae muchas novedades:

  • la interfaz grafica ha sido completamente rediseñada
  • El calendario utilizado para agentar las conferencias ha sido rescrito y ahora prevé la posibilidad de enviar invitaciones con contraseña para acceder a las salas
  • Integración con Asterisk
  • Instalación/backup/restore desde la línea de comando
  • utilizo de SWF10 que, entre otras cosas, permite la implementación de la cancelación de eco

En este articulo veremos como instalar OpenMeetings en CentOS 6.3. Próximamente su integración con Asterisk. Primero se actualiza el sistema:

yum update -y

Se deshabilita selinux:

nano /etc/selinux/config

Asegurarse que:

SELINUX=disable

Se guardan los cambios y se reinicia el servidor:

reboot

Seguimos con la instalación de MySQL, unzip y unas librerías necesarias para la compilación de SWFtools.

yum install libjpeg libjpeg-devel giflib giflib-devel giflib-utils mysql mysql-devel mysql-server freetype freetype-devel unzip subversion

Seguimos con el “paquete” para compilar las fuentes:

yum install gcc ncurses ncurses-devel make gcc-c++ zlib zlib-devel libtool bison bison-devel openssl-devel bzip2 bzip2-devel wget nano

Si queremos convertir cualquier tipo de documento para poderlo cargar en la plataforma de Openmeetings y de ahí compartirlo, tenemos que instalar LibreOffice o OpenOffice; En este caso LibreOffice:

yum install libreoffice-base libreoffice-calc libreoffice-core libreoffice-draw libreoffice-emailmerge libreoffice-graphicfilter libreoffice-headless libreoffice-impress libreoffice-langpack-es libreoffice-math libreoffice-writer

Con ImageMagick podemos manipular cualquier tipo de imagen y utilizarla en Openmeetings. Instalamos también Sendmail para enviar los correos de invitación a las conferencias o para avisar de encuentros agentados.

yum install sendmail sendmail-cf  ImageMagick

Ahora pasamos a la instalación de SWFTools. SWFTools es un grupo de herramientas de Código abierto para crear y manipular ficheros SWF. SWF es el formato utilizado por el software Adobe Flash Player (anteriormente Macromedia Flash). SWFTools ha sido liberado bajo licencia GPL, y funciona en entornos Windows, Mac OS X, Linux y otros sistemas tipo Unix (Wikipedia)

cd /usr/src

wget http://www.swftools.org/swftools-0.9.2.tar.gz

tar -xf swftools-0.9.2.tar.gz

cd swftools-0.9.2

./configure --prefix=/usr
make
make install

Volvemos automático el arranque de Sendmail:

chkconfig sendmail on

y de MySQL:

chkconfig mysqld on

Para grabar las conferencias necesitamos instalar estos programas:

  • Lame
  • YASM (para Ffmpeg)
  • Ffmpeg
  • SoX

 

LAME

cd /usr/src

wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz

tar -xf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure --prefix=/usr
make
make install

 

YASM

cd /usr/src

wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz

tar -xf yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure --prefix=/usr
make
make install

 

FFMPEG

cd /usr/src

svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg

cd ffmpeg
./configure --prefix=/usr --enable-libmp3lame
make
make install

 

SoX

cd /usr/src

wget http://downloads.sourceforge.net/project/sox/sox/14.4.0/sox-14.4.0.tar.gz

tar -xf sox-14.4.0.tar.gz

cd sox-14.4.0
./configure --prefix=/usr
make
make install

Iniciamos MySQL:

/etc/init.d/mysqld start

Creamos la contraseña para el usuario root:

mysqladmin -u root password sesamo

Entramos en el cliente mysql:

mysql -u root -psesamo

creamos la base de datos definiendo como sistema de codificación de caracteres UTF8:

mysql> create database openmeetings default character set utf8;

creamos un usuario con los privilegios para la base de datos creada:

mysql> GRANT ALL PRIVILEGES ON openmeetings.* TO 'openmeetings'@'localhost' IDENTIFIED BY  'sesamo';

actualizamos los privilegios y salimos del cliente:

mysql> flush privileges;

mysql> quit

Configuramos un nuevo usuario para conectarnos al servidor sendmail y enviar invitaciones desde las conferencias o para eventos programados:

groupadd voztovoice

useradd -m -g voztovoice voztovoice

definimos una contraseña para el usuario voztovoice:

passwd voztovoice

arrancamos sendmail:

/etc/init.d/sendmail start

OpenMeetings a partir de esta versión funciona solamente con SUN/JAVA y ya no con OpenJDK: se descarga la ultima versión disponible (la cargué en mi servidor para que sea más sencillo):

cd /usr/src

wget http://www.voztovoice.org/tmp/jdk-7u13-linux-i586.rpm

instalamos el paquete:

rpm -ivh jdk-7u13-linux-i586.rpm

Configuramos el PATH para el usuario corriente (en este caso el usuario root):

cd /root

nano .bash_profile

al final del archivo añadimos:

export JAVA_HOME=/usr/java/jdk1.7.0_13
export PATH=$PATH:/usr/java/jdk1.7.0_13/bin

Guardamos los cambios y recargamos el perfil:

source .bash_profile

Averiguamos si la versión JAVA reconocida es la correcta:

java -version

java version "1.7.0_13-icedtea"
OpenJDK Runtime Environment (rhel-2.2.1.el6_3-i386)
OpenJDK Client VM (build 23.0-b21, mixed mode)

Continuamos con Openmeetings. Lo descargamos:

cd /opt

mkdir openmeetings

cd openmeetings

wget http://apache.mesi.com.ar/incubator/openmeetings/2.0-incubating/apache-openmeetings-incubating-2.0.0.r1361497-14-07-2012_1108.zip

unzip apache-openmeetings-incubating-2.0.0.r1361497-14-07-2012_1108.zip

Configuramos OpenMeegings para que guarde sus datos en una base de datos MySQL:

mv webapps/openmeetings/WEB-INF/classes/META-INF/mysql_persistence.xml webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

mv: overwrite `webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml'? y

nano /opt/openmeetings/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

buscamos estas dos líneas:

Username=root
Password="/>

y la modificamos para que queden:

Username=openmeetings
Password=sesamo"/>

(openmeetings y sesamo son el usuario y la contraseña que configuramos con privilegios en la base de datos openmeetings). Como por defecto el connector MySQL para java no es presente en el paquete de OpenMeetings, lo instalamos:

yum install mysql-connector-java

Copiamos la clase Java en la carpeta donde la buscará OpenMeetings:

cp /usr/share/java/mysql-connector-java-5.1.17.jar /opt/openmeetings/webapps/openmeetings/WEB-INF/lib/mysql-connector-java.jar

Descargamos Jodconverter que permite cargar cualquier documento OpenOffice a las pizarras de las videoconferencias.

cd /opt

wget http://jodconverter.googlecode.com/files/jodconverter-core-3.0-beta-4-dist.zip

Lo descomprimimos:

unzip jodconverter-core-3.0-beta-4-dist.zip

Iniciamos OpenMeetings:

cd /opt/openmeetings

./red5.sh

El arranque tarda un par de minutos y hay que esperar que aparezcan estas líneas:

DEBUG 08-01 15:12:56.373 AppointmentDaoImpl.java 11702 932 org.openmeetings.app.data.calendar.daos.AppointmentDaoImpl [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2] - stopStamp 2012-08-01 15:27:56.248
DEBUG 08-01 15:12:56.384 AppointmentLogic.java 11713 408 org.openmeetings.app.data.calendar.management.AppointmentLogic [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2] - doScheduledMeetingReminder : no Appointments in range

En la ventana de un navegador ponemos:

http://IPServidor:5080/openmeetings/install

Aparecerá:

OM1

 

Seleccionamos el enlace “Continue with STEP 1”:

 

OM2

 

Ponemos nombre del administrados, contraseña, correo electrónico y zona horaria:

 

OM3

 

Ponemos nombre de la Organización, permitimos el registro de los usuarios, enviamos un correo a los nuevos usuarios, los nuevos usuarios tienen que confirmar su dirección de correo electrónico, se crearán todas las salas predefinidas y se configura el servidor de correo electrónico con el nombre de usuario y contraseña que se ha creado anteriormente.

 

OM4

 

En esta parte dejamos los valores predefinidos:

 

OM5

En JOD Path ponemos la dirección de la carpeta de las librerías del Jodconverter. En nuestro caso: /opt/jodconverter-core-3.0-beta-4/lib:

OM6

 En esta parte también el valor predefinido:

Para la integración con Asterisk, el parametro "Enable SIP" tiene que estar en yes. Los dos demás se dejan como están.

OM7

 

Vamos al final de la pagina y presionamos el botón “INSTALL”. Después de unos minutos aparecerá:

 

OM11

 

Ponemos el nombre de usuario y la contraseña que se han configurado a lo largo de la instalación. Se entrará en la pagina principal del programa:

 

OM9

 

Como se puede ver, los menú han sido rediseñados completamente. Se nota el cambio también en una sala de videoconferencia:

 

OM10

Para que arranque en automático:

nano /etc/init.d/red5

#!/bin/bash
# For RedHat and cousins:
# chkconfig: 2345 85 85
# description: Red5 flash streaming server
# processname: red5
# Created By: Sohail Riaz (sohaileo@gmail.com)

PROG=red5
RED5_HOME=/opt/openmeetings
DAEMON=$RED5_HOME/$PROG.sh
PIDFILE=/var/run/$PROG.pid

# Source function library
. /etc/rc.d/init.d/functions

[ -r /etc/sysconfig/red5 ] && . /etc/sysconfig/red5

RETVAL=0

case "$1" in
    start)
    echo -n $"Starting $PROG: "
    cd $RED5_HOME
    $DAEMON >/dev/null 2>/dev/null &
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
        echo $! > $PIDFILE
        touch /var/lock/subsys/$PROG
    fi
    [ $RETVAL -eq 0 ] && success $"$PROG startup" || failure $"$PROG startup"
    echo
    ;;
    stop)
    echo -n $"Shutting down $PROG: "
    killproc -p $PIDFILE
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$PROG
    ;;
    restart)
    $0 stop
    $0 start
    ;;
    status)
    status $PROG -p $PIDFILE
    RETVAL=$?
    ;;
    *)
    echo $"Usage: $0 {start|stop|restart|status}"
    RETVAL=1
esac
exit $RETVAL

Volvemos ejecutable el archivo y lo configuramos para que arranque en automático:

chmod +x /etc/init.d/red5

chkconfig --add red5

chkconfig red5 on

Iniciamos el servicio:

/etc/init.d/red5 start

La primera impresión es que el sistema es mucho más rápido y estable. Parece consumir muchos menos recursos que las versiones anteriores. Ya veremos si se confirma.

¿Qué les parece a ustedes?

Comentarios

Felicidades

Gran artículo, aplicación medio complicada de implementar, pero realmente practica, llena un agujero que existía en GNU/Linux o que yo no llegaba a conocer hace unos años, cuando empezé a conocer Webex.
Ahora con esto ¿qué necesidad de saludar a los de Cisco? Ahora sólo faltaría el artículo para implementarlo con Moodle.

Gracias

Excelentes tus post's. estoy estudiando aplicaciones Web y una de ellas fue instalar openmeetings. Me has servido de gran ayuda.

Gracias nuevamente.

JodConverter

Has probado dentro de la plataforma la subida de archivos *.doc sin que te genere el fallo de que no sabe la ruta del openoffice o libreoffice

Fantástico manual...pero me surgió un error

Buenas! He seguido el manual al pie de la letra. Me parece muy bueno y seguro que el error que me ha salido es porque he configurado algo mal.

Más o menos a la mitad de la guía, se crea un usuario para conectarse a sendmail. Creo el usuario y le asigno una contraseña sin mayores problemas. El problema viene cuando intento iniciar sendmail.

El error que aparece es el siguiente:

Iniciando sendmail: sendmail: usage: sendmail [ -t ] [ -fsender ] [ -Fname ] [ -bp ] [ -bs ] [arg...]               [FALLÓ]

Puedo continuar con la instalación sin problemas? O es necesario sendmail? Gracias de antemano.

Gran trabajo!

Re: Fantástico manual...pero me surgió un error

Hola,

senmail se necesita para enviar distintas cosas (correo de confirmación, correo de invitación a una conferencia, etc...)

Puede ser que ya tengas otro servidor de correo electrónico instalado en tu servidor.

Normalmente es Postfix.

Intenta hacer esta prueba.

/etc/init.d/postfix stop

/etc/init.s/sendmail start

y mira si todavía te sale el mismo error.

Saludos

Hola de nuevo, postfix no

Hola de nuevo, postfix no está instalado en mi servidor

Sin embargo hay otro servidor que se llama qmail que sí que está instalado. Aun así, si paro este servidor y enciendo sendmail, me sigue saliendo el mismo error.

He probado también a parar qmail y enviar un correo electrónico y al estar parado no enviaba ni recibía correos. Puedo seguir la instalación dejando sendmail a un lado y funcionando con qmail?

Y una última cosa, esta línea: 

mv: overwrite `webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml'?

que no está en negrita en el manual, que hacer con ella?? 

Gracias de nuevo

Re: Hola de nuevo, postfix no

Hola,

puedes continuas sin Sendmail y mirar si funciona con Qmail.

La linea que indicaste es la respuesta del servidor Linux al comando presente antes de la misma.

Saludos

Consulta por version openjdk por defecto de centos 6.3 vs jdk1.7

Hola, realicé todo el procedimiento en Centos 6.3. Pero al reiniciar la máquina la primera vez luego de la instalación se pierde la referencia al JDK 1.7.0_13.

Este problema causa que no se puedan enviar notificaciones vía e-mail.

Al colocar java -version me muestra el openjdk  del S.O. y no la instalada según las instrucciones. Al consultar si el paquete está instalado con rpm, me muestra que si está instalada.

Foreando un poco llegé al sigueinte thread:

http://www.if-not-true-then-false.com/2010/install-sun-oracle-java-jdk-j...

Con las instrucciones pude incorporar como opción el JDK 1.7.0_13 pero aun así me entrega igual el mismo error al enviar las notificaciones por e-mail:

------------------------------

ERROR 04-08 13:03:16.624 MailThread.java 595063 158 org.openmeetings.utils.mail.

MailHandler [taskExecutor-1] - [mail send]
javax.mail.SendFailedException: Send failure (javax.mail.AuthenticationFailedException: No authentication mechansims supported by both server and client)
    at javax.mail.Transport.send(Transport.java:163) ~[geronimo-javamail_1.4_spec-bundle-1.6.jar:1.6]
    at javax.mail.Transport.send(Transport.java:48) ~[geronimo-javamail_1.4_spec-bundle-1.6.jar:1.6]
    at org.openmeetings.utils.mail.MailThread$MailSenderTask.send(MailThread.java:154) [openmeetings-2.0.0-RELEASE.jar:na]
    at org.openmeetings.utils.mail.MailThread$MailSenderTask.run(MailThread.java:71) [openmeetings-2.0.0-RELEASE.jar:na]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_13]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_13]
    at java.lang.Thread.run(Thread.java:722) [na:1.7.0_13]
Caused by: javax.mail.AuthenticationFailedException: No authentication mechansims supported by both server and client
    at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:756) ~[mail-jar-1.4.4.jar:1.4.4]
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:669) ~[mail-jar-1.4.4.jar:1.4.4]
    at javax.mail.Service.connect(Service.java:271) ~[geronimo-javamail_1.4_spec-bundle-1.6.jar:1.6]
    at javax.mail.Service.connect(Service.java:91) ~[geronimo-javamail_1.4_spec-bundle-1.6.jar:1.6]
    at javax.mail.Service.connect(Service.java:76) ~[geronimo-javamail_1.4_spec-bundle-1.6.jar:1.6]
    at javax.mail.Transport.send(Transport.java:94) ~[geronimo-javamail_1.4_spec-bundle-1.6.jar:1.6]
    ... 6 common frames omitted

------------------

Si me pueden orientar como establecer la JDK 1.7.0_13 por defecto se los agradeceré.

Saludos MP

MP

Excelente manual!!! casi todo funcionó perfecto pero...

No lograba compilar swftools pero buscando di con esta pagina que me solucionó el problema
http://lists.gnu.org/archive/html/swftools-common/2013-02/msg00009.html

Ademas no logro conectar con MySQL, luego del primer paso de la instalación me da el siguiente error:
HTTP Status 500 -

type Exception report

message

description The server encountered an internal error that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
org.apache.velocity.tools.view.VelocityView.performMerge(VelocityView.java:942)
org.apache.velocity.tools.view.VelocityView.merge(VelocityView.java:902)
org.apache.velocity.tools.view.VelocityViewServlet.mergeTemplate(VelocityViewServlet.java:318)
org.apache.velocity.tools.view.VelocityViewServlet.doRequest(VelocityViewServlet.java:220)
org.apache.velocity.tools.view.VelocityViewServlet.doPost(VelocityViewServlet.java:192)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:77)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.34 logs.
Apache Tomcat/7.0.34

La BD la crea en MySQL pero aparentemente sin ningun dato por lo que pude examinar. Cuando intento ingresar a OM me da los siguientes errores "Error Missing 204 556 642"

No se aun cual puede ser el error. Si la instalación la realizo con la BD por defecto funciona bien pero no con mysql.

Si alguien sabe cual puede ser el error agradezco su ayuda.

Saludos

Respuesta a mi pregunta solucionada

El problema era que creaba la BD con cotejamiento Latin1 , entonces la cambie a utf8 y creo todas las tablas bien. Asi paso al Step 2 y arranco perfecto la aplicacion.

Saludos

ayuda

Hola buenas tardes.

estoy tratando de montar openmeetings  como lo muestras en el tutorial pero al momento de ingresar a la carpeta openmeetings y ejecutar  "./red5.sh"

me muestra el siguiente error

Exception org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'red5.common' defined in class path resource [red5.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.context.support.FileSystemXmlApplicationContext]: Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mbeanExporter': Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'schedulingService' defined in class path resource [red5-common.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Cannot run without an instance id.

me podrían ayudar.

Distribuir contenido Distribuir contenido