Installing OpenMeetings on Debian Lenny

On the previous post I showed you what you could do with OpenMeetings. Now it's time to describe how to install it on your own server.

Although you can install it in any version of Linux provided you have access to the proper dependencies, I decided to do the set up on a minimal installation of Debian 5.03 "Lenny", that way I could ensure I identified all the components needed. This will also ensure that if you want to install it in a different Distribution, you have all the elements to do it.

The total installation time was a bit less than two hours. It may be more or less for you depending on the speed of your computer and Internet connection.

You can find the short version of these instructions on the OpenMeeteings website. Those instructions were my starting point. Here I will add all the detail required.

To start you will need the following

  • A computer to work as the server: Minimum recommended: 1 GHz CPU, 1 GB RAM, 2 GB HDD.
    If you don't have an additional computer you can do the installation on a virtual computer. Just ensure you assign enough CPU, RAM and a large enough HDD.
    From now on I will refer to this computer as the "server"
  • An Internet connection
  • An additional computer connected to the same network. The purpose of the second computer is the following
    - follow the instructions doing cut and paste instead of typing them manually
    - Test the installation at the end
    From now on I will refer to this additional computer as the "local computer"

Install Debian

Although Installing Debian is not in the scope of this post, here is the installation in a nutshell:

  1. Download the minimal network installation
  2. Burn the image to a CD or USB
  3. Boot your computer using the CD or USB
  4. Follow the installation steps
  5. When asked to select the kind of system, just leave "standard system" selected. Nothing more.
  6. When the installation completes, allow it to reboot
  7. Login to the server as root and continue with this instructions.
  8. By default Debian will use DHCP to acquire an IP address. That is OK when you are testing but It is advisable to set a static IP address so your server always has the same IP address. You can follow the instructions here: http://www.techiecorner.com/486/how-to-setup-static-ip-in-debian/

Edit the sources list

This will ensure that you have access to the packages required later in this installation procedure

  1. Edit the sources.list file with your favorite editor. e.g. nano
    nano /etc/apt/sources.list
  2. Add the following two entries at the end of the file:
    deb http://ftp.us.debian.org/debian lenny main contrib non-free
    deb-src http://ftp.us.debian.org/debian lenny main contrib non-free

    Note: you can replace the URL with the one for your preferred mirror
  3. Refresh the apt repositories
    aptitude update

Install SSH on the server and connect to it from the local computer

This step is not required but you will save a lot of time using cut and paste instead of typing all the instructions.

  1. Install the openssh-server. I also install "less" as I use it quite frequently:
    aptitude install openssh-server less
  2. Get the address assigned to the server and write it down.
    Note: On the following instructions I will use 192.168.1.97 as the server address. Please adapt the address accordingly.
    ifconfig
  3. On the local computer open a terminal and SSH to the server as root
    ssh root@192.168.1.97
  4. Now you will have a terminal where to paste the commands that follow in these instructions. You'll be glad that you followed this advice.

Install the required packages and dependencies

This is the step that will take the longest as there are several packages to download and install:

  1. Install swftools version 0.9 or newer. As it is not included in the Debian repositories we will use the Ubuntu install
    wget -c http://mirrors.kernel.org/ubuntu/pool/universe/s/swftools/swftools_0.9.0-0ubuntu1_i386.deb
    dpkg -i swftools_0.9.0-0ubuntu1_i386.deb
    apt-get -f install
    dpkg -i swftools_0.9.0-0ubuntu1_i386.deb
  2. Install the rest of the components from the repositories.
    Note 1: This is a very long line. Type it all in a single command line.
    Note 2: Don't leave unattended. The installation process will ask to provide a password for MySQL and to accept the java distribution license.

    aptitude install unzip mysql-server sun-java6-bin imagemagick ghostscript openoffice.org-headless openoffice.org-base openoffice.org-writer openoffice.org-calc openoffice.org-impress openoffice.org-draw openoffice.org-math openoffice.org-filter-mobiledev openoffice.org-filter-binfilter msttcorefonts pstoedit libpaper-utils ttf-dejavu
  3. Optional: Cleanup the apt-get cache. This will free quite some HDD space.
    aptitude clean
    aptitude autoclean

Install OpenMeetings

