The author selected the Free and Open Source Fund to receive a donation as part of the Write for DOnations program.
BigBlueButton is an open source, feature-rich virtual classroom where you can teach your students. BigBlueButton offers presentation slides, desktop sharing, audio and video, chat, and a virtual multi-user whiteboard all wrapped up in a browser-accessible interface.
In this guide, you will install a BigBlueButton server along with the client interface called Greenlight. Greenlight makes your virtual classroom accessible from any browser and enforces the use of HTTPS to keep information secure.
Before you begin this guide you’ll need the following:
A BigBlueButton instance needs the following server specifications:
Production System
Testing and Development System
BigBlueButton only supports Ubuntu 16.04 LTS. This operating system is no longer receiving feature updates such as new software versions but it will receive security updates until 2024. It is therefore secure to run in an internet-facing production environment.
The server that you use for your BigBlueButton instance should be a fresh install of Ubuntu 16.04 with no additional software installed. Any additional packages, such as a web server will cause the installer to fail.
bbb.your_domain
.Before you begin this tutorial log in to your server as the non-root sudo enabled user.
In this step, you will download the installer script and run it. The installer will download, install, and configure every software package that you’ll need to get both the BigBlueButton server and the Greenlight client completely installed and working. The installer can take up to 30 minutes to complete, depending on the speed of the internet connection, as there are a large number of packages that it must install.
First, download the installer script with the following curl command:
- curl https://ubuntu.bigbluebutton.org/bbb-install.sh -o bbb-install.sh
The -o bbb-install.sh
option tells curl
to save the installer file it downloads as a file called bbb-install.sh
.
Next, make the file executable with the chmod command:
- chmod 755 bbb-install.sh
The number 755
here sets the permissions as follows:
If you need more information on Linux permissions refer to this Introduction to Linux Permissions.
Before running a script that you download from the internet it is good practice to review it first. You can read and review the script by opening it with the less
pager. less
is not an editor so it is impossible to make an accidental edit when you open a file. Open bbb-install.sh
in less
with the following command:
- less bbb-install.sh
Quit less
by pressing the q
key when you have finished reviewing the script.
The installer script cannot be run as either a non-root user or using sudo
. It can only be run by the root user.
First, change to the root user with the following sudo
command:
- sudo -i
This will move you to root’s directory at /root/
, so you will need to supply the full path to the file when you run the installer. In the following example, you’ll need to change the path /home/sammy/bbb-install.sh
to match your non-root user.
Run the installer script with the following options:
- /home/sammy/bbb-install.sh -v xenial-22 -s bbb.your_domain -e sammy@your_email -w -g
The options here mean as follows:
-v xenial-22
: Sets the Ubuntu version.-s bbb.your_domain
: Changes this to the hostname that the installer will use to host your BigBlueButton instance and for the SSL certificate.e sammy@your_email
: Supplies the email address to Let’s Encrypt during the registration of the SSL certificate. This address is used for security announcements, expiry notices, and so on. It is not used for advertising.-w
: Installs and configures a ufw
firewall.-g
: Installs the Greenlight client interface.After this script finishes, you’ve completed installing the BigBlueButton server and the Greenlight client interface with them now running.
Note: You may see the following warning at the end of the installer output:
# Potential problems described below
# Not running: tomcat7 or grails
................................................................................
# Error: Could not connect to the configured hostname/IP address
#
# https://your_domain/
#
# If your BigBlueButton server is behind a firewall, see FAQ.
# Warning: found only 2 cores, whereas this server should have (at least) 4 CPU cores
# to run BigBlueButton in production.
#
# https://docs.bigbluebutton.org/install/install.html#minimum-server-requirements
#
This happens because the tomcat7
and grails
processes have not finished starting before the checks are made. If you do see this error message wait a few minutes and run the following command to perform the checks again:
- bbb-conf --check
After this, it will not report any errors.
You can check the UFW firewall rules that were enabled during installation with the following command:
- ufw status
This will print the following firewall rules:
ufw outputStatus: active
To Action From
-- ------ ----
1935/tcp DENY Anywhere
OpenSSH ALLOW Anywhere
Nginx Full ALLOW Anywhere
16384:32768/udp ALLOW Anywhere
1935/tcp (v6) DENY Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
16384:32768/udp (v6) ALLOW Anywhere (v6)
The ufw
rules that the installer created are:
1935/tcp DENY
: Blocks the Adobe Media Server port when the Greenlight HTML5 client is installed.OpenSSH ALLOW
: Allows you to log in to your server via SSH
.Nginx Full ALLOW
: Allows the Nginx web server to communicate on HTTP (port 80
) and HTTPS (port 443
) as well as serve your BigBlueButton instance to browsers.16384:32768/udp ALLOW
: Allows traffic on UDP ports 16384
through 32768
. Media connections, such as video streams, use these ports.(v6)
: The rules that have this label are for IPv6 addresses. They are copies of the rules that do not have the (v6)
label, which are for IPv4 addresses.Now that you have installed your BigBlueButton server and Greenlight interface, and they’re running, you need to create an Admin user that you will use to log in with.
In this step, you will create the Admin user on your server’s command line. You will create the admin user with a default username and password. These are as follows:
admin@example.com
administrator
It is very important that you log in to your BigBlueButton server and change these details immediately after you create the admin user.
As root move to /root/greenlight/
:
- cd /root/greenlight/
Then run the following command:
- docker exec greenlight-v2 bundle exec rake admin:create
The Greenlight client runs inside of a Docker container.
docker exec greenlight-v2 bundle
: Tells Docker to execute bundle
in the container greenlight-v2
.exec rake admin:create
: Executes rake
to create the user admin
.This will create the admin user and print the following output:
OutputAccount successfully created.
Email: admin@example.com
Password: administrator
Role: admin
PLEASE CHANGE YOUR PASSWORD IMMEDIATELY
You no longer need to be the root user. Log out of root by typing exit
on the command line.
Now that you have created an admin user you must log in and change those details. In the next section, you will log in and get your BigBlueButton instance ready for your students.
In this step, you will log in to your BigBlueButton instance and change the default password that you created in the last step. Also, you’ll make some configuration changes so that your BigBlueButton instance is more secure and easier to manage when students start using it.
The first thing you need to do is to open your browser and enter the hostname you used during the install step. Log in by clicking on the Sign in button on the top right of the home page. Use the following details to sign in:
admin@example.com
administrator
Then click Sign in to log in.
The first time you log in you will see a red banner warning reminding you to update the default password.
Click the here in the Please click here to change it line of the banner. This will take you directly to the password modification page.
Use administrator
as the old password and choose a new, secure password for the admin user. After you have set a new password you can personalize the default details of the admin account.
Click on the Account info button in the right-hand navigation panel.
When you click on that you will be taken to the Update your Account Info page where you can change your name and email address. After you have set your details hit the Update button at the bottom to save the new information.
Next, we will look at some important configuration that you may want to set before using your BigBlueButton instance.
First, navigate to the configuration control panel by first clicking on your username in the top right and select Organization.
This will take you to the Organization Settings page. Click on the Site Settings option in the left-hand navigation panel.
Then click on the Settings panel on the far right. On this page, you can modify the fundamental behavior of your BigBlueButton instance. The options shown on this page are as follows:
You’ve now configured your BigBlueButton instance and it’s ready for your first students.
In this article, you installed and configured a BigBlueButton server along with the Greenlight interface. You can now host virtual classes for your students with all the resources BigBlueButton provides.
The video tutorials will give you an excellent introduction to using BigBlueButton as an instructor, administrator, and as a student.
You can also integrate BigBlueButton into many other open source education software applications, all of which are listed on the Integrations page.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Useful tutorial. It can be helpful to create the administrator password on the command line using:
docker exec greenlight-v2 bundle exec rake user:create[“name”,“email”,“password”,“admin”]
as indicated in the documentation https://docs.bigbluebutton.org/greenlight/gl-admin.html