quinta-feira, 17 de setembro de 2009

Solução para WebConferencia Open Source Debian 5.0 ou Ubuntu X

OpenMeeting é um projeto open source para web videoconferencias.
http://code.google.com/p/openmeetings/

 
O OpenMeeting utiliza o Red5 (Open Source Flash Server), bastando o navegador ter o plugin do FLASH. Com isso podemos realizar video conferencias em sistemas operacionais como: MS Windows, Linux, FreeBSD, OpenBSD, MacOS, Solaris... etc. Basta ter o plugin do flash no browser.


Existe um servidor de demonstração do produto em: http://inno02.fh-pforzheim.de:8080/openmeetings/

 
Existe o plugin para o OpenMeeting operar com o Moodle.
Para os que tem dificuldade de implementar a solução, está disponivel uma imagem do VMWARE com toda a solução instalada em DEBIAN no site do desenvolvedor: http://code.google.com/p/openmeetings/wiki/VMWareImageDebian051

 
Algumas das funcionalidades do OpenMeetings:
  • Video conferencia por grupo de usuarios até 16 cameras
  • Video palestras
  • Compartilhamento de varios tipos de documentos dentre eles: DOC, PDF, JPG, XLS, PPT, PPS, RTF e WPD.
  • Possibilidade de gravação das reuniões.
  • Sistema organizado em USUARIO, ORGANIZAÇÃO e MODERAÇÃO.
  • Witeboard para desenho
  • Compartilhamento de Desktop 
Vamos a instalação:


1) Instale Java Development Kit

No Ubuntu:

#apt-get install sun-java6-jdk

No Debian:

Edite o arquivo

#nano /etc/apt/source.list

Insira as seguintes linhas:

deb http://ftp.debian.org/debian/ etch main stable non-free

Atualize a source.liste

#apt-get update

Instale:

#apt-get install sun-java5-jdk

aguarde...

Durante a instalação aceite a licencia de usuário final da Sun:


Aceite e em seguinda clique em sim


Concluído a instalação do JDK6


2) Instalação do MySQL

Nessa instalação utilizaremos como banco de dados o mysql-server que instaremos da seguinte maneira:

#apt-get install mysql-server
Ira pedir para criar uma senha para o usuário root do banco


Apos digitar na tela acima confirme



Agora iremos criar o banco chamado "openmeetings"


#mysql -p -u root


Digite a senha, e em seguinda use o seguinte comando:


mysql> CREATE DATABASE openmeetings DEFAULT CHARACTER SET 'utf8';
  
Agora crie o "usuario" com permissões para o banco criado


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


Após isso, Concluimos o MySQL

3) Instalação do OpenOffice é necessária para converter documentos em formatos como os do Microsoft Office, assim o OpenMeetings será compativel com a maioria dos formatos

Um problema da instalação do OpenOffice é que ele requer um servidor X, como é uma aplicação grafica, se usar um linux server sem modo grafico consegue resolver instalando um pacote Xvfb grafica (X Virtual). O servidor é um Xvfb operações X11 gráficos são realizados em memória.

Instale da seguinte maneira:


#apt-get install openoffice.org-headless

Caso não tenha instalado o OpenOffice ai vai a linha comando para a instalação


#apt-get install openoffice.org-writer openoffice.org-calc openoffice.org-impress openoffice.org-draw openoffice.org-math


4) Instalando o OpenOffice como um serviço


Vamos criar um script para o serviço OpenMeetings para que cada vez que execute sempre que o OpenMeetings for solicitado.


#nano /etc/init.d/openoffice
 
Copie esse script abaixo:


#!/bin/bash
# openoffice.org headless server script
#
# chkconfig: 2345 80 30
# description: headless openoffice server script
# processname: openoffice
#
# Author: Vic Vijayakumar
# Modified by Federico Ch. Tomasczik
#
OOo_HOME=/usr/bin
SOFFICE_PATH=$OOo_HOME/soffice
PIDFILE=/var/run/openoffice-server.pid

set -e

case "$1" in
start)
if [ -f $PIDFILE ]; then
echo "OpenOffice headless server has already started."
sleep 5
exit
fi
echo "Starting OpenOffice headless server"
$SOFFICE_PATH -headless -nologo -nofirststartwizard -accept="socket,host=127.0.0.1,port=8100;urp" & > /dev/null 2>&1
touch $PIDFILE
;;
stop)
if [ -f $PIDFILE ]; then
echo "Stopping OpenOffice headless server."
killall -9 soffice && killall -9 soffice.bin
rm -f $PIDFILE
exit
fi
echo "Openoffice headless server is not running."
exit
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0


