Enviado por admin el
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-o...
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-di...
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á:
Seleccionamos el enlace “Continue with STEP 1”:
Ponemos nombre del administrados, contraseña, correo electrónico y zona horaria:
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.
En esta parte dejamos los valores predefinidos:
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:
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.
Vamos al final de la pagina y presionamos el botón “INSTALL”. Después de unos minutos aparecerá:
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:
Como se puede ver, los menú han sido rediseñados completamente. Se nota el cambio también en una sala de videoconferencia:
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?
11 comentarios
Felicidades
Enviado por Anónimo (no verificado) el
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
Enviado por thesondemon (no verificado) el
Excelentes tus post's. estoy estudiando aplicaciones Web y una de ellas fue instalar openmeetings. Me has servido de gran ayuda.
Gracias nuevamente.
JodConverter
Enviado por Ricardo Lopez (no verificado) el
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
Re: Fantástico manual...pero me surgió un error
Enviado por admin el
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
Re: Hola de nuevo, postfix no
Enviado por admin el
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
Enviado por mauricioperezll el
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.
javax.mail.
at javax.mail.Transport.send(
at javax.mail.Transport.send(
at org.openmeetings.utils.mail.
at org.openmeetings.utils.mail.
at java.util.concurrent.
at java.util.concurrent.
at java.lang.Thread.run(Thread.
Caused by: javax.mail.
at com.sun.mail.smtp.
at com.sun.mail.smtp.
at javax.mail.Service.connect(
at javax.mail.Service.connect(
at javax.mail.Service.connect(
at javax.mail.Transport.send(
... 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...
Enviado por Juan (no verificado) el
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
Enviado por Juan (no verificado) el
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
Enviado por chilakiler (no verificado) el
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.