How to Use BigBlueButton for Web Conferencing on Linux

Bigbluebutton On Linux Feature

In today’s online world, we’re becoming more and more connected with web conferencing. School, work, and even friendships are taking place over platforms like Zoom, WebEx, and Google Hangouts. However, for those of us looking for an open-source option, there aren’t all that many. That’s where BigBlueButton comes in, which is an open-source web-conferencing and e-learning platform that you build yourself. Here we show you how to use BigBlueButton for web conferencing on Linux.

Before You Install BigBlueButton

I won’t quote the documentation page much, but there are a couple of things to note about installing BigBlueButton on Linux.

The first is that if you’re planning to use it in production, you will need more than the specs I’m using. Their installation page states that you should have the following to run an actual server:

  • Ubuntu 16.04 64-bit OS running Linux kernel 4.x
  • 16 GB of memory with swap enabled
  • 8 CPU cores, with high single-thread performance
  • 500 GB of free disk space (or more) for recordings or 50GB if session recording is disabled on the server
  • TCP ports 80 and 443 accessible
  • UDP ports 16384 – 32768 accessible
  • 250 Mbits/sec bandwidth (symmetrical) or more
  • TCP port 80 and 443 not in use by another web application or reverse proxy
  • A hostname (such as bbb.example.com) for setup of a SSL certificate
  • IPV4 and IPV6 address
  • Dedicated (bare metal) hardware

They recommend not running it as a VM for production use because of the audio packet processing program they use and time-syncing problems with recordings. Essentially, I’d recommend picking up an off-lease enterprise 1U server or something along those lines. That way you can have more requirements than necessary, including multiple bonded NICs, 8-16 CPU physical CPU cores, and lots of RAM.

However, I’m just going to be running it in a VM for the purpose of showing you how it’s done. Those requirements are as follows:

  • 4 CPU cores/8 GB of memory
  • Installation on a local VM or LXC container
  • 50G of disk space
  • IPV4 address only

BigBlueButton Installation

There are a couple of ways to install it: the easy way where you don’t learn as much of the inner workings or the hard way where you’ll be intimately familiar with how it works on the inside. The choice is yours, but I’m going with the easy way, as it’s a simpler installation and administration. If you’d like to go with the more difficult route, you can follow a step-by-step on the documentation page.

The easier way to install consists of using either a script from the website or an Ansible role to automate the installation process. I’d recommend the script for those just wanting to test things out.

To go with the script, you’ll need to clone it from GitHub with the following command:

And running the script with this command:

Bigbluebutton On Linux Script

Note that in the script above, HOSTNAME is the hostname of your server and EMAIL is an email address for setting up an SSL, and it’s a necessary step. Using the script should take about 30 minutes or so, meaning you have plenty of time to refill your coffee and take a break.

When you come back, everything should be all set. At that point, you can enter the domain name (or IP address with a virtual test server) and start the demonstration. You can continue to run the script you used to upgrade the packages on the server as well.

How to Use BigBlueButton

If you use the script, you will have the BigBlueButton demonstration package installed, meaning you can learn how everything works without committing too much. Note that this requires a valid SSL certificate, which will require a registered domain name. I don’t have that, so I’m going to use the BigBlueButton demo server.

As a moderator, create a room and click Start. You can send that meeting link out to other people and invite them to that link.

Bigbluebutton On Linux Demo Start

You’ll be invited to join audio from your microphone or listen only. From there, you’re in the meeting.

Bigbluebutton On Linux Audio

In the chat, you’ll see the link to the tutorial videos on YouTube. They’ll be more useful later to learn about the platform.

Bigbluebutton On Linux Chat

Closing the chat, you can see all of the many tools on BigBlueButton that make it a prime online learning platform. Clicking on the little hand, you can see the different tools available to you. Using the pencil allows you to draw things on your presentation. Also notice that you have a little laser pointer on your screen that pops up to show people what you’re pointing at.

Bigbluebutton On Linux Demo Pencil

Every slide is a whiteboard, but there are specific whiteboard slides in this demo server. You can draw whatever you need to. In this example, I drew a couple of network diagram symbols, but you get the idea. There’s also multi-user whiteboarding, which is great for students to show what they’re working on.

Bigbluebutton On Linux Demo Whiteboard

The Shared Notes section is also great because it allows you to type out some notes that you have or highlight questions from the chat and work out those answers. You could also copy/paste some of your lecture notes in there and let people work off of them.

Bigbluebutton On Linux Demo Shared Notes

BigBlueButton in a Nutshell

For teachers working remotely, there is nothing more exciting than a great new tool. BigBlueButton has many exciting features that make it great for an e-learning platform. If you’re interested in some other video conferencing content, check out our Zoom keyboard shortcuts cheatsheet, our top tips for video conferencing while working from home, and our guide on turning your Raspberry Pi into a video conferencing station.

John Perkins John Perkins

John is a young technical professional with a passion for educating users on the best ways to use their technology. He holds technical certifications covering topics ranging from computer hardware to cybersecurity to Linux system administration.

Leave a Comment

Yeah! You've decided to leave a comment. That's fantastic! Check out our comment policy here. Let's have a personal and meaningful conversation.