BigBlueButton

Pre-requisites

1. 2 GB of memory (4 GB is better)

2. Dual-core 2.6 GHZ CPU (quad core is better)

3. Ports 80, 1935, 9123 accessible

4. Port 80 is not used by another application

5. 50G of free disk space (or more) for recordings

To verify you have ubuntu 10.04

$ cat /etc/lsb-release

If it returns something like this, you have ubuntu 10.04

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04.4 LTS"

The locale must be set to en_US.UTF-8. To verify it:

$ cat /etc/default/locale
LANG="en_US.UTF-8"

If you don’t see LANG=”en_US.UTF-8″, then do the following,

$ sudo apt-get update
$ sudo apt-get install language-pack-en
$ sudo update-locale LANG=en_US.UTF-8

logout and log back into your session or restart your server. After the above step, do cat /etc/default/locale again and verify you see LANG=”en_US.UTF-8″.

Verify that port 80 is not in use by any other application.

$ lsof -i :80

Add Repositories and update the server:

Add the BigBlueButton key

$ wget http://ubuntu.bigbluebutton.org/bigbluebutton.asc -O- | sudo apt-key add -

Add the BigBlueButton repository URL and ensure the multiverse is enabled

$ echo "deb http://ubuntu.bigbluebutton.org/lucid_dev_08/ bigbluebutton-lucid main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list
$ echo "deb http://us.archive.ubuntu.com/ubuntu/ lucid multiverse" | sudo tee -a /etc/apt/sources.list

To update your server and to ensure you are running the latest version of the packages do the following

$ sudo apt-get update
$ sudo apt-get dist-upgrade

Install RUBY

You must have ruby for recording and playback. To check if ruby is already installed,

$ dpkg -l | grep ruby

Make sure the version is 1.9.2p290.

$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553)

Incase if you do not have ruby install the following dependencies.

$ sudo apt-get install zlib1g-dev libssl-dev libreadline5-dev libyaml-dev build-essential bison checkinstall libffi5 gcc checkinstall libreadline5 libyaml-0-2

Create a script to install ruby.

$ vi install-ruby.sh

#!/bin/bash
cd /tmp
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz
tar xvzf ruby-1.9.2-p290.tar.gz
cd ruby-1.9.2-p290
./configure --prefix=/usr\
           --program-suffix=1.9.2\
           --with-ruby-version=1.9.2\
           --disable-install-doc
make
sudo checkinstall -D -y\
                 --fstrans=no\
                 --nodoc\
                 --pkgname='ruby1.9.2'\
                 --pkgversion='1.9.2-p290'\
                 --provides='ruby'\
                 --requires='libc6,libffi5,libgdbm3,libncurses5,libreadline5,openssl,libyaml-0-2,zlib1g'\
                 --maintainer=brendan.ribera@gmail.com
sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9.2 500 \
                        --slave /usr/bin/ri ri /usr/bin/ri1.9.2 \
                        --slave /usr/bin/irb irb /usr/bin/irb1.9.2 \
                        --slave /usr/bin/erb erb /usr/bin/erb1.9.2 \
                        --slave /usr/bin/rdoc rdoc /usr/bin/rdoc1.9.2
sudo update-alternatives --install /usr/bin/gem gem /usr/bin/gem1.9.2 500

To run the script

$ chmod +x install-ruby.sh
$ ./install-ruby.sh

After installation you should see the ruby interpereter output as 1.9.2p290 or later

$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553)

Check gem version.

$ gem -v
1.3.7

Confirm that you can install gems.

$ sudo gem install hello
Successfully installed hello-0.0.1
1 gem installed
Installing ri documentation for hello-0.0.1...
Installing RDoc documentation for hello-0.0.1...

Install Bigbluebutton

$ sudo apt-get install bigbluebutton

Install API to check server

$ sudo apt-get install bbb-demo

Later if you want to remove API demos

$ sudo apt-get purge bbb-demo

Do a clean restart

$ sudo bbb-conf --clean
$ sudo bbb-conf --check

Stop apache 2 and restart nginx

$ service apache2 stop
$ service nginx restart

Set ip for bigbluebutton server

$ bbb-conf --setip <ip_address_or_hostname>

The installation is complete now. Type in your ip address in a browser to access bigbluebutton server