You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Installatie Openmeetings

Preparation

  • Install CentOS 6.3 64-bit
  • I'm installing OM on /data, as this server will be a node in a cluster which will be configured at a later stage.

    swftools

    # mkdir -p /install/openmeetings/swftools/ && cd /install/openmeetings/swftools/
     # wget http://www.swftools.org/swftools-0.9.2.tar.gz
     # tar xvzf swftools-0.9.2.tar.gz 
     # cd swftools-0.9.2
     # yum install gcc-c++ zlib-devel libjpeg-devel freetype-devel giflib-devel 
     # ./configure --libdir=/usr/lib --bindir=/usr/bin
     # make 
     # vi swfs/Makefile #to avoid a problem while doing "make install"
    Remove "-o" and "-L" after each "rm" command
# make install

ghostscript

# yum install ghostscript

jodconverter

# yum install unzip 
 # mkdir /install/openmeetings/jodconverter && cd /install/openmeetings/jodconverter/
 # wget http://jodconverter.googlecode.com/files/jodconverter-core-3.0-beta-4-dist.zip
 # unzip jodconverter-core-3.0-beta-4-dist.zip

lame & ffmpeg

# mkdir /install/openmeetings/lame && cd /install/openmeetings/lame 
 # wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Flame%2Ffiles%2Flame%2F3.99%2F&ts=1359065447&use_mirror=netcologne
 # tar xvzf lame-3.99.5.tar.gz && cd lame-3.99.5
 #  ./configure --libdir=/usr/lib --bindir=/usr/bin
 # make && make install
 # mkdir /install/openmeetings/ffmpeg && cd /install/openmeetings/ffmpeg 
 # wget http://ffmpeg.org/releases/ffmpeg-1.1.1.tar.gz
 # tar xvzf ffmpeg-1.1.1.tar.gz 
 # cd ffmpeg-1.1.1
 # ./configure --libdir=/usr/lib --bindir=/usr/bin --enable-libmp3lame --disable-yasm
 # make && make install

sox

# yum install sox

libreoffice

# yum install libre-office

openmeetings

# mkdir /install/java && cd/install/java
download Java SE 7 SDK from http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
 # tar jre-7u11-linux-x64.tar.gz
 # mv jre1.7.0_11 /opt
 # vi /etc/profile.d/java.sh

 export JAVA_HOME=/opt/jre1.7.0_11
 export PATH=$PATH:$JAVA_HOME/bin

 # source /etc/profile.d/java.sh
 # mkdir -p /install/openmeetings/openmeetings && cd /install/openmeetings/openmeetings
 # wget http://www.apache.org/dyn/closer.cgi/incubator/openmeetings/2.0-incubating/apache-openmeetings-incubating-2.0.0.r1361497-14-07-2012_1108.tar.gz
 # mkdir /data/openmeetings && cd /data/openmeetings #voor cluster later 
 # tar xvzf apache-openmeetings-incubating-2.0.0.r1361497-14-07-2012_1108.tar.gz
 # vi /etc/my.cnf 

 [client]
 default-character-set=utf8
 
 [mysql]
 default-character-set=utf8
 
 [mysqld]
 datadir=/var/lib/mysql
 socket=/var/lib/mysql/mysql.sock
 user=mysql
 # Disabling symbolic-links is recommended to prevent assorted security risks
 symbolic-links=0
 default-character-set = utf8
 collation-server = utf8_unicode_ci
 init-connect='SET NAMES utf8'
 character-set-server = utf8
 
 [mysqld_safe]
 log-error=/var/log/mysqld.log
 pid-file=/var/run/mysqld/mysqld.pid

 # service mysqld restart
 # mkdir /install/openmeetings/mysql-connector-java && cd /install/openmeetings/mysql-connector-java 
 # wget http://www.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.22.tar.gz/from/http://cdn.mysql.com/
 # tar xvzf mysql-connector-java-5.1.22.tar.gz
 # cp mysql-connector-java-5.1.22/mysql-connector-java-5.1.22-bin.jar /data/openmeetings/webapps/openmeetings/WEB-INF/lib/
 # cp /data/openmeetings/webapps/openmeetings/WEB-INF/classes/META-INF/mysql_persistence.xml /data/openmeetings/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml
 # vim /data/openmeetings/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

Change password

