-
Notifications
You must be signed in to change notification settings - Fork 2
Install
How to install this package
See here for install instructions for version 2.7, which runs on Ubuntu 20 and is currently a pre-release.
-
Installation requirements
Ubuntu 18 is the only supported operating system.
One possible configuration uses an Amazon EC2 instance. Start an c5.2xlarge instance based on standard Ubuntu 18, as much disk space as you'd like (the system can't quite fit into the 8 GB default, so I often use 10 GB for testing), a fairly open security group (more so than the default which only allows ssh).
If you use Amazon EC2, you may want to enable hibernation, to suspend the server while it's not in use and reduce your bill. If you do so, hibernation must be selected when the instance is created.
I also run this system successfully on a rack-mount server (12 cores, 96 GB RAM) at my home using a broadband Internet link.
bigbluebutton.org recommends the following minimum requirements:
- 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 are accessible
- UDP ports 16384 - 32768 are accessible
- 250 Mbits/sec bandwidth (symmetrical) or more
- TCP port 80 and 443 are not in use by another web application or reverse proxy
- A hostname (such as bbb.example.com) for setup of a SSL certificate
- Dedicated (bare metal) hardware
-
Configure DNS
All major web browsers limit WebRTC audio and video connections to SSL-enabled sites.
While the Big Blue Button install script can automatically obtain an SSL certificate for you, it can not provision a DNS name and ensure that it points to your server.
It is important to complete this step before running the install script, or the script will fail when it attempts to obtain an SSL certificate.
See here for more information about this step.
-
Install Big Blue Button
Use a current copy of the
bbb-install
script. It's under active development, so I recommend against saving a copy locally. In particular, you'll need the version from my github repository instead of the standard version from bigbluebutton.org.Download and run bbb-install, something like this:
wget -O- -q https://raw.githubusercontent.com/BrentBaccala/bbb-install/master/bbb-install.sh | sudo bash -s -- -v bionic-240 -r www.freesoft.org -w -s YOUR-SITE-NAME -e YOUR-EMAIL
The install script has a help function that explains its options.
At the end of the install process, you'll currently get a warning message like this:
Kurento will try to connect to 54.198.243.151 but FreeSWITCH is listening on 127.0.0.1 for port 5066
Ignore this. This is a known bug that currently prevents use of the "Listen Only" mode in the video conference.
-
Configure authentication into Big Blue Button
There are several ways to do this.
-
I recommend the
bbb-auth-jwt
package, installed like this:sudo apt install bbb-auth-jwt
Now only users with links generated by the
bbb-mklogin
script can use the system.For example,
bbb-mklogin -e "March 1 2021" -m "Brent Baccala"
will print a login link. The-e
option sets the link's expiration date, so pick a date in the future and don't useMarch 1 2021
!Check to make sure that the hostname used in the URL is the same as your DNS name.
Since the
bbb-vnc-collaborate
package gives UNIX accounts out to Big Blue Button users, this approach provides the greatest control. -
An alternative is Greenlight, BigBlueButton's standard front end, which can be installed by adding a
-g
switch to the bbb-install.sh call above. Check the Greenlight documentation for more information about what to do next (like adding users). The default Greenlight configuration allows anybody to sign up as a user, so Greenlight probably isn't what you want if usingbbb-vnc-collaborate
.Incidentally, you can re-run the install script with altered switches (like
-g
) without harm.
-
-
Install one or the other of the VNC services
-
sudo apt install bbb-vnc-collaborate
This is the flagship product, designed for classroom use where each student gets a UNIX account and remote desktop, and the teacher can view and interact with all of the student desktops.
All the students get different desktops, and the teachers can work on any desktop.
At this time, UNIX only
-
sudo apt install bbb-wss-proxy
This is a simple proxy that allows connections to existing VNC servers without giving out UNIX user accounts.
Everybody shares a single desktop, but the teacher can control who can work on it and who can only view it.
Works with any VNC server
You can install both, since they listen on two different URLs.
-
-
You can set a default remote desktop URL in
/etc/bigbluebutton/bbb-html5.yml
, that will appear as a suggestion to the user when they attempt to share a desktop. For example, something like this is appropriate if you're usingbbb-vnc-collaborate
:public: remoteDesktop: startLocked: false defaultUrl: wss://collaborate.freesoft.org/vnc
-
You can configure your remote desktops how you'd like. If you want a GNOME desktop configured to be familiar to Windows users (toolbar on the bottom; an Application menu on the lower left), run:
sudo apt install freesoft-gnome-desktop
-
Since the desktops will appear as a panel within a web page, I also suggest using a lower resolution desktop than the 1900x1200 default in the vnc package, perhaps 800x600:
sudo sed -i -E '/^.geometry/s/[0-9]+x[0-9]+/800x600/' /etc/vnc.conf
-
At this point, the remote desktops should be working. See the usage instructions for bbb-vnc-collaborate and/or bbb-wss-proxy. You also might want to look at instructions for sharing a local desktop.
-
Drop me a line at
[email protected]
.In particular, I'm changing the design of the scripts fairly frequently right now (February 2021), so let me know so I can let you know when these instructions change.
Finally, here's a video walk-through of the installation process on an Amazon EC2 instance: