How to Install BigBlueButton on Ubuntu 20.04 Easily

0
Install BigBlueButton on Ubuntu 20

In this tutorial, I am not going to explain what is BigBlueButton, features of BigBlueButton, as I already explained in previous article. Today, I am going to share how to install BigBlueButton on Ubuntu 20.04 LTS with new functionalities or you can say newly added features of BigBlueButton 2.5 latest version. So let’s get started.

Before proceed to BigBlueButton installation on Ubuntu 20.04, Let’s discuss features added to the BigBlueButton Latest version.

BigBlueButton 2.5 Features(Newly Added)

  • You can capture current slide with your annotations.
  • Breakout rooms remember your previous rooms assignments within the current session.
  • Easily change the duration of a breakout rooms to a new time.
  • You can now pin a webcam so it always stays visible.
  • Improvements to Guest Lobby
  • Improvements to Endpoint API
  • Text message broadcasting to breakout rooms
  • Improved scaling of webcams and screenshare

Install BigBlueButton on Ubuntu 20.04 LTS

Before installing BigBlueButton or BBB, first you have to check the minimum server requirements. If you are not sure about number of core your server has, check server core by following command.

$ sudo grep -c ^processor /proc/cpuinfo

Recommended server requirements for installing BigBlueButton 2.5 for production are –

Recommended Server Requirements for Production (BigBlueButton)

  • Ubuntu 20.04 64-bit OS running Linux kernel 5.x
  • Latest version of docker installed
  • 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 server or reverse proxy
  • A hostname (such as bbb.example.com) for setup of a SSL certificate
  • IPV4 and IPV6 address

If you are just testing BigBlueButton or has very limited users, you can reduce the configuration.

Minimum Server Requirement for Development (BigBlueButton)

If you are setting up BigBlueButton for local development on your workstation, you can relax some of the above requirements as there will be very less users.

  • 4 CPU cores/8 GB of memory
  • Installation on a local VM container
  • 50G of disk space
  • IPV4 address only

Recommended Cloud Configuration for BigBlueButton Installation on Ubuntu 20.04

If you are going to install BigBluButton on Ubuntu 20 VM on Cloud server, you can follow the official recommendations to get best results. Try to choose dedicated CPU instance.

BigBlueButton installation recommendation cloud hosting wise –

  • AWS – c5a.2xlarge (or larger)
  • Digital Ocean – c-8 compute intensive instances (or larger)
  • Hetzner – AX51 servers or CCX32 instances.

All the installation need SSL certificate install during BigBlueButton installation on Ubuntu 20.04, regardless the environment is.

Pre-Installation Steps

Now, we have our Ubuntu Server ready for installation, you can install BBB on your Local machine also, but please make sure all the server requirements must be fulfilled. Map the domain name to the server IP and setup SSL.

Install BigBlueButton on Ubuntu 20.04 LTS

There are multiple ways to install BigBlueButton, but we are going to follow the simplest way, which is “Installation from the script”, I personally found this method is super easy. Let’s dive in then.

Step 1: Download the BigBlueButton latest Installer Script

In this step, we will download the installer script from the BBB repository. This script contains all the steps and commands which makes the installation process super easy. Download the installer script by running the following command.

$ wget -qO- https://ubuntu.bigbluebutton.org/bbb-install-2.5.sh | bash -s -- -v focal-250 -s bbb.example.com -e [email protected]  -a -w -g

-bbb.example.com - Replace with your subdomain or domain
-[email protected] - replace with your email address
-v - OS version
-e - email
-a - api demos
-w - firewall
-g - greenlight

Wait for command finishes.

Step 2: Check Installation Server Status

Run the following command to check the server status.

$ bbb-conf --check

You should see following output.

BigBlueButton Server 2.5.0-alpha.5 (135)
                      Kernel version: 5.4.0-97-generic
                        Distribution: Ubuntu 20.04.4 LTS (64-bit)
                              Memory: 16392 MB
                           CPU cores: 8

  /etc/bigbluebutton/bbb-web.properties (override for bbb-web)
  /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties (bbb-web)
         bigbluebutton.web.serverURL: https://bbb.example.com
                  defaultGuestPolicy: ALWAYS_ACCEPT
                   svgImagesRequired: true
                defaultMeetingLayout: SMART_LAYOUT

  /etc/nginx/sites-available/bigbluebutton (nginx)
                         server_name: bbb.example.com
                                port: 80, [::]:80
                                port: 443 ssl

  /opt/freeswitch/etc/freeswitch/vars.xml (FreeSWITCH)
                         local_ip_v4: 133.203.31.211
                     external_rtp_ip: 133.203.31.211
                     external_sip_ip: 133.203.31.211

  /opt/freeswitch/etc/freeswitch/sip_profiles/external.xml (FreeSWITCH)
                          ext-rtp-ip: $${local_ip_v4}
                          ext-sip-ip: $${local_ip_v4}
                          ws-binding: 133.203.31.211:5066
                         wss-binding: 133.203.31.211:7443

  /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback)
                       playback_host: bbb.example.com
                   playback_protocol: https
                              ffmpeg: 4.2.4-1ubuntu0.1

  /usr/share/bigbluebutton/nginx/sip.nginx (sip.nginx)
                          proxy_pass: 133.203.31.211
                            protocol: http

  /usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml (Kurento SFU)
  /etc/bigbluebutton/bbb-webrtc-sfu/production.yml (Kurento SFU - override)
                          kurento.ip: 133.203.31.211
                         kurento.url: ws://127.0.0.1:8888/kurento
                      kurento.sip_ip: 133.203.31.211
                 recordScreenSharing: true
                       recordWebcams: true
                    codec_video_main: VP8
                 codec_video_content: VP8

  /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml (HTML5 client)
  /etc/bigbluebutton/bbb-html5.yml (HTML5 client config override)
                               build: 19
                          kurentoUrl: wss://bbb.example.com/bbb-webrtc-sfu
                    enableListenOnly: true
                      sipjsHackViaWs: true

  /usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml (STUN Server)
                                stun: coturn8.example.com

Step 3: Check BigBlueButton Process

To make sure that all the BigBlueButton processes have started and are running, run the following command.

$ sudo bbb-conf --status

Step 4: Find Login Details and Secret Keys

Check BigBlueButton Installation details ( Login link and Secret keys), run the following command.

$ sudo bbb-conf --secret

Conclusion

Now you have learned to install BigBlueButton on Ubuntu 20.04 LTS. Launch the BigBlueButton server to start video classes for the students, host office meeting. On next article, we will cover basic customisation such as logo change, footer text change, welcome message change on BigBlueButton.

LEAVE A REPLY

Please enter your comment!
Please enter your name here