Em seguida dê permissão de execução:


#chmod 0755 /etc/init.d/openoffice


Gerar um link do script


#update-rc.d openoffice defaults


Iniciando o serviço


#/etc/init.d/openoffice start

Não é para existir nenhuma mensagem de erro para este script


Testando o serviço


#netstat -an | grep 8100


Devemos encontrar a seguinte resposta


tcp 0 0 127.0.0.1:8100 0.0.0.0:*
LISTEN 2467/soffice.bin


Concluimos essa parte


5) Instalação do ImageMagick


O imageMagick é um conjunto de ferramentas para gerenciar, editar e converter imagens em mais de 100 formatos diferentes


instalar com o seguinte comando


#apt-get install imagemagick


6) Instalação do SWFTools


O SWFTools são um grupo de ferramentas de codigo aberto para criar e manipular arquivos SWF, o formato usado pelo software de animação Adobe Flash (antes Macromedia Flash)


Instalação


As ferramentas necessarias


#apt-get install gs-gpl libart-2.0-2 libt1-5 libungif4g


Como SWFTools não está disponivel no Debian, iremos baixar o pacote


Vá para o


#cd /root


Baixe via terminal com o seguinte comando


#wget http://old-releases.ubuntu.com/ubuntu/pool/universe/s/swftools/swftools_0.8.1-1_i386.deb

Em seguinda instale com o comando

#dpkg -i swftools_0.8.1-2.1_i386.deb



Depois delete o arquivo baixado


#rm swftools_0.8.1-2.1_i386.deb 
Pronto


7) Instalando o RED5

O RED5 é um servidor de coódigo aberto escrito em java que é usando para distribuir conteudo de audio e/ou vídeo streaming. Ele usa o protocolo RTMP(Real Time Messaging Protocol) com os quais você pode transmitir conteudo em tempo real.

Desde a versão 0.7 RC 1 o OpenMeetings não tem duas opções de download: um RED5 e os outros. Eu escolhi usar o RED5, assim, sem mais demoras, baixe o arquivo

#wget http://openmeetings.googlecode.com/files/openmeetings_1_6_rc1_r3621.zip

Para extrair o arquivo é necessario ter instalado o unzip

# apt-get install unzip

Para extrair use

#unzip openmeetings_0_7_rc2.zip

Depois disso teremos dois novos diretorios
openmeetings_0_7_rc2
e __MACOSX.

Apague o diretorio __MACOSX

#rm -r __MACOSX

O diretorio do openmeetings_0_7_rc2 continua, pois nele contem o RED5 e o OpenMeetings na versão 0.7 RC 2.

Mude para uma outra localidade

#mv openmeetings_0_7_rc2 /usr/lib/red5

Agora dentro da pasta /usr/lib/red5 tem um script chamado red5.sh, dê a permissão de execução

#chmod +x *.sh

Como primeiro teste faça isso:

#/usr/lib/red5/red5.sh

Apos alguns seguindos de excução, vá no browse (navegador) e digite:

http://meuip:5080

Verifique se a seguinte pagina aparece:



Precione Ctrl+C para cancelar a execução do serviço

Como tudo está funcionando agora iremos fazer a instalação do serviço

8) Instalando o serviço RED5

Vamos criar um script para sempre que a maquina seja reiniciada ele levante o serviço automaticamente

Por segurança, vamos alterar as permissões para todos os arquivos da pasta RED5

#chown -R nobody /usr/lib/red5

Edite o seguinte arquivo

#nano /etc/init.d/red5

Insira as seguintes linhas

#! /bin/sh
#
# red5 red5 initscript
#
# Author: Simon Eisenmann .
#

set -e

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Red5 flash streaming server"
NAME=red5
RED5_HOME=/usr/lib/red5
DAEMON=$RED5_HOME/$NAME.sh
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0

# Read config file if it is present.
if [ -r /etc/default/$NAME ]
then
. /etc/default/$NAME
fi

