Guide for installing BigBlueButton on Ubuntu 10.04 Lucid

Installing

It's best to follow the official guide Installation on Ubuntu first.

It's best to install bbb-demo after the bigbluebutton package, to make sure that bbb_api_conf.jsp file is created properly.




Configuring

If you're inside AWS or behind some other NAT interface you'll have to update some settings.

bbb-conf --setip $hostname
bbb-conf --restart

Tuning Directory Paths

BigBlueButton and FreeSWITCH consume a lot of storage space for these recordings. If you're runing in limited storage environment such as AWS/EC2 you may want to adjust these paths, or symlink them to EBS.

Record your SALT for later usage.

bbb-conf --salt
nano -w /usr/share/red5/webapps/deskshare/WEB-INF/red5-web.xml
nano -w /usr/share/red5/webapps/video/WEB-INF/red5-web.xml
/var/lib/tomcat6/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties
/usr/share/red5/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties

Layout

Update this File to Change the Layout

cd /var/www/bigbluebutton/client/conf
nano -w /usr/src/bigbluebutton/bigbluebutton-client/src/conf/layout.xml

Make a Theme

Run this as a regular user, it will put a bunch of stuff about Grails and Groovy into your ~/.profile.

sudo -i apt-get install ant
sudo -i bbb-conf --setup-dev tools
cd /usr/src/bigbluebutton/bigbluebutton-client/client
nano -w branding/default/style/css/BBBDefault.css
ant branding -Dthemefile=theme.css

Talking APIs

The BigBlueButton APIs are very simple, here are some examples that call it using curl from the command line.

host="http://bbb.example.com/bigbluebutton/api"
salt="1234.....fff"

function api_call()
{
    fn=$1
    qs=$2
    ck=$(api_checksum $fn $qs)

    uri="$host/$fn?$qs&checksum=$ck"

    curl -v "$uri"

}

function api_checksum()
{
    fn=$1
    qs=$2
    echo -n "$fn$qs$salt" | sha1sum | cut -c1-40
}

api_call "create" "name=Session123&meetingID=s123&attendeePW=1234&moderatorPW=5678&record=true"

api_call "join" "meetingID=s123&fullName=Teacher&password=5678"

api_call "join" "meetingID=s123&fullName=Student&password=1234"

Recordings

bbb-record --list bbb-record --watch bbb-record --check

See Also