Installing a BigBlueButton Server

Reading time ~2 minutes

Installing a BigBlueButton Server

Installing a BigBlueButton Server

BigBlueButton is a web conferencing system designed for online learning. In this blog I am going to describe how I installed it, hoping that this might be useful for other people too.

1 Preparing the server

I installed an Ubuntu 16.04 server, with 4GB RAM, on hetzner.com, which costs about 5EU/month. Ubuntu 16.04 is a requirement for the latest stable version of BBB, and 4GB is also the minimum amount of RAM asserted by the installation script.

Next, I directed the subdomain bbb.fs.al to the IP of this server.

Then I made sure that the ports used by BBB (and SSH) are open on the firewall:

apt install ufw
ufw allow 22
ufw allow 80
ufw allow 443
ufw allow 16384:32768/udp
ufw enable
ufw status

2 Installing BigBlueButton and its Greenlight web interface

Installing BBB is very easy with the script on https://github.com/bigbluebutton/bbb-install:

wget https://ubuntu.bigbluebutton.org/bbb-install.sh
chmod +x bbb-install.sh
./bbb-install.sh \
    -v xenial-220 -g \
    -s bbb.fs.al -e dashohoxha@gmail.com

The option -v xenial-220 tells the script which version to install, -g is for installing Greenlight as well, -s bbb.fs.al is the name of the server, and the email given with -e is used for getting automatically a letsencrypt ssl certificate.

The next thing is to create an admin account:

docker exec greenlight-v2 \
    bundle exec rake \
    admin:create["Name","email@example.org","passw","username"]

Now you can login as admin and manage the site as documented here: https://docs.bigbluebutton.org/greenlight/gl-admin.html#administrator-panel

You can also create normal users from the command line, like this:

docker exec greenlight-v2 \
    bundle exec rake \
    user:create["Name","email@example.org","passw","username"]

3 Enable email notifications from Greenlight

Sending emails from the server is nice to have if want it to be used by multiple users (besides yourself). It is useful for sending invitations to users or to allow users to verify their email address when they register themselves.

To enable email notifications you have to configure an SMTP server on greenlight:

cd ~greenlight
vim .env

Make sure to uncomment and set the proper values to these variables:

# ALLOW_MAIL_NOTIFICATIONS=true
# SMTP_SERVER=smtp.gmail.com
# SMTP_PORT=587
# SMTP_DOMAIN=gmail.com
# SMTP_USERNAME=<youremail@gmail.com>
# SMTP_PASSWORD=<yourpassword>
# SMTP_AUTH=plain
# SMTP_STARTTLS_AUTO=true
# SMTP_SENDER=<youremail@gmail.com>

Also make sure to make the correct configurations to your Gmail account, as described here:

The second method (using an App Password) is more secure.

You can also use an SMTP server different from GMail.

In my case, I have installed my own SMTP server (according to these instructions: https://gitlab.com/docker-scripts/postfix/-/blob/master/INSTALL.md) My settings look like this:

ALLOW_MAIL_NOTIFICATIONS=true
SMTP_SERVER=smtp.fs.al
SMTP_PORT=25
SMTP_DOMAIN=fs.al
SMTP_USERNAME=
SMTP_PASSWORD=
SMTP_AUTH=none
SMTP_STARTTLS_AUTO=true
SMTP_SENDER=bbb@fs.al

After making changes on .env, we can apply them like this:

docker-compose down
docker-compose up -d

Date: 2020-03-29

Author: Dashamir Hoxha

Created: 2020-04-12 Sun 13:57

Emacs 25.2.2 (Org mode 8.2.10)

Validate

OpenPGP Web Key Directory

OpenPGP Web Key DirectoryOpenPGP Web Key DirectoryTable of Contents1. Introduction2. How WKD works3. Building a WKD3.1. Create the direct...… Continue reading

SMTP Server with LDAP Authentication

Published on April 17, 2021

Using WireGuard VPN

Published on November 09, 2020