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.
Go ahead and just accept the defaults.
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.
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
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.
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.
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.
Click Continue with STEP1 and you should see this screen.
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.
Once completed, you’ll be greeted that the installation is complete. Click the Enter the Application link.
Log with the admin credentials.
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.
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
11 comments
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
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.
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!
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/
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
Most likely you don’t have a driver for the USB camera. Is that camera working in other programs?
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!
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
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/
Ok thank you for answer but how can I make openmeeting to work with centos 7 automatically is there any way out ?
I am not familiar with systemd. Search for centos 7 create startup scripts. It’s a bit different.