CentOS: Install openmeetings 2.2.0 on CentOS 6.5

by Kliment Andreev
11 comments
Reading Time: 4 minutes

Openmeetings is an open-source video-conferencing, instant messaging, white board, screen sharing, collaborative document editing project from Apache foundation. In order to install it on CentOS, we need several prerequisites. Some of them are part of the CentOS repository and some of them need to be downloaded and compiled. First, let’s install the packages from the CentOS repo.

yum install wget telnet gcc-c++ zlib-devel libjpeg-devel freetype-devel \
giflib-devel ghostscript ImageMagick unzip sox libreoffice mysql mysql-server

The following will be installed:

  • wget for retrieving files using HTTP, HTTPS and FTP.
  • telnet client for checking and troubleshooting port connectivity
  • gcc-c++ a GNU C++ compiler
  • zlib-devel a compression library
  • libjpeg-devel a library for reading and writing JPEG files
  • freetype-devel is a library used to produce vector and bitmap fonts
  • giflib-devel a library  to load and save GIF images
  • ghostscript is a interpreter for PostScript language and PDF
  • ImageMagick is a software suite to create, edit, compose and convert bitmap images
  • unzip is a program to compress (zip) and extract (unzip) files
  • sox is a general purpose sound file conversion tool
  • libreoffice is a suite of Office programs (calc, spreadsheet, word) a fork from OpenOffice
  • mysql is an open-source SQL database

We have to configure mysql to start on boot and do some initial configuration.

chkconfig mysqld on
service mysqld start
mysql_secure_installation

Enter blank for the default root password and change it to whatever you want it to be.

A01

Go ahead and just accept the defaults.

A02

Now, let’s create the database that will be used for openmeetings. Change ‘change_password’ with a password that you want to use for the mySQL user openmeetings. This user will have full rights to the database.

mysql –u root –p
CREATE DATABASE openmeetings DEFAULT CHARACTER SET 'utf8';
GRANT ALL PRIVILEGES ON openmeetings.* TO 'openmeetings'@'localhost' IDENTIFIED BY 'change_password' WITH GRANT OPTION;
quit

The next step is to download the prerequisites that are not part of the CentOS repo. We will use /tmp directory as a staging area. First, we’ll install swftools, a collection of utilities for working with Adobe Flash files.

cd /tmp
wget http://www.swftools.org/swftools-0.9.2.tar.gz
tar xvf swftools-0.9.2.tar.gz
cd swftools-0.9.2
./configure --libdir=/usr/lib --bindir=/usr/bin
make
vi swfs/Makefile

There is a bug in the Makefile that won’t allow us to properly compile the utilities. Just remove “-o -L” in two rm lines.

A03

So it looks like this.

A04

Save and quit with “:wq!” and then install it.

make install
cd ..

We need to install jodconverter, which is an utility that automates conversions between Open Office and Libre Office documents, then install lame, which is a MP3 encoder and finally install ffmpeg which is a toolset to record, convert and stream audio and video.

wget http://jodconverter.googlecode.com/files/jodconverter-core-3.0-beta-4-dist.zip
unzip jodconverter-core-3.0-beta-4-dist.zip
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=1392491323&use_mirror=hivelocity
mv lame-3.9* lame-3.99.5.tar.gz
tar xvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure --libdir=/usr/lib --bindir=/usr/bin
make
make install
cd ..
wget http://ffmpeg.org/releases/ffmpeg-1.1.1.tar.gz
tar xvf 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
cd ..

openmeetings heavily relies on Java and when we installed Libre Office we installed OpenJDK. But, we need Oracle Java JRE. Let’s install it. First, check the installed version.

java -version

You should see this.

java version "1.6.0_30"
OpenJDK Runtime Environment (IcedTea6 1.13.1) (rhel-3.1.13.1.el6_5-x86_64)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)

Install and compile.

cd /tmp
wget --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" "http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-x64.tar.gz"
tar xvf jdk-7u51-linux-x64.tar.gz
mv jdk1.7.0_51 /opt
vi /etc/profile.d/java.sh

Enter these lines and save the file.

export JAVA_HOME=/opt/jdk1.7.0_51
export PATH=$PATH:$JAVA_HOME/bin
export JRE_HOME=/opt/jdk1.7.0_51/jre

Check what we have.

ls -la /etc/alternatives/java*
alternatives --install /usr/bin/java java /opt/jdk1.7.0_51/bin/java 1
alternatives --config java

A05

Select “2” and hit Enter to select the Oracle JRE. Then do:

java -version

You should see the correct version now.

Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

Finally, let’s install openmeetings.

mkdir /openmeetings
cd /openmeetings
wget http://mirror.sdunix.com/apache/openmeetings/2.2.0/bin/apache-openmeetings-2.2.0.tar.gz
tar xvf apache-openmeetings-2.2.0.tar.gz
rm apache-openmeetings-2.2.0.tar.gz

Get the Java mySQL connector.

