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 #anders foutmelding met make install
In de lijnen met rm de opties "-o" en "-L" verwijderen
- 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
Password aanpassen - chmod 640 /data/openmeetings/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml
- cd /data/openmeetings/
- ./red5.sh
Browsen naar http://pbx02:5080/openmeetings/install
username: admin
userpass: short pw
email: ict@dafra.be
user time zone: France, ... Etc/GMT+1
org name: Dafra Pharma International NV
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: "
$
&
echo "done."
}
stop() {
echo -n "Shutting down Red5: "
$
echo "done."
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 10
start
;;
*)
echo "Usage: $0
"
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
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($
,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/$
@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