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.
Code Block |
---|
# 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
ghostscript
Code Block |
---|
# yum install ghostscript |
jodconverter
Code Block |
---|
# 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
Code Block |
---|
# 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 Block |
---|
# yum install sox |
libreoffice
Code Block |
---|
# yum install libre-office |
openmeetings
Code Block |
---|
# 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
Code Block |
---|
# 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
Code Block |
---|
# vi /etc/init.d/red5 |
Code Block |
---|
#
#!/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 |
Code Block |
---|
# chmod +x /etc/init.d/red5 |
securing: request certificate and creeation of keystore
- remove existing keystore:
Code Block |
---|
# rm -f /data/openmeetings/conf/keystore |
- create new keystore:
Code Block |
---|
# /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)
- /opt/jre1.7.0_11/bin/keytool -certreq -keyalg RSA -alias red5 -file /data/openmeetings/conf/red5.csr -keystore /data/openmeetings/conf/keystore
Code Block |
---|
# cd /install/openmeetings/certs && unzip AllCerts.zip && cd certs |
- install root certificate:
Code Block |
---|
# /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:
Code Block |
---|
# /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:
Code Block |
---|
# /opt/jre1.7.0_11/bin/keytool -import -alias red5 -keystore /data/openmeetings/conf/keystore -trustcacerts -file crt_file.crt |
- check contents keystore:
Code Block |
---|
# /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
Code Block |
---|
# cp /data/openmeetings/conf/keystore /data/openmeetings/conf/keystore.screen |
secure RMTP
- change config files:
Code Block |
---|
# vi /data/openmeetings/conf/red5-core.xml |
Code Block |
---|
below <!-- RTMPS --> remove the comment characters in order to make the section active |
also replace: Code Block |
---|
<property name="keystoreFile" value="conf/keystore" /> |
with: Code Block |
---|
<property name="keystoreFile" value="/data/openmeetings/conf/keystore" /> |
Code Block |
---|
# vi /data/openmeetings/conf/red5.properties |
rtmps.port=5443
rtmps.keystorepass= password
Code Block |
---|
# chmod 640 /data/openmeetings/conf/red5.properties
# vi /data/openmeetings/webapss/openmeetings/config.xml |
Code Block |
---|
<rtmpsslport>5443</rtmpsslport>
<useSSL>yes</useSSL>
<proxyType>best</proxyType>
|
Code Block |
---|
# /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
Code Block |
---|
# cp /data/openmeetings/conf/jee-container-ssl.xml /data/openmeetings/conf/jee-container.xml
# vi /data/openmeetings/webapps/openmeetings/config.xml |
Code Block |
---|
<protocol>https</protocol>
<red5httpport>443</red5httpport> |
Code Block |
---|
# vi /data/openmeetings/conf/red5.properties |
https.port=443
http.port=443
Code Block |
---|
# /etc/init.d/red5 restart |
- redo installation:
Code Block |
---|
# 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
Code Block |
---|
# 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"/>
Code Block |
---|
# 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
Code Block |
---|
# /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:
Code Block |
---|
# cp /data/openmeetings20/webapps/openmeetings/conf/edir.ldap.cfg /data/openmeetings/webapps/openmeetings/conf/ |
Code Block |
---|
# /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: Code Block |
---|
# 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:
Code Block |
---|
<currentappname>Your Organization Conferencing Tool</currentappname> |
- link below that name:
Code Block |
---|
<currentappnameurl>https://_hostname_</currentappnameurl> |
- remove logo (is this allowed by license?):
Code Block |
---|
<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.