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:
    # /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
    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.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/
     # /etc/init.d/red5 start
    resulted into this error message:
    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.
  • No labels