Installing BigBlueButton For Seneca
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: