BigBlueButton: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 11: | Line 11: | ||
* Firewall exceptions for TCP ports 80 and 443 and UDP ports 16384 - 32768. |
* Firewall exceptions for TCP ports 80 and 443 and UDP ports 16384 - 32768. |
||
* Ansible installed. This can be done via <code>apt install ansible</code>. |
* Ansible installed. This can be done via <code>apt install ansible</code>. |
||
* An SSL key pair. See [[SSL]]. In this tutorial they are called <code>csclub-wildcard-chain.crt</code> |
* An SSL key pair. See [[SSL]]. In this tutorial they are called <code>csclub-wildcard-chain.crt</code> and <code>csclub-wildcard.key</code>. |
||
and <code>csclub-wildcard.key</code>. |
|||
=== Instructions === |
=== Instructions === |
||
Line 41: | Line 40: | ||
<li> |
<li> |
||
Restart BBB by running <code>bbb-conf --restart</code>. |
Restart BBB by running <code>bbb-conf --restart</code>. |
||
</li> |
|||
<li> |
|||
At some point you may need to run the <code>bundle</code> command as the greenlight user, especially if you are customizing Greenlight. |
|||
Add the following to <code>/opt/greenlight/.profile</code>: |
|||
<pre> |
|||
export PATH=$HOME/.gem/ruby/2.5.0/bin:$PATH |
|||
export $(grep -v '^#' ~/.env) |
|||
export RAILS_ENV=production |
|||
export BUNDLE_APP_CONFIG=~/.bundle |
|||
</pre> |
|||
This will allow you to run <code>bundle</code> after logging in as the greenlight user. |
|||
</li> |
|||
<li> |
|||
Enable and run the systemd service for Greenlight: |
|||
<pre> |
|||
systemctl enable greenlight |
|||
systemctl start greenlight |
|||
</pre> |
|||
</li> |
|||
<li> |
|||
Now we will need to create an administrator account. |
|||
</li> |
</li> |
||
</ol> |
</ol> |
Revision as of 03:58, 14 March 2021
We run an instance of BigBlueButton at https://bbb.csclub.uwaterloo.ca. BigBlueButton is a free and open source videoconferencing platform with many features such as multi-user whiteboards, embedded videos, and interactive polls. You can check out some tutorial videos here.
Installation
BBB is currently running in an LXC container on xylitol. Here are the steps that were performed to install it.
Prerequisites
The container in which BBB is running should have:
- Ubuntu 16. This is the only Linux distro supported by BBB.
- A FQDN (bbb.csclub.uwaterloo.ca).
- A public IPv4 address (and optionally an IPv6 address).
- Firewall exceptions for TCP ports 80 and 443 and UDP ports 16384 - 32768.
- Ansible installed. This can be done via
apt install ansible
. - An SSL key pair. See SSL. In this tutorial they are called
csclub-wildcard-chain.crt
andcsclub-wildcard.key
.
Instructions
-
First we will setup the database. Login to coffee as the
postgres
user, runpsql
, then run the following:CREATE USER greenlight WITH PASSWORD 'replace_this_password'; CREATE DATABASE greenlight; ALTER DATABASE greenlight OWNER TO greenlight;
-
I wrote an Ansible playbook here which automates most of the setup
(steps adapted from here). This also takes care of installing Greenlight, which is the
web frontend for BBB.
Git clone the repo into a folder, say/root/ansible
. Take a look over the files and customize any values as you see fit. Once you are satisfied, runansible-playbook playbook.yml
. -
Once the playbook has finished, open
/opt/greenlight/.env
and set the value ofDB_PASSWORD
. -
Place copies of
csclub-wildcard-chain.crt
andcsclub-wildcard.key
in the directory/etc/nginx/ssl
. The key file must have permissions 0600. -
Restart BBB by running
bbb-conf --restart
. -
At some point you may need to run the
bundle
command as the greenlight user, especially if you are customizing Greenlight. Add the following to/opt/greenlight/.profile
:export PATH=$HOME/.gem/ruby/2.5.0/bin:$PATH export $(grep -v '^#' ~/.env) export RAILS_ENV=production export BUNDLE_APP_CONFIG=~/.bundle
This will allow you to run
bundle
after logging in as the greenlight user. -
Enable and run the systemd service for Greenlight:
systemctl enable greenlight systemctl start greenlight
- Now we will need to create an administrator account.