# chmod 640 /data/openmeetings/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml 
 # cd /data/openmeetings/ 
 # ./red5.sh

Browse to http://_hostname_:5080/openmeetings/install
username: admin
userpass: password
email: your@address.com
user time zone: France, ... Etc/GMT+1
org name: Your Organization
allow self-reg: no
default rooms: no
mail-referer: your@address.com
smtp-server: your-smtp-server
default language: english
default font: arial
JOD path: /install/openmeetings/jodconverter/jodconverter-core-3.0-beta-4/lib
Enable SIP: no
Click "Install", wait untill finished, ctrl-c in terminal windows where rd5.sh was started

# vi /etc/init.d/red5
# 
#!/bin/sh -e 
# 
# Startup script for Red5 

export RED5_HOME=/data/openmeetings/ 

start_red5="$RED5_HOME/red5.sh start" 
stop_red5="$RED5_HOME/red5-shutdown.sh stop" 

start() { 
        echo -n "Starting Red5: " 
        ${start_red5} &
        echo "done." 
} 
stop() { 
        echo -n "Shutting down Red5: " 
        ${stop_red5} 
        echo "done." 
} 

case "$1" in 
  start) 
        start 
        ;; 
  stop) 
        stop 
        ;; 
  restart) 
        stop 
        sleep 10 
        start 
        ;; 
  *) 
        echo "Usage: $0 {start|stop|restart}" 
esac 

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

securing: request certificate and creeation of keystore

  • remove existing keystore:
    # rm -f /data/openmeetings/conf/keystore
  • create new keystore:
    # /opt/jre1.7.0_11/bin/keytool -keysize 2048 -genkey -alias red5 -keyalg RSA -keystore /data/openmeetings/conf/keystore

password: password
first and last name: DNS-name-OM-server
name OU: your-OU
organization: your-organzation
city: city
state: state
country code: country-code
yes
return (same password)

  • create CSR:
  1. /opt/jre1.7.0_11/bin/keytool -certreq -keyalg RSA -alias red5 -file /data/openmeetings/conf/red5.csr -keystore /data/openmeetings/conf/keystore
# cd /install/openmeetings/certs && unzip AllCerts.zip && cd certs
  • install root certificate:
    # /opt/jre1.7.0_11/bin/keytool -import -alias root -keystore /data/openmeetings/conf/keystore -trustcacerts -file TrustedRoot.crt
    still add? YES
  • install intermediate certificate:
    # /opt/jre1.7.0_11/bin/keytool -import -alias intermed -keystore /data/openmeetings/conf/keystore -trustcacerts -file DigiCertCA.crt
  • installeer server certificate - alias moet hetzelfde zijn als van de CSR:
  1. /opt/jre1.7.0_11/bin/keytool -import -alias red5 -keystore /data/openmeetings/conf/keystore -trustcacerts -file star_dafra_be.crt
  • check contents keystore:
    # /opt/jre1.7.0_11/bin/keytool -v -list -keystore /data/openmeetings/conf/keystore
  • copy keystore to keystore.screen to secure the screen sharing functionality
    # cp /data/openmeetings/conf/keystore /data/openmeetings/conf/keystore.screen

secure RMTP==

  • change config files:
    # vi /data/openmeetings/conf/red5-core.xml
    below  <!-- RTMPS --> remove the comment characters in order to make the section active
    also replace:
    <property name="keystoreFile" value="conf/keystore" />
    with:
    <property name="keystoreFile" value="/data/openmeetings/conf/keystore" />
    # vi /data/openmeetings/conf/red5.properties

rtmps.port=5443
rtmps.keystorepass= password

# chmod 640 /data/openmeetings/conf/red5.properties
# vi /data/openmeetings/webapss/openmeetings/config.xml
 <rtmpsslport>5443</rtmpsslport>
 <useSSL>yes</useSSL>
 <proxyType>best</proxyType>
# /etc/init.d/red5 restart
  • test with "tcpdump tcp port 5443" should result into several packets. "tcpdump tcp port 1935" should show just 1 packet.

secure HTTP

# cp /data/openmeetings/conf/jee-container-ssl.xml /data/openmeetings/conf/jee-container.xml
 # vi /data/openmeetings/webapps/openmeetings/config.xml
<protocol>https</protocol>
<red5httpport>443</red5httpport>
# vi /data/openmeetings/conf/red5.properties