cd /tmp
wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.0.8.tar.gz
tar xvf mysql-connector-java-5.0.8.tar.gz
cp mysql-connector-java-5.0.8/mysql-connector-java-5.0.8-bin.jar /openmeetings/webapps/openmeetings/WEB-INF/lib
cd /openmeetings/webapps/openmeetings/WEB-INF/classes/META-INF
cp mysql_persistence.xml persistence.xml

Edit persistence.xml file and change the username and password with the username and password that you used when you created the mySQL database.

A06

Go back to the install folder.

cd /openmeetings/webapps/openmeetings
cp -R /tmp/jodconverter-core-3.0-beta-4 .
cd /openmeetings

Finally, start the streaming server.

sh red5.sh

If everything goes well, you should see a bunch of output from the servlets.

A07

Wait for 3-4 minutes until you see that the output stabilizes, make sure that port 5080 is open and then go to:

http://yourserver:5080/openmeetings/install

You should see this welcome page.

A08

Click Continue with STEP1 and you should see this screen.

A10

Enter the mySQL credentials, type the admin e-mail, choose the time zone and scroll all the way down and click Install. The rest of the fields can be ignored and you can configure them later. If you switch to the terminal, you’ll see a lot of activity.

A11

Once completed, you’ll be greeted that the installation is complete. Click the Enter the Application link.

A09

Log with the admin credentials.

A12

This is the main screen.

A13

Go to Administration | Configuration and make sure that you have the following values properly configured.

  • SWFTools Path = /usr/bin
  • ImageMagick Path = /usr/bin
  • FFMPEG Path = /usr/bin
  • SoX Path = /usr/bin

When you start the conference, make sure you test your audio/video equipment.

A14

Finally, if you want to start the servlet automatically, create the following file.

vi /etc/init.d/red5
#
#!/bin/sh -e
#
# chkconfig: 2345 20 80
# description: Startup script for Red5/openmeetings

export RED5_HOME=/openmeetings/ 
start_red5="$RED5_HOME/red5.sh"
stop_red5="$RED5_HOME/red5-shutdown.sh"
 
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

And make it run at boot.

chmod +x /etc/init.d/red5
service red5 stop
chkconfig red5 on
service red5 start

Related Articles

11 comments

dong teo June 10, 2014 - 5:05 AM

Im sorry to bother you, Mr KLIMENT ANDREEV! Can I ask you a few question?
1) Can Opmeeting launch High available ?
2) How can I dorp delay about time when start conference with realtime ?
Sincerely

Kliment Andreev June 10, 2014 - 9:10 AM

Openmeetings can’t support HD quality yet. It’s VGA only.

http://en.wikipedia.org/wiki/Comparison_of_web_conferencing_software

I am not sure about the delay, it all depends how many participants you have.
But most of the time, the bottleneck is the network bandwidth.

dong teo June 11, 2014 - 6:06 AM

Thank you for Your attention! MR kliment Andreev. I
1)According to your lab “Install openmeetings 2.2.0 on CentOS 6.5” so database and openmeeting installed on one server but I Want to separate it out to two server to advoid lose database. Could you show me how to configure on 2 server?
2)Assuming that 2 participants openmeetings so can You tell me How much bandwith from participants to server openmeeting ? And How to determine value of bandwith?
Thanks you!

Kliment Andreev June 11, 2014 - 1:18 PM

1) I don’t have openmeetings installed anymore, but look into persistence.xml file and look for something that says localhost. Replace that with your mySQL server.
2) Check this link. It’s about VGA streaming.
http://www.excitingip.com/2722/bandwidth-considerations-for-ip-surveillance-cameras-how-to-reduce-the-bandwidth-occupied-by-them/

dong teo June 17, 2014 - 1:21 PM

I’m sorry to bother you again!
I can’t use usb Camera on openmeeting, I just only use webcam on laptop! can you help resolv?
I try to find usb camera but in choose
device->choose webcam just have integrated webcam

Kliment Andreev June 21, 2014 - 6:50 PM

Most likely you don’t have a driver for the USB camera. Is that camera working in other programs?

dong teo June 23, 2014 - 12:47 AM

Finally I found cause this is version of Openmeeting, Last night I determine change high version Openmeeting and I can use USB camera!
I can’t thank you enough for your attention, Mr Kliment Andreev! I wished you always good health.
Sincerely!

Jaber Elmasry February 24, 2015 - 11:51 AM

thanks alot for all of your good explanation , i have my own server and everything is working like charm except last part for running script automatically , I did everything as you mentioned just only diffrence that I have centos 7 . commands start and restart and stop for script red5 in /init.d works normaly I did also chckconfig command on diffrent levels but no luck , Im looking forward for your advice . Best regards

Kliment Andreev February 24, 2015 - 12:12 PM

Unfortunately, this won’t work. CentOS 7 is not using init.d anymore. They switched to serviced and the syntax is completely different.

http://www.cyberciti.biz/faq/rhel-centos-linux-7-restart-networking-command-line/

Jaber Elmasry February 27, 2015 - 1:25 PM

Ok thank you for answer but how can I make openmeeting to work with centos 7 automatically is there any way out ?

Kliment Andreev February 28, 2015 - 10:15 AM

I am not familiar with systemd. Search for centos 7 create startup scripts. It’s a bit different.

Leave a Comment

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More