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
Remove "-o" and "-L" after each "rm" command# 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"
# 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:
- /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 with Digicert (this is the CA where I purchased a wildcard certificate - see http://www.digicert.com/ssl-support/duplicate-ssl-certificates.htm)
log in to https://www.digicert.com/custsupport/
click on your order
click on "get a duplicate"
upload created CSR, select Tomcat
wait for a fiew minutes, download certificaat from the same page to /install/openmeeting/certs, format: individual certs (zipped)
# 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:
# /opt/jre1.7.0_11/bin/keytool -import -alias red5 -keystore /data/openmeetings/conf/keystore -trustcacerts -file crt_file.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
also replace:below <!-- RTMPS --> remove the comment characters in order to make the section active
with:<property name="keystoreFile" value="conf/keystore" />
<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.0 is troublesome
- login in with admin account in local 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=password"/>
# chmod 640 /data/openmeetings/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml # mysqladmin -p drop openmeetings # /etc/init.d/red5 start #wait quite some time
- http://_hostname_:5080/openmeetings/install
Continue with step 1
from here on it's the same steps as for 2.0
step 2 (takes quite some time)
- http://_hostname_:5080/openmeetings/
- Administration, Backup, System Import - import backup
- log out
# /etc/init.d/red5 stop
- Securing RMTP and HTTP the same as for Openmeetings 2.0, requested and imported new certificate.
- restore the LDAP config files from backup:
# cp /data/openmeetings20/webapps/openmeetings/conf/edir.ldap.cfg /data/openmeetings/webapps/openmeetings/conf/
resulted into this error message:# /etc/init.d/red5 start
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
this is supposed to be fixed in (Committed revision 1442468). It's the result of importing the backup. It has a faulty setting for the database encryption as this has changed for 2.1 Manul 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:
<currentappname>Your Organization Conferencing Tool</currentappname>
- link below that name:
<currentappnameurl>https://_hostname_</currentappnameurl>
- remove logo (is this allowed by license?):
<displayelement name="logo" display="false" x="5" y="5"/></nowiki>
- get rid of "/openmeetings" in de URL: you don't need to do anything for this, when you browse to the URL without this suffix, it will redirect correctly.