How To Install BigBlueButton on Ubuntu 20.04 (Virtual Classroom)

How To Install BigBlueButton on Ubuntu 20.04 (Open Source Virtual Classroom). Learning and teaching can be challenging tasks for many. BigBlueButton is an open source web conferencing system with a single codebase that runs on all popular platforms.

The Web Conferencing system is a free and open source tool that offers online meetings for individuals and groups. In this article, we will introduce BigBlueButton, its features and benefits and then we will move on to its installation process on Ubuntu 20.04.

What is BigBlueButton

BigBlueButton is an virtual classroom that is based on the popular and widely used open-source project called WebRTC. Its name comes from its large display area (a big blue button), which turns any computer into a web conferencing station with push-to-talk voice chat and screen sharing with just one click.

It brings together the best of video conferencing, real time chat, polling and interactive whiteboard capabilities and makes it easy for you to create and deliver online video conferencing and virtual classroom experiences. It’s out of the box ready to go, or you can customize it with plugins.

This software provides you with everything needed to share audio, video and desktop content with others on their web browser while giving instructors a new set of tools such as screen sharing and whiteboarding, shared documents and presentations, collaborative software tools, and embedded quizzes, etc. 

BigBlueButton is designed for use in formal or informal learning tools, as an alternative way and is currently used by thousands of organizations and individuals around the world. It runs on Linux, Mac OS X, and Windows.

Features of BigBlueButton

BigBlueButton has it all and the following feature list proves it.

  • Basic Features of audio and video conferencing and recordings, screen sharing, etc.
  • Pre meeting Tools like Event calendar, scheduling, etc.
  • Reports with an activity dashboard.
  • Interactive Features through instant messaging and private chat.
  • Conference Management manages meetings, events and attendees.
  • Conferencing Modes like video calls in full HD, video lectures and virtual meetings.
  • Customization options of websites like WordPress and Moodle integration.
  • Slideshows and discussion boards that enrich Content.
  • Advanced Features like video recording or on-demand webcasting.

Benefits of BigBlueButton

BigBlueButton provides its users the following benefits:

  • It is built on top of open-source collaboration projects like FreeSWITCH, Redis, Akka, and others, so it is best for e-learning and training. 
  • It allows for numerous customizations and integrations as per the need of your user. 
  • It offers real-time sharing of slides, audio, video, chats, emojis, and screen.
  • You can also record the content for later playback, which is highly convenient.
  • You can even access and manage the recordings through BigBlueButton configurations within your WordPress or Moodle site. 
  • It can create multiple links for activities in the online session/video conference and restrict the entry of students before the moderator joins.

Follow this post to learn how to install BigBlueButton on Ubuntu 20.04.

How To Install BigBlueButton on Ubuntu 20.04 (Open Source Virtual Classroom)

Before we dive into BigBlueButton installation, we need to make sure minimum server requirements are met. We highly recommend that you start with the fresh Ubuntu installation and make it a dedicated server. It means that this Ubuntu machine should be used exclusively as a BigBlueButton server.

Check Linux Kernel and Ubuntu Version

The first requirement is that your Ubuntu system has Linux kernel 5.x. You can check this by running the following command.

				
					 uname -r
				
			

The output should be something like this.

				
					5.x.x-xx-generic
				
			

Make sure that the Ubuntu server is a 64-bit version.

				
					 uname -m
				
			

You should get an output like this:

				
					x86_64
				
			

Check and Update Server Locale

Next, you need to make sure your locale of the server is set to en_US.UTF-8.

				
					sudo cat /etc/default/locale
				
			

Output:

				
					LANG="en_US.UTF-8"
				
			

If the LANG variable is not set to en_US.UTF-8, change it using the following commands.

				
					sudo apt-get install -y language-pack-en
sudo update-locale LANG=en_US.UTF-8

				
			

Run the cat /etc/default/locale command to verify the change.

Check for Memory

Now, run the following command to ensure you have at least 15G memory that is required to run your server smoothly.

You will get the following output, make sure the total memory is at least 15G.

 

				
					free -h
				
			
				
					              
    Output:           total        used free      shared  buff/cache   available
Mem:            16G        3.4G        1.0G        305M         10G         13G
Swap:            0B          0B          0B


				
			

Check for IPV6 Support

It is also necessary for your system to support the IPV6 addressing scheme.

It is also necessary for your system to support the IPV6 addressing scheme.

				
					sudo ip addr | grep inet6
				
			

Output:

				
					inet6 ::1/128 scope host
				
			

Check Server Cores

Finally, check if your server has at least 8 cores to provide efficient functionality.

				
					sudo grep -c ^processor /proc/cpuinfo
				
			

Improve Entropy in the Virtual Server

If you are installing this server on the Virtual server, improve its components like Tomcat with the following command.

				
					sudo apt install -y haveged
				
			

Output:

				
					Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following additional packages will be installed:
 libhavege1
...
				
			

Once you have made sure your system has no issue that can hinder the installation or functionality of the BigBlueButton server, we can then move on to its installation process.

Install BigBlueButton on Ubuntu 20.04

To install BigBlueButton on Ubuntu 20.04, you need to use the bbb-install-2.5.sh script.

