How to Install BigBlueButton on Ubuntu 16.04

install BigBlueButton ubuntuThere are a lot of open source web conferencing tools available these days and there are also a number of budget-friendly alternatives that still offer the same features and functions. Sometimes you can need web conferencing tools for remote collaboration, demo presentations or courses if you are an online academy. In fact, open source web conferencing software offers you the opportunity to host virtual training events, collaborate with colleagues, and offer learners personalized support without paying hefty monthly fees. The one most popular which we will talk about is "bigbluebutton" which is a very large solution used nowadays by some entities.

What is BigBlueButton

Bigbluebutton also called "bbb" is an open source web conferencing system for online learning which offers the possibility to share documents, webcam, audio, chat and your desktop during a real-time session. It also offers the possibility to record a session to playback all its content shared and it has the great capability to be integrated as a plugin with various online learning platforms like WordPress and Moodle. Bigbluebutton's session uses two major roles for users:

  • viewer: He can be viewed as the student. He can chat, displays an emote icon, sends/receives audio and video, and responds to polls
  • moderator: He can in addition to all the capabilities of a viewer, mute/unmute other viewers, lock down viewers, or make anyone the presenter. He can be considered as the instructor.

The latest version when I am writing this article is BigBlueButton 1.1. You can have more details about "bbb" on its official website.

1) Check the pre-requisites

At the present moment, bbb v1.1 requires Ubuntu 16.04 64-bits and there is no support for CentOS. There is no installation from source so, personally I have not found a possible installation on Centos for this version even by installing each required components.

The minimum server requirements for installing BigBlueButton 1.1 are

  • Ubuntu 16.04 64-bits OS version
  • 4 GB of free memory with swap enabled (8 GB of memory is better)
  • Quad-core 2.6 GHZ CPU (or faster)
  • TCP ports 80, 443, and 1935 are accessible
  • TCP port 7443 is accessible if you intend to configure SSL (recommended), otherwise, port 5066 is accessible
  • UDP ports 16384 - 32768 are accessible
  • Port 80 is not used by another application
  • 500 GB of free disk for recording for physical server but you can have at least 40GB for a virtual server
  • 100 Mbps of bandwidth which must be symmetrical.

You must have some free disk space for recording and a good bandwidth for your bbb server if you can not respect exactly the two last points. For the end-user accessing the bbb server, it is recommended a minimum of 1.0 Mbps download speed and 0.5 Mbps upload speed. You can propose to your users to check their bandwidth through some sites as speedtest.net.

a) Check the server's locale

The locale of the web conferencing server bbb must be en_US.UTF-8. You can check the locale with the command below

# cat /etc/default/locale
  # Created by cloud-init v. 0.7.9 on Thu, 29 Jun 2017 18:50:07 +0000
LANG="en_US.UTF-8"

If it is not the default locale on the server, please change it as below

# apt install -y language-pack-en && update-locale LANG=en_US.UTF-8

b) Add more entropy if virtual server

If you decide to install bbb on a virtual server, you should improve Tomcat and other components entropy. You don't need it for a physical server. If you don't want to be blocked for long periods because of lack of entropy when starting up, you should need to install the haveged paquage which is an entropy daemon.

# apt install -y haveged
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following additional packages will be installed:
 libhavege1

Suppose that you only have ssh access to the server for the implementation, to check whether it is a physical or a virtual server, you can use the facter command:

# apt install -y facter
# facter 2> /dev/null | grep virtual
is_virtual => true
virtual => kvm

You can see that it is a virtual server

# facter 2> /dev/null | grep virtual
is_virtual => false
virtual => physical

The output above shows a physical server

2) Install BigBlueButton

a) Add the bigbluebutton's repository

Bigbluebutton works with multiverse repository so you should check if it's present in your repository.

# grep "multiverse" /etc/apt/sources.list
## multiverse WILL NOT receive any review or updates from the Ubuntu
deb http://mirrors.linode.com/ubuntu/ xenial multiverse
# deb-src http://mirrors.linode.com/ubuntu/ xenial multiverse
deb http://mirrors.linode.com/ubuntu/ xenial-updates multiverse

If you don't have this repo, you can add it as below

echo "deb http://archive.ubuntu.com/ubuntu/ xenial multiverse" | sudo tee -a /etc/apt/sources.list

Now we must add the bbb repo

