Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
h1.Installatie Openmeetings

h2.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.
h3.swftools
 {code}# 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 #anders foutmelding met  #to avoid a problem while doing "make install"{code}

In de lijnen met rm de opties Remove "-o" enand "-L" verwijderen
  after each "rm" command

{code}# make install 
==ghostscript==
 {code}
h3.ghostscript
{code}# yum install ghostscript
==jodconverter==
 {code}
h3.jodconverter
{code}# 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
=={code}
h3.lame & ffmpeg==
 {code}# 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==
 {code}
h3.sox
{code}# yum install sox
==libreoffice==
 {code}
h3.libreoffice
{code}# yum install libre-office{code}

==h2.openmeetings==
 {code}# 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 {code}
PasswordChange aanpassenpassword
 {code}# chmod 640 /data/openmeetings/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml 
 # cd /data/openmeetings/ 
 # ./red5.sh{code}
BrowsenBrowse naarto http://pbx02_hostname_:5080/openmeetings/install
 username: admin
 userpass: short pw_password_
 email: ict@dafra_your@address.becom_
 user time zone: France, ... Etc/GMT+1
 org name: Dafra Pharma International NV_Your Organization_
 allow self-reg: no 
 default rooms: no
 mail-referer: ict@dafra.be
 smtp-server: cluster2fs
 default language: english
 default font: arial 
 JOD path: /install/openmeetings/jodconverter/jodconverter-core-3.0-beta-4/lib
 Enable SIP: no
 SIP rooms prefix 
 SIP ext context: intern
 Sip applet - enable SIP: yes
 SIP Realm:
 SIP Port:
 SIP Proxy:
Install klikken, wachten tot klaar, ctrl-c in terminal venster waar red5.sh was gestart
 # vi /etc/init.d/red5

 <nowiki> 
# 
#!/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 </nowiki>
 # chmod +x /etc/init.d/red5

==securisering: aanvragen certificaat en creëren keystore==
* verwijder bestaande keystore:
 # rm -f /data/openmeetings/conf/keystore 
* creëer nieuwe keystore:
 # /opt/jre1.7.0_11/bin/keytool -keysize 2048 -genkey -alias red5 -keyalg RSA -keystore /data/openmeetings/conf/keystore

 password: short usual
 first and last name: meeting.dafra.be
 name OU: OU
 organization: Dafra
 city: Turnhout
 state: Antwerp
 country code: BE
 yes 
 return (same password)
* creëer CSR:
 # /opt/jre1.7.0_11/bin/keytool -certreq -keyalg RSA -alias red5 -file /data/openmeetings/conf/red5.csr -keystore /data/openmeetings/conf/keystore