Run the following command with your domain-name/hostname and email address to install it on the system.

				
					wget -qO- https://ubuntu.bigbluebutton.org/bbb-install-2.5.sh | sudo bash -s -- -v focal-250 -s hostname -e email  -a -w -g
				
			

The -v focal-250 option ensures that you install the latest version of BigBlueButton 2.5. The -a option will install API demos alongside the normal installation.

The -w option will install the firewall and -g will install the Greenlight which is a simple to use interface for the BigBlueButton.

This command will take a relatively long time to run but it will install and configure all dependent packages like MongoDBApache, Greenlight, Nginx, etc. and resolve all the dependencies issues by itself.

Restart BigBlueButton Server

Once BigBlueButton 2.5 is installed on your system, restart the server using the following command.

				
					bbb-conf --restart
				
			

This command will generate the following output.

				
					Restarting BigBlueButton 2.5.0-rc.4 ...
Stopping BigBlueButton
Starting BigBlueButton


** Potential problems described below **
.........

				
			

Check BigBlueButton Server Status

You can check the server status with the following command.

				
					sudo bbb-conf --status
				
			

In the output, you will see all the processes in the server and their status.

				
					nginx —————————————————► [✔ - active]
freeswitch ————————————► [✔ - active]
redis-server ——————————► [✔ - active]
bbb-apps-akka —————————► [✔ - active]
bbb-fsesl-akka ————————► [✔ - active]
tomcat9 ———————————————► [✔ - active]
mongod ————————————————► [✔ - active]
bbb-html5 —————————————► [✔ - active]
bbb-webrtc-sfu ————————► [✔ - active]
kurento-media-server ——► [✔ - active]
bbb-html5-backend@1 ———► [✔ - active]
bbb-html5-backend@2 ———► [✔ - active]
bbb-html5-frontend@1 ——► [✔ - active]
bbb-html5-frontend@2 ——► [✔ - active]
etherpad ——————————————► [✔ - active]
bbb-web ———————————————► [✔ - active]
bbb-pads ——————————————► [✔ - active]
				
			

Or you can see all the server components and packages with the command below.

				
					dpkg -l | grep bbb-
				
			
				
					ii  bbb-apps-akka               2.5-12     all    BigBlueButton Apps (Akka)
ii  bbb-config                  1:2.5-25   amd64  BigBlueButton configuration utilities
ii  bbb-demo                    1:2.5-10   amd64  BigBlueButton API demos
ii  bbb-etherpad                1:2.5-6    amd64  The EtherPad Lite components for BigBlueButton
ii  bbb-freeswitch-core         2:2.5-8    amd64  BigBlueButton build of FreeSWITCH
ii  bbb-freeswitch-sounds       1:2.5-5    amd64  FreeSWITCH Sounds
ii  bbb-fsesl-akka              2.5-11     all    BigBlueButton FS-ESL (Akka)
ii  bbb-html5                   1:2.5-19   amd64  The HTML5 components for BigBlueButton
ii  bbb-learning-dashboard      1:2.5-6    amd64  BigBlueButton bbb-learning-dashboard
ii  bbb-libreoffice-docker      1:2.5-4    amd64  BigBlueButton setup for LibreOffice running in docker
ii  bbb-mkclean                 1:2.5-5    amd64  Clean and optimize Matroska and WebM files
ii  bbb-pads                    1:2.5-3    amd64  BigBlueButton Pads
ii  bbb-playback                1:2.5-4    amd64  BigBlueButton playback
ii  bbb-playback-presentation   1:2.5-7    amd64  BigBluebutton playback of presentation
ii  bbb-record-core             1:2.5-8    amd64  BigBlueButton record and playback
ii  bbb-web                     1:2.5-18   amd64  BigBlueButton API
ii  bbb-webrtc-sfu              1:2.5-14   amd64  BigBlueButton WebRTC SFU
				
			

If you want to see the status and all the configurations, run the following command.

				
					bbb-conf --check
				
			

The output will give you the most extensive summary of all the configurations.

				
					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 
…

				
			

Also, you will be given links to the API demos in the output, you can open this link in the browser and enjoy the free demo of the BigBlueButton server.

				
					# Warning: The API demos are installed and accessible from:
  #
  #    https://bbb.example.com
  #
  # and
  #
  #    https://bbb.example.com/demo/demo1.jsp
				
			

Just enter your name and click on Join.

It will take you to a demo meeting and proceed to mic and audio checks.

That’s it for the installation.

Great effort! We have gone through all the stages of how to Install BigBlueButton on Ubuntu 20.04. Let’s summarize.

How To Install BigBlueButton on Ubuntu 20.04 Conclusion

In this guide, we have shown you can install BigBlueButton on Ubuntu 20.04. It is an online meeting and learning platform that allows users to host video meetings, record sessions for review later and run screen sharing on large audiences.

It’s free, open-source software (FOSS) that anyone can use for free with no limits or restrictions. If you are interested in other solutions like this, explore our content on video conferencing including Jitsi.

Avatar for Sobia Arshad
Sobia Arshad

Information Security professional with 4+ years of experience. I am interested in learning about new technologies and loves working with all kinds of infrastructures.

0 0 votes
Article Rating
Subscribe
Notify of
0 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x