Installing BigBlueButton For Seneca

From CDOT Wiki
Jump to: navigation, search

Installing Basic BigBlueButton server

Update your server

You first need to give your server access to the BigBlueButton package repository for 0.81.

In a terminal window, copy and paste the following commands.

# 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_081/ 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

Note: At the time of writing, the packages are unstable. The XXX will updated when the beta repository is ready.

After you've made the above changes, do a dist-upgrade to ensure your running the latest packages and your server is up-to-date before installing BigBlueButton.

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

If you've not updated in a while, apt-get may recommend you reboot your server after dist-upgrade finishes. Do the reboot before proceeding to the next step.

Install Ruby

The record and playback infrastructure uses Ruby for the processing of recorded sessions.

First, you'll need to install the following dependencies to compile ruby.

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

Next, create a file called install-ruby.sh and copy and paste in the following script.

#!/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

Next, run the script

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

After the install finishes, type ruby -v. You should see the ruby interpreter output 1.9.2p290 (or later).

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

Next type gem -v.

$ gem -v
1.3.7

Finally, to make sure you can install gems, type sudo gem install hello (BigBlueButton does not need the gem hello; rather, we're just testing to makes sure gem is working properly).

$ 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...

Make sure you can execute the above three commands without errors before continuing with these instructions. If you do encounter errors, please post to bigbluebutton-setup and we'll help you resolve the errors.

You might be wondering why not use the default Ruby packages for Ubumtu 10.04? Unfortunately, they are out of date. Thanks to Brendan Ribera for the above script for installing the latest ruby on Ubuntu 10.04 as a package.

Install ffmpeg

BigBlueButton uses ffmpeg to process video files for playback. To install ffmpeg, do the following

# Install dependencies
sudo apt-get install build-essential git-core checkinstall yasm texi2html libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev --yes


# Setup libvpx
if [ ! -d /usr/local/src/libvpx ]; then
  cd /usr/local/src
  sudo git clone http://git.chromium.org/webm/libvpx.git
  cd libvpx
  sudo ./configure
  sudo make
  sudo make install
fi

# Install ffmpeg
cd /usr/local/src
sudo wget http://ffmpeg.org/releases/ffmpeg-0.11.2.tar.gz
sudo tar -xvzf ffmpeg-0.11.2.tar.gz
cd ffmpeg-0.11.2
sudo ./configure  --enable-version3 --enable-postproc  --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis  --enable-libvpx
sudo make
sudo checkinstall --pkgname=ffmpeg --pkgversion="5:$(./version.sh)" --backup=no --deldoc=yes --default

Install BigBlueButton

We're now ready to install BigblueButton. Type

sudo apt-get install bigbluebutton

This single command is where all the magic happens. This command installs all of BigBlueButton components with their dependencies. Here's a screen shot of the packages it will install.

Type 'y' and press Enter. The packaging will do all the work for you to install and configure your BigBlueButton server.

If you are behind a HTTP Proxy, you will get an error from the package bbb-record-core. You can resolve this by manually installing the gems.

Install API Demos

To interactively test your BigBlueButton server, you can install a set of API demos.

sudo apt-get install bbb-demo

You'll need the bbb-demo package installed if you want to join the Demo Meeting from your BigBlueButton server's welcome page. This is the same welcome page you see at our demo server.

Later on, if you wish to remove the API demos, you can enter the command

sudo apt-get purge bbb-demo

Install Presentation record and playback scripts

sudo apt-get install bbb-playback-presentation

Assign the proper domain name

sudo bbb-conf --setip <FQDN>

Do a Clean Restart

To ensure BigBlueButton has started cleanly, enter the following commands:

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

The --clean option will clear out all the log files for BigBlueButton. The --check option will grep through the log files looking for errors.

The output from sudo bbb-conf --check will display your current settings and, after the text, " Potential problems described below ", print any potential configuration or startup problems it has detected.

Installing the Polling Module

Setting up the development tools

On a BigBlueButton server, you can install all the necessary development tools with the following command:

bbb-conf --setup-dev tools

When you run this script, you will be asked to enter your password to sudo into root. This script will:

Download and setup groovy, grails, and gradle Download and install Open Source Flex SDK Install OpenJDK Install git Add the necessary environment variables in your ~/.profile

After the initial setup is complete, you'll need to reload your .profile to use the new environment variables for groovy, grails, and gradle. To do this, run

source ~/.profile

You need only do this once. When you next login to your account, you'll have the environment variables in place.

Again, you can use any account on a BigBlueButton server that has sudo rights. For the rest of this document we'll use the account firstuser for the examples.

The bbb-conf script create for you a dev directory in your account.

/home/firstuser/dev

It's in this directory that you'll place the source for BigBlueButton.

Checking out the Source

You have to clone our git BigBlueButton fork in order to get the Polling Module.

cd ~/dev
git clone https://github.com/capilkey/bigbluebutton.git
git checkout poll-access

Building the Client

Setting up the environment

To setup the client for development for the client, do the following

bbb-conf --setup-dev client

You then need to open up the ~/dev/bigbluebutton/bigbluebutton-client/src/conf/config.xml file and add in the entry for the Polling Module. Make sure to replace the "<URL>" with the domain name of the server.

<module name="PollingModule" url="http://<URL>/client/PollingModule.swf?v=4067"
    uri="rtmp://<URL>/bigbluebutton"
    dependsOn="ViewersModule"
/>

Build the source

First, we'll build the locales (language translation files). If your not modifying the locales, you need only do this once.

cd ~/dev/bigbluebutton/bigbluebutton-client
ant locales

This will take about 10 minutes (depending on the speed of your system).

Next, let's build the client

ant

Building the Red5 Apps

Make red5/webapps writeable. Otherwise, you will get permission error when you try to deploy into Red5.

sudo chmod -R o+w /usr/share/red5/webapps

Run the setup script. This will remove the bbb-apps package from red5/webapps.

bbb-conf --setup-dev apps

Stop red5

sudo /etc/init.d/red5 stop

Compile and deploy bbb-apps

cd ~/dev/bigbluebutton/bigbluebutton-apps
gradle resolveDeps
gradle clean war deploy

Start Red5

sudo /etc/init.d/red5 start

Do a Clean Restart

To ensure BigBlueButton has started cleanly, enter the following commands:

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

The --clean option will clear out all the log files for BigBlueButton. The --check option will grep through the log files looking for errors.

The output from sudo bbb-conf --check will display your current settings and, after the text, " Potential problems described below ", print any potential configuration or startup problems it has detected.

Moving /var/bigbluebutton

You should wait till after everything is setup before moving folders around. Once it's all setup move /var/bigbluebutton to /storage/bigbluebutton (on the second hard drive) and make a link between the two.

Extra Information

For troubleshooting and extra info you can use the following links: