Installing a BigBlueButton Server
Table of Contents
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 email@example.com
-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","firstname.lastname@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.com","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=<firstname.lastname@example.org> # SMTP_PASSWORD=<yourpassword> # SMTP_AUTH=plain # SMTP_STARTTLS_AUTO=true # SMTP_SENDER=<email@example.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_SENDERfirstname.lastname@example.org
After making changes on
.env, we can apply them like this:
docker-compose down docker-compose up -d