There 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)... 188.8.131.52 Connecting to ubuntu.bigbluebutton.org (ubuntu.bigbluebutton.org)|184.108.40.206|: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
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
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.