* submit CSR by Digicert (zie http://www.digicert.com/ssl-support/duplicate-ssl-certificates.htm)
 log in op https://www.digicert.com/custsupport/
 klik op order 00344227
 klik "get a duplicate"
 upload net gecreëerde CSR, selecteer Tomcat, note: meeting.dafra.be
 enkele minuten wachten, certificaat downloaden van zelfde pagina naar /install/openmeeting/certs, format: individual certs (zipped)
 
 # cd /install/openmeetings/certs && unzip AllCerts.zip && cd certs
* installeer 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:
 # /opt/jre1.7.0_11/bin/keytool -import -alias red5 -keystore /data/openmeetings/conf/keystore -trustcacerts -file star_dafra_be.crt 
* nakijken inhoud keystore:
 # /opt/jre1.7.0_11/bin/keytool -v -list -keystore /data/openmeetings/conf/keystore
* keystore copieren naar keystore.screen om screen sharing ook beveiligd te maken.
 # cp /data/openmeetings/conf/keystore /data/openmeetings/conf/keystore.screen

==securiseren RMTP==
* aanpassingen aan config files: 
 # vi /data/openmeetings/conf/red5-core.xml
onder <nowiki> <!-- RTMPS --></nowiki> commentaar regels weghalen zodat sectie actief wordt.
ook:
 <property name="keystoreFile" value="conf/keystore" />
vervangen door:
 <property name="keystoreFile" value="/data/openmeetings/conf/keystore" />
 # vi /data/openmeetings/conf/red5.properties

 rtmps.port=5443
 rtmps.keystorepass= usual short password

 # chmod 640 /data/openmeetings/conf/red5.properties
 # vi /data/openmeetings/webapss/openmeetings/config.xml

 <nowiki>
 <rtmpsslport>5443</rtmpsslport>
 <useSSL>yes</useSSL>
 <proxyType>best</proxyType>
 </nowiki>

 # /etc/init.d/red5 restart
* testen met tcpdump tcp port 5443: zou pakketten moeten geven. tcpdump tcp port 1935 slechts 1 packet

==securiseren HTTP==
 # cp /data/openmeetings/conf/jee-container-ssl.xml /data/openmeetings/conf/jee-container.xml
 # vi /data/openmeetings/webapps/openmeetings/config.xml

 <nowiki><protocol>https</protocol></nowiki>
 <nowiki><red5httpport>443</red5httpport></nowiki>

 # vi /data/openmeetings/conf/red5.properties

 https.port=443
 http.port=443

 # /etc/init.d/red5 restart

==firewall==
* VIP creëren voor 443 en 5443
* NAT via 213.224.25.30

==Opmerkingen:==
* installatie opnieuw doen: 
 # rm /data/openmeetings/webapps/openmeetings/conf/install.xml
 # vertalen: /data/openmeetings/webapps/openmeetings/languages bekijken en string opzoeken + id. Id in vertaaltool van Openmeetings opzoeken en zo vertalen.
 # debugging: openmeetings opstarten met red5-debug.sh 
 #
=Upgrade naar Openmeetings 2.1=
==Upgrade==
* zou beter zijn voor Asterisk integratie
* aanmelden met admin, lokale DB
* Administration, Backup, System Backup
 # cd /install/openmeetings/openmeetings
 # /etc/init.d/red5 stop
 # mv /data/openmeetings /data/openmeetings20
 # mkdir /data/openmeetings
 # mv /install/openmeetings/openmeetings/ /install/openmeetings/openmeetings20
 # mkdir /install/openmeetings/openmeetings21 && cd /install/openmeetings/openmeetings21
 # wget https://builds.apache.org/job/openmeetings/lastSuccessfulBuild/artifact/singlewebapp/dist/apache-openmeetings-2.1.0.r1441250-31-01-2013_2314.tar.gz
 # tar xvzf *
 # mv * /data/openmeetings/
 # cd /data/openmeetings
 # 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/
 # cp webapps/openmeetings/WEB-INF/classes/META-INF/mysql_persistence.xml webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml
 # vim webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

 , Password=usual"/>

 # chmod 640 /data/openmeetings/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml
 # mysqladmin -p drop openmeetings
 # /etc/init.d/red5 start #lange wachten
* http://pbx:5080/openmeetings/install

 Continue with step 1
 zelfde als voor openmeeting 2.0
 step 2 (duurt lang)
* http://meeting.dafra.be:5080/openmeetings/
* Administration, Backup, System Import - eerder backup importeren
* log out
 # /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:
 # cp /data/openmeetings20/webapps/openmeetings/conf/edir.ldap.cfg /data/openmeetings/webapps/openmeetings/conf/
 
 # /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:
 # 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==
* op basis van http://openmeetings.apache.org/red5sip-integration_2.1.html
(* integratie heeft niets te maken met de sip.enable setting in de configuratie van OM. Best op "no" laten staan.)

==dahdi en meetme installeren op asterisk==
* tot opwaardering pbx03 en herinstallatie cluster alles op pbx02
 # cd /install/asterisk
 # wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
 # tar xvzf dahdi-linux-complete-current.tar.gz
 # cd dahdi-linux-complete-2.6.1+2.6.1/
 # make all && make install && make config
 # service dahdi start
 # cd /install/asterisk/asterisk-11.2.0
 # make distclean 
 # configure
 # make menuselect # meetme activeren
 # 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===
 # 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

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

 preload => res_odbc.so
 preload => res_config_odbc.so
* sip.conf
 # 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:
 # vi /etc/asterisk/extconfig.conf

 [settings]
 sippeers => odbc,asterisk,sipusers
 meetme => odbc,asterisk,meetme
* extensions.conf:
 # vi /etc/asterisk/extensions.conf

 [rooms]
 switch => Realtime/@
 exten => _600X!,1,MeetMe(${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/${SIP_NO}@SIPNET,30)
 exten => s,n,HangUp 
* res_odbc.conf
 # vi /etc/asterisk/res_odbc.conf

 [asterisk]
 enabled => yes
 dsn => asterisk-connector
 pre-connect => yes
* creeer tabellen:
 # mysql -D openmeetings -p < /install/asterisk/asterisk-11.2.0/contrib/realtime/mysql/sippeers.sql
 # mysql -D openmeetings -p < /install/asterisk/asterisk-11.2.0/contrib/realtime/mysql/meetme.sql

 # 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
 # mysql -D openmeetings -p -e "insert into extensions (context, exten, priority, app, appdata) values ('rooms', '600',   1, 'MeetMe', '600,dM');"
 # mysql -D openmeetings -p -e "insert into meetme (confno, adminpin) values ('600', '1234');"
* laat sip user registreren
)

===red5sip===
 # mkdir /install/openmeetings/red5sip && cd /install/openmeetings/red5sip
 # svn co http://red5phone.googlecode.com/svn/branches/red5sip
 # svn checkout http://red5phone.googlecode.com/svn/branches/red5sip/
 # yum install ant
 # ant
 # yum install jakarta-commons-daemon-jsvc
 # cp -r /install/openmeetings/red5sip/red5sip /data/ && cd /data/red5sip
 # 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

 # 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"
 # chmod +x red5sip.sh && cp red5sip.sh /etc/init.d/ && chkconfig red5sip.sh on