Our goal here is the following:
have BBB running on Ubuntu
Use Launchpad SSO to control access
Organize multiple web meetings easily
We're going to be using Drupal, Apache, and Big Blue Button.
Installing the server
Big Blue Button instructions are pretty straightforward. If you're going to be using the Drupal integration bit (see below) stick with 0.7.
If you're running in an LXC instance
First, setup an lxc instance on your local machine:
sudo lxc-create -t ubuntu -n bbb -f /etc/lxc/lxc-veth.conf -- -r lucid
Chroot into /var/lib/lxc/ and setup your environment, adding a sudo user, etc. Then, startup the instance.
After the machine is up and running, add the -updates repo to /etc/apt/sources.list.
sudo lxc-start -n bbb
Login to the instance and update it. Due to a bug in lxc's stuff, you'll
umount /usr/lib/init/fstab before it will run.
You probably also want to edit /var/lib/lxc/bbb/config and set a static hardware address. Otherwise, your IP address will change between boots and break the BBB server's configuration.
If you're running in an Amazon cloud
After the installation finishes, you'll need to set the BBB configuration to use external IP of the instance.
bbb-conf --setip ec2-107-21-198-130.compute-1.amazonaws.com
Then add the hostname to /etc/hosts with the private IP address.
For all machines
Now, just follow the steps in:
Once you're done, you should be able to login to your bbb server and test it.
Using with Drupal
For some reason, the BBB developers decided that apache wasn't good enough for them, and went with nginx. Drupal will probably work with nginx, but it's not trivial to setup. And that's what we want: Trivial.
Change BBB's listening port to 81:
sudo bbb-conf --setip bigbluebutton.mydomain.org:81 sudo bbb-conf --clean
Check now to make sure that /etc/nginx/sites-available/bigbluebutton has been updated with the new port number.
Change nginx's ports to 81 in /etc/nginx/sites-available/default
Restart nginx, and test http://bbb.local:81/ . It should give you the full big blue button experience.
Now let's install Drupal6:
sudo apt-get install drupal6
In your browser, go to http://bbb.local/drupal6/install.php and make it so.
Grab the BBB Drupal module:
cd /usr/share/drupal6/modules/ sudo wget http://ftp.drupal.org/files/projects/bbb-6.x-1.x-dev.tar.gz sudo tar zxvf bbb-6.x-1.x-dev.tar.gz sudo rm bbb-6.x-1.x-dev.tar.gz
Go to Administration -> Site Building -> Modules, and enable the BBB module
Once enabled, go to Site Configuration -> Big Blue Button meetings and configure the API connection.
Base URL: http://bbb.local:81/bigbluebutton/api/
Don't forget the :81 (like I always do).
Security salt: value beans.dynamicConferenceService.securitySalt from
Using with Launchpad OpenID and Drupal (Optional)
First off, grab the Launchpad OpenID extensions from here:
https://code.launchpad.net/~canonical-isd-hackers/drupal-launchpad/6.x-trunk bzr branch lp:drupal-launchpad/6.x mv 6.x openid-launchpad # this needs to come after "openid", due to # hackage tar fcz openid-launchpad.tar.gz openid-launchpad
Then unpack that so that you have
Site Building -> Modules, and enable "Launchpad OpenID".
Now, go into Site Building -> Blocks, and remove the usual login screen, and add the OpenID launchpad login button somewhere where the users can find it.
Set authorized users' permissions so that they can attend meetings, create content.
If everything is working at this point, you might want to upgrade your BBB instance to 0.8. There are some improvements to the meeting layout, which is especially good when you have a lot of people's video windows to move around.
The instructions for upgrade are here:
Since we also have Drupal and Apache running, I would advise stopping apache before starting, and telling BBB to overwrite the existing nginx configuration files.
After the upgrade, just run the bbb-conf command again to reset the port to 81:
sudo bbb-conf --setip bigbluebutton.mydomain.org:81
Then restart apache2. It's fairly easy and has worked for me pretty well.
Here are some scripts that may lighten the load a little bit:blog comments powered by Disqus