https.port=443
http.port=443

# /etc/init.d/red5 restart

remarks:

  • redo installation:
    # rm /data/openmeetings/webapps/openmeetings/conf/install.xml
  • translating: look at /data/openmeetings/webapps/openmeetings/languages and look for text string + id. Look for same id in Openmeetings' translation tool and translate there.
  • debugging: start openmeetings with red5-debug.sh (though my /etc/init.d/red5 seemed to show DEBUG output.

Upgrade to Openmeetings 2.1

Upgrade

  • better for intergration with Asterisk. OM 2.0is troublesome
  • aanmelden met admin, lokale DB
  • Administration, Backup, System Backup
  1. cd /install/openmeetings/openmeetings
  2. /etc/init.d/red5 stop
  3. mv /data/openmeetings /data/openmeetings20
  4. mkdir /data/openmeetings
  5. mv /install/openmeetings/openmeetings/ /install/openmeetings/openmeetings20
  6. mkdir /install/openmeetings/openmeetings21 && cd /install/openmeetings/openmeetings21
  7. wget https://builds.apache.org/job/openmeetings/lastSuccessfulBuild/artifact/singlewebapp/dist/apache-openmeetings-2.1.0.r1441250-31-01-2013_2314.tar.gz
  8. tar xvzf *
  9. mv * /data/openmeetings/
  10. cd /data/openmeetings
  11. cp /install/openmeetings/mysql-connector-java/mysql-connector-java-5.1.22/mysql-connector-java-5.1.22-bin.jar ./webapps/openmeetings/WEB-INF/lib/
  12. cp webapps/openmeetings/WEB-INF/classes/META-INF/mysql_persistence.xml webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml
  13. vim webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

, Password=usual"/>

  1. chmod 640 /data/openmeetings/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml
  2. mysqladmin -p drop openmeetings
  3. /etc/init.d/red5 start #lange wachten

Continue with step 1
zelfde als voor openmeeting 2.0
step 2 (duurt lang)

  1. /etc/init.d/red5 stop
  • Securiseren RMTP en HTTP idem als Openmeetings 2.0, cert ook opnieuw aangevraagd en geimporteerd.
  • LDAP config files terug zetten van backup:
  1. cp /data/openmeetings20/webapps/openmeetings/conf/edir.ldap.cfg /data/openmeetings/webapps/openmeetings/conf/
  1. /etc/init.d/red5 start
    Dit geeft volgende foutmelding:
    ERROR 02-02 00:36:32.388 ManageCryptStyle.java 66485 49 org.apache.openmeetings.utils.crypt.ManageCryptStyle [NioProcessor-18] - [getInstanceOfCrypt]
    java.lang.ClassNotFoundException: org.openmeetings.utils.crypt.MD5Implementation
    Is intussen gefixed in de code (Committed revision 1442468).. Manuele fix:
  2. mysql -p -D openmeetings -e "update configuration set conf_value = 'org.apache.openmeetings.utils.crypt.MD5Implementation' where conf_key = 'crypt_ClassName';"

==Branding:==

  • in /data/openmeetings/webapps/openmeetings/config.xml:
    <nowiki><currentappname>Dafra Conferencing Tool</currentappname> </nowiki>
  • link achter die naam:
    <nowiki><currentappnameurl>https://meetings.dafra.be</currentappnameurl></nowiki>
  • logo laten verdwijnen:
    <nowiki><displayelement name="logo" display="false" x="5" y="5"/></nowiki>
  • verplaatsen titel:
  • eliminatie /openmeetings in de URL: niets voor doen, er gebeurt vanzelf een redirect vanuit de root

=Integratie met Asterisk 11=
==opmerking==

==dahdi en meetme installeren op asterisk==

  • tot opwaardering pbx03 en herinstallatie cluster alles op pbx02
  1. cd /install/asterisk
  2. wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
  3. tar xvzf dahdi-linux-complete-current.tar.gz
  4. cd dahdi-linux-complete-2.6.1+2.6.1/
  5. make all && make install && make config
  6. service dahdi start
  7. cd /install/asterisk/asterisk-11.2.0
  8. make distclean
  9. configure
  10. make menuselect # meetme activeren
  11. make && make install && make samples

==configuratie realtime==

  • module res_odbc moet mee gecompileerd zijn in Asterisk. Hier zijn ODBC pakketten voor nodig (ik dacht mysql-connector-odbc, unixODBC en unixODBC-devel)
    ===ODBC Setup===
  1. vi /etc/odbc.ini

[asterisk-connector]
Description = MySQL connection to 'openmeetings' database
Driver = MySQL
Database = openmeetings
Server = localhost
User = root
Password = usual short
Port = 3306
Socket = /var/lib/mysql/mysql.sock

  1. chmod 640 /etc/odbc.ini
  • odbcinst.ini is OK zoals het is
  • test:
  1. echo "select 1" | isql -v asterisk-connector
    ===Asterisk===
  • modules laten laden
  1. vi /etc/asterisk/modules.conf

preload => res_odbc.so
preload => res_config_odbc.so

  • sip.conf
  1. vi /etc/asterisk/sip.conf
    [general]
    rtcachefriends=yes
    [sip] ;interne user voor red5sip
    type=friend
    user=sip
    context=rooms
    secret=red5sip
    disallow=all
    allow=ulaw
    host=dynamic
    nat=yes
  • extconfig.conf:
  1. vi /etc/asterisk/extconfig.conf

[settings]
sippeers => odbc,asterisk,sipusers
meetme => odbc,asterisk,meetme

  • extensions.conf:
  1. vi /etc/asterisk/extensions.conf

[rooms]
switch => Realtime/@
exten => _600X!,1,MeetMe($

Unknown macro: {EXTEN}

,dM)
exten => <extension>,1,Set(SIP_NO=<number to call with sipnet>)
exten => <extension>,2,Goto(sipnet-out,s,1)
exten => _X.,1,Answer
exten => _X.,2,Playback(invalid)
exten => _X.,3,Hangup

[sipnet-out]
exten => s,1,Answer
exten => s,n,Dial(SIP/$

Unknown macro: {SIP_NO}

@SIPNET,30)
exten => s,n,HangUp

  • res_odbc.conf
  1. vi /etc/asterisk/res_odbc.conf

[asterisk]
enabled => yes
dsn => asterisk-connector
pre-connect => yes

  • creeer tabellen:
  1. mysql -D openmeetings -p < /install/asterisk/asterisk-11.2.0/contrib/realtime/mysql/sippeers.sql
  2. mysql -D openmeetings -p < /install/asterisk/asterisk-11.2.0/contrib/realtime/mysql/meetme.sql
  1. service asterisk restart

(??? * creëer user:
mysql -p -D openmeetings -e "insert into sipusers (allow, context, disallow, host, name, secret) values ('alaw' , 'rooms' , NULL, 'dynamic' , '314', NULL);"

  • creëer meet me conference
  1. mysql -D openmeetings -p -e "insert into extensions (context, exten, priority, app, appdata) values ('rooms', '600', 1, 'MeetMe', '600,dM');"
  2. mysql -D openmeetings -p -e "insert into meetme (confno, adminpin) values ('600', '1234');"
  • laat sip user registreren
    )

===red5sip===

  1. mkdir /install/openmeetings/red5sip && cd /install/openmeetings/red5sip
  2. svn co http://red5phone.googlecode.com/svn/branches/red5sip
  3. svn checkout http://red5phone.googlecode.com/svn/branches/red5sip/
  4. yum install ant
  5. ant
  6. yum install jakarta-commons-daemon-jsvc
  7. cp -r /install/openmeetings/red5sip/red5sip /data/ && cd /data/red5sip
  8. vi settings.properties

red5.host=127.0.0.1
red5.codec=asao
sip.obproxy=127.0.0.1
sip.phone=sip
sip.authid=sip
sip.secret=red5sip
sip.realm=asterisk
sip.proxy=127.0.0.1
rooms.forceStart=no
rooms=1

  1. vi red5sip.sh

JAVA_HOME=/opt/jre1.7.0_11
INSTALL_DIR=/data/red5sip
LOGS_DIR=$INSTALL_DIR/log
"jsvc" overal vervangen door "/usr/bin/jsvc" anders foutmelding: "jsvc error: JSVC re-exec requires execution with an absolute or relative path"

  1. chmod +x red5sip.sh && cp red5sip.sh /etc/init.d/ && chkconfig red5sip.sh on
  • No labels