How to install BigBlueButton on Debian Squeeze

How to install BigBlueButton on Debian Squeeze

Note: These instructions are contributed and maintained by members of the BigBlueButton community. If you have questions or feedback, please post to bigbluebutton-setup.
This small tutorial is an update of the step by step procedure to install a BigBlueButton 0.71a server on Debian Squeeze 32bit. This procedure assumes you've installed the i386 version of Squeeze with only the SSH server option selected.

1. Pre-requesites

  • Add repositories with their keys
  • # bigbluebutton repository key
    wget -O- | apt-key add -
    # Freeswitch PPA key
    apt-key adv --keyserver --recv-keys 451AE93C
    echo -e "deb bigbluebutton-lucid main\ndeb lucid main" > /etc/apt/sources.list.d/bigbluebutton.list
    aptitude update
  • Install pre-requisites with necessary workaround for packaging bugs:
    • Install sudo
    All script are Ubuntufied so you will have to install sudo or some scripts (bbb-conf) won't work correctly.
    aptitude install sudo
    • Install libmpfr
    libmpfr has been superseded by libmpfr4 and so is no longer available in Debian Squeeze. swftools depends on it but the version in Lenny is a little bit too old (2.3.1), so instead of compiling the source and making a new package, as indicated in the old official how to, we'll just resolve the dependencies by using the one from ubuntu :
    aptitude install libgmp3c2
    dpkg -i libmpfr1ldbl_2.4.2-3ubuntu1_i386.deb
    • Another workaround to avoid packaging errors later on :
    • mkdir -p /var/www/nginx-default/
      touch /var/www/nginx-default/50x.html

2. BigBlueButton Install

  • You are now ready to install BigBlueButton
  • aptitude install bbb-freeswitch-config bigbluebutton
  • Configure BigBlueButton and start it :
  • bbb-conf --clean
    bbb-conf --check
    bbb-conf --setip YOUR_IP
You can now go to http://YOUR_IP and try the demo.

3. Tips and tricks

BigBlueButton works very well out of the box, but it is still quite young, and is not yet very flexible in term of configuration. So here are some tips that I collected, hoping they will save you some hours of hair pulling.

3.1. Firewall setup

BigBlueButton require to open 3 ports : 80, 1935, 9123. You can also open only port 80 and so tunnel everything through it, but you will most likely get bitten by this bug which is a known Linux/Mac Adobe Flash bug. Basically you will be connected, and you will be able to do things but the session will re-initalise every 20-30 seconds. This bug doesn't affect Windows users and is supposed to be solved in Flashplayer beta for Linux and Mac.

3.2. Put BigBlueButton server behind a firewall or on a VPN

If you put your BigBlueButton server on a VPN or behind a firewall and you want to configure a public access, the configuration can be very tricky. Here is an example config providing that you have the following topology :
WEB          <=>          Web Server           <=>          BigBlueButton server
              ExtIP :             IP :
BigBlueButton requires to have an IP that resolves to the same name as configured so either you can put a record in an internal DNS or add the following to its /etc/hosts :
vi /etc/hosts->
bbb-conf --setip
It will throw a message that the IP does not match but this is ok.
# IP does not match:
#                           IP from ifconfig:
#   /etc/nginx/sites-available/bigbluebutton:
On the Web server :
  • Forward port 9123 to BigBlueButton's server port 9123
  • Forward port 1935 to BigBlueButton's server port 1935
  • Configure a new vhost called that does a proxy pass to
  • DO NOT TRY to put it on a subfolder (ie. if you don't want to have to modify lots of bigblubutton's source code.
You should now be able to access your BigBlueButton server through
Beware that BigBlueButton's configuration is extremely sensitive, a slight change in the above and it might not work.

3.3. End meeting after every participants logged out

You can do this easily by modifying the configuration :
vi /var/lib/tomcat6/webapps/bigbluebutton/WEB-INF/classes/> beans.dynamicConferenceService.minutesElapsedBeforeMeetingExpiration=0
I found during my testing that the delay before the meeting is actually closed can vary from a few seconds to a few minutes, but it does work.

4. Conclusion

This will install a FULLY functional BigBlueButton server on your Squeeze box. Please check the project's FAQ or post a message to bigbluebutton-setup if your encounter any issues.

5. References

 sumber :

Post a Comment