We are almost done. It hasn't been too bad, has it?

  1. Get the latest version of OpenMeetings. You can figure out which version you need from the OpenMeetings web site: http://code.google.com/p/openmeetings/downloads/list.
    In this case I used version 1.0
    wget -c http://openmeetings.googlecode.com/files/openmeetings_1_0_r2688.zip
  2. Unzip the downloaded file and move it to the final destination. Although it is OK to put it under whatever folder you prefer, I like puting it under "opt" to be consistent with other software. Also, I name the folder "red5" as the application is actually the red5 server executing the openmeetings application
    unzip openmeetings_1_0_r2688.zip
    mv openmeetings_1_0_r2688 /opt/red5

Configure MySQL

OpenMeetings requires MySQL to use UTF8 by default.

  1. Open the MySQL global configuration file with a text editor
    nano /etc/mysql/my.cnf
  2. Comment out the "bind-address" entry on the file
  3. Search for the [client] section and add the following line
    default-character-set=utf8
  4. Search for the [mysql] section and add the following line
    default-character-set=utf8
  5. Search for the [mysqld] section and add the following lines
    default-character-set = utf8
    skip-character-set-client-handshake
    collation-server = utf8_unicode_ci
    init-connect='SET NAMES utf8'
    character-set-server = utf8
  6. Exit saving the file: [ctrl-x] and accept saving the file
  7. Restart mysql
    /etc/init.d/mysql restart
  8. Login to MySQL and confirm the character set
    mysql -p
    (enter the mysql root password)
    show variables like '%char%';
    exit

    All the entries should reflect the use of utf8

Configure OpenMeetings

OpenMeetings can use a variety of database engines. In this installation we are using MySQL so we'll use the predefined MySQL configuration:

  1. Copy the OpenMeetings mysql configuration to the default configuration file
    cd /opt/red5/webapps/openmeetings/conf
    cp mysql_hibernate.cfg.xml hibernate.cfg.xml
  2. Open the default configuration file with a text editor
    nano hibernate.cfg.xml
  3. Enter the mysql root password on the connection.password property
    Note: It is advisable to use an ID different than root to connect but configuring it is outside the scope of these instructions. If you use an ID different than root, please adapt this instruction accordingly
    <property name=”connection.password”>openmeetings</property>
  4. Exit saving the file: [ctrl-x] and accept saving the file

Test the installation

  1. Start openoffice headless
  2. Start red5
    cd /opt/red5
    sh ./red5.sh
  3. Open a browser on the local computer and point it to the following address:
    http://localhost:5080/openmeetings/install
  4. Follow the instructions on that page.
    Once you accept the configuration it may take a long time (about 10 minutes) to complete, so be patient. It is normal.
  5. At the end of the process you will be able to open your first web conference!!!

You are done!... Well, almost.

Set up the startup scripts

Although you can manually start red5 every time, I am sure you'd prefer for it to start as a daemon every time you start the server.
I've created the startup scripts followig the standard Debian init.d conventions. You can find the scripts attached to this post.

  1. Download the file openmeetings-startup.tgz to the local computer
  2. Untar the startup scripts and upload them from the local computer to the openmeetings computer.
    Note: For this you will need to open an additional terminal on the local computer
    tar -xvzf openmeetings-startup.tgz
    scp -P 22 red5 root@192.168.1.102:/etc/init.d/red5
    scp -P 22 soffice-headless root@192.168.1.97:/etc/init.d/soffice-headless
    scp -P 22 soffice-headless.sh root@192.168.1.97:/usr/lib/openoffice/program/soffice-headless.sh
  3. On the server terminal make the scripts executable
    chmod 755 /opt/red5/red5.sh \
    /etc/init.d/red5 \
    /etc/init.d/soffice-headless \
    /usr/lib/openoffice/program/soffice-headless.sh
  4. Add the scripts to the startup sequence
    update-rc.d red5 defaults
    update-rc.d soffice-headless defaults
  5. Restart the computer.

Opening the ports
If you want to allow people external to your network to connect to OpenMeetings, you will need to open the following ports:
5080, 8100, 1935 and 4445.

If you prefer to use different ports, you will need to modify the red5 and OpenMeetings configuration files, but that's outside the scope of this post.

Now you are really done!!

As you can see, setting up the server is not too difficult. Nothing to compile and very little to configure. Have fun using this tool.

File Attachments

Attachment Size
openmeetings-startup.tgz 1.1 KB