wget http://ubuntu.bigbluebutton.org/repo/bigbluebutton.asc -O- | sudo apt-key add -
--2017-07-21 17:00:41--  http://ubuntu.bigbluebutton.org/repo/bigbluebutton.asc
Resolving ubuntu.bigbluebutton.org (ubuntu.bigbluebutton.org)... 104.130.209.130
Connecting to ubuntu.bigbluebutton.org (ubuntu.bigbluebutton.org)|104.130.209.130|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3112 (3.0K) [application/octet-stream]
Saving to: ‘STDOUT’

-                         100%[===================================>]   3.04K  --.-KB/s    in 0s      

2017-07-21 17:00:42 (509 MB/s) - written to stdout [3112/3112]

OK

Then we have to indicate the URL of bbb packages

echo "deb http://ubuntu.bigbluebutton.org/xenial-110/ bigbluebutton-xenial main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list
deb http://ubuntu.bigbluebutton.org/xenial-110/ bigbluebutton-xenial main

Now let us indicate the URL of bbb packages

# echo "deb http://ubuntu.bigbluebutton.org/xenial-110/ bigbluebutton-xenial main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list
deb http://ubuntu.bigbluebutton.org/xenial-110/ bigbluebutton-xenial main

Now let's update our server before installing

# apt update && apt dist-upgrade -y

b) Install BigBlueButton with its component

Now we can completely install bbb. It will also install all its components like Tomcat, ffmpeg, libreoffice, nginx, Ruby and some others.

# apt install bigbluebutton
Reading package lists... Done
Building dependency tree 
Reading state information... Done

Now you should accept the End-User Licence Agreement (EULA )

You can now finish the installation

We need to restart our bbb server

# bbb-conf --restart
Restarting BigBlueButton 1.1.0 ...
Stopping BigBlueButton
Starting BigBlueButton


** Potential problems described below **
.........

You can see that there are no errors found. Now  we can check the bbb configuration with the command below

# bbb-conf --check

In our case we don't have errors. Red colors show information where you will see your server IP address. Were you see bbb-web host it is the IP address used to access to the bbb web page. So if you have many interfaces, you can set the interface to use (the IP address) with the command below

# bbb-conf --setip ip_address 

Or if you have an hostname, it is more easiest to use it for your client to contact your server. It's set with the same command but instead of the IP address, use the server's hostname

# bbb-conf --setip hostname

then restart bbb services

# bbb-conf --restart && bbb-conf --check

When you do some changes, you can clear log files then check your configuration again

# bbb-conf --clean && bbb-conf --check

Now to be able to access on the bbb demo page, we must install the API demos which work with JSP and which is necessary for bbb otherwise you will get a 404 Not Found error when trying to login. Do as below

# apt install -y bbb-demo
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following NEW packages will be installed:
 bbb-demo

I recommend you to install a bbb self-check service which can help you to diagnose networking and configuration issues.

# apt install -y bbb-check
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following NEW packages will be installed:
 bbb-check

Let'us check the config again

# bbb-conf --restart && bbb-conf --check

The first address in green color is the link to access directly to the bbb demo1 and the second link is the one to use to diagnose configuration issues (the bbb-check package). You can diagnose by entering the address your address shown

3) Connect to the BigBlueButton administration page

Now we can connect to our bbb web page using the hostname or the IP of our server as http://bbb-hostname or http://bbb-ip

When you decide to join a demo session, you have the display below

You will be asked to allow your microphone then, you will have the default display below

During a presentation, you can do some actions represented on the image below

You can see

  • where you can share your desktop, webcam and microphone during the conference in green color
  • users present in the conf in color
  • the chat room (public and private) with users in color
  • where you can add a presentation to share during the conference in blue color

BigBlueButton has some default meeting room which can be directly used when you use the link: http://bbb-hostname/demo/demo1.jsp  or http://bbb-ip/demo/demo1.jsp as below

It exists some demo meeting where you have the possibility, for example, to secure the meeting's access with a defined password given to the allowed users or where you offer the possibility to the users to select the meeting room that they would like to join.

Now you know how to install a tool for your web conferencing. You can use it not only for web conferencing e-learning but for another goal. It offers some possibilities during a session and it is an open source tool.

About Alain Francois

IT Linux administrator passionate of free and open source software, I work on Linux Systems since some years on installations and deployments of certain solutions. I like to share my experiences with a wider audience by training and conferences.

Author Archive Page

Have anything to say?

Your email address will not be published. Required fields are marked *

All comments are subject to moderation.