#
# Function that starts the daemon/service.
#
d_start() {
start-stop-daemon --start -c nobody --pidfile $PIDFILE \
--chdir $RED5_HOME --background --make-pidfile \
--exec $DAEMON
}

#
# Function that stops the daemon/service.
#
d_stop() {
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
--name java
rm -f $PIDFILE
}

case "$1" in
start)
echo -n "Starting $DESC: $NAME"
d_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
d_stop
echo "."
;;
restart|force-reload)
echo -n "Restarting $DESC: $NAME"
d_stop
sleep 1
d_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0


Agora dê a permissão de execução

#chmod +x /etc/init.d/red5

E, finalmente criar links simbolicos para a execução

#update-rc.d red5 defaults

Levante o RED5 com o script

#/etc/init.d/red5 start

Não devemos ter nenhum erro no console

Verificação de funcionamento

#netstat -nap | grep 5080 


Saida

tcp6 0 0 :::5080 :::* LISTEN 14534/java

Concluido...


9) Instalar o 0.7 OpenMeetings RC 2

O servidor de webconferênce OpenMeetings está quase instalado. Seu diretório é /usr/lib/red5/webapps/openmeetings. Temos apenas um par de coisas.

Vá para o diretorio:

#cd /usr/lib/red5/webapps/openmeetings/conf/

Edite o seguinte arquivo hibernate.cfg.xml que é onde você configura o acesso ao banco de dados já criado anteriormente.

#nano conf/hibernate.cfg.xml

Procure as linhas


root


Altere para


openmeetings
senhacriada


O "openmeetings" é usuario é o campo "senhacriada" é a senha criada para acessar o banco de dados

Agora daremos permissão de execução aos scripts que estão no JOD pasta que são responsaveis (pelo OpenOffice), que faz as conversões.

# chmod +x jod/*.sh 

Reinicie o RED5

#/etc/init.d/red5 restart

Verificação de conversão de arquivos, vá para outro diretorio

#cd /usr/lib/red5/webapps/openmeetings/jod 


Nesse iremos encontrar um par de arquivos de texto. pegue um deles para fazer o teste, use o REDME.txt e execute o seguinte comando:

#java -jar jodconverter-cli-2.2.0.jar -f pdf README.txt

O resultado deve ser isso

17/09/2009 12:33:04 com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection connect
INFO: connected
17/09/2009 12:33:10 com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection disposing
INFO: disconnected 


O resultado disso é o arquivo readme.pdf na mesma pasta

como a conversão foi bem sucedida, continuemos...


Caso não exista nenhuma mensagem de erro, chegou a hora ir ao navegador


acesse: http://seuip:5080/openmeetings/install


irá ver a seguinte pagina



Leia as instruções, e continue ...

Aparecerá uma tela com formulario que pedirá alguns dados



Userdata: você vai definir, nome de usuário, senha endereço de e-mail para um usuário que, por padrão terá privilegios de adminitrador no aplicativo.

Organisation (domains): Nome da organização principal

Configuration: configuração dos parâmetros do aplicativo
  • Allow self-registering: Ativa ou desativa a capacidade para que as pessoas se inscrevam
  • Send Email to new registered Users: Define uma notificação para novos usuarios que se registam.
  • New Users need to verify their Email: Validação de endereço de email
  • Mail Referer: email de referência de envio
  • SMTP-Server, SMTP-Server Port, SMTP-Username, SMTP-Userpass: configurações de envio de emails
  • Default Language: Idioma
  • Default Font for Export: Fontes padrão para documentos exportados

Converters: localização da ferramenta de conversão ImageMagick SWtools, no nosso caso não é necessario adicionar os caminhos pois os mesmos já estão nas variaveis de ambiente do sistema por padrão

Cryp Type: tipo de criptografia para uso dos usuarios

Apos preencher tudo isso clique no botão instalar, aguarde.....

Caso tudo corra bem, aparecerá a seguinte imagem





Para verificar se tudo correu bem entre no cosole

mysql> user openmeetings

verifique se foram criado as tabelas

mysql> show tables;


Teste:

http://meuip:5080/openmeetings/

se tudo correu bem verá a seguinte tela


Teste o com o usuario adminstrador que foi criado na instalação.


se não conseguir logar verifique o arquivo hibernate se foi configurado corretamente, pois o erro é lá:

Bom uso é um exelente ferramente !!!!!!