By Sajid Qureshi, Alibaba Community Blog author
In this tutorial, you'll learn how to install BigBlueButoon on Alibaba Cloud. BigBlueButton, or BBB for short, is a 100% free and open-source web conferencing tool, and is a good choice for teachers who need to reach students in remote locations.
The tool comes equipped with some amazing features like real-time audio and video sharing, as well as presentation and screen sharing. Other features include public and private chats, multi-user interactive whiteboards, shared notes, polling, digital breakout rooms, and after-the-fact playback.
BigBlueButton is also pretty convenient to use. You can easily integrate it as a plugin with various online learning platforms like WordPress, and Moodle. In this tutorial, I'll show you how you can use BigBlueButton to its fullest potential.
For this tutorial, you'll need the following items:
Before installing BigBlueButton, you'll first need to do some configuration checks as well as set up your server to meet the minimum requirements. First, check the locale of the server, in particular whether it is at en_US.UTF-8
or not. You can do so using the sudo cat /etc/default/locale
command. You should see an output that looks like this:
Welcome to Alibaba Cloud Elastic Compute Service !
Last login: Sun Jun 23 12:58:25 2019
root@Sajid:~# sudo cat /etc/default/locale
# Created by cloud-init v. 0.7.6a12 on Sun, 23 Jun 2019 04:56:24 +0000
LANG="en_US.UTF-8"
If in case it is not en_US.UTF-8
, then you'll need to change it to en_US.UTF-8
. To do so, run the following commands, and they'll do the job for you.
sudo apt-get install language-pack-en
sudo update-locale LANG=en_US.UTF-8
If you are planning to install it on a virtual server then you'll also need to improve the entropy of other components. Here, we will be installing haveged
package, which is an entropy daemon. Run the sudo apt-get install haveged
command to do so.
For this tutorial, we recommend that you to upgrade all the available packages before installing any new package. To update the system, run the sudo apt-get update
command.
Once the system gets updated, you'll need to check the 'multiverse' repository located at /etc/apt/sources.list
. You can do so by running the grep "multiverse" /etc/apt/sources.list
command. If it's available, then you should see this below-given output.
deb http://archive.ubuntu.com/ubuntu xenial multiverse
OR
deb http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse
If in case you don't have the 'multiverse' repository, then you can add it by running the following command:
echo "deb http://archive.ubuntu.com/ubuntu/ xenial multiverse" | sudo tee -a /etc/apt/sources.list
Next, you'll need to add the BigBlueButton key to your server so that you can install BigBlueButoom. You can do so using the following command.
sudo wget https://ubuntu.bigbluebutton.org/repo/bigbluebutton.asc -O- | sudo apt-key add -
Then, once you added the public key, you will have to specify the URL of the BigBlueButtom package to download. Configure the package repository with the following command.
echo "deb https://ubuntu.bigbluebutton.org/xenial-200/ bigbluebutton-xenial main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list
Update your server using the sudo apt-get update
command. After that, you'll be ready to install BigBlueButton with all of its components. Run the sudo apt-get install bigbluebutton
command. This command will automatically install BigBlueButton and its components with their required dependencies. After installation, you will be asked to accept the End-User Licence Agreement (EULA). Type Y, and then click the ENTER button to proceed. The system may take some time to load after this step.
Note: During installation process, you may see an error like this one: "Failure to download extra data files" for the
ttf-mscorefonts-installer
package. This is a known issue with the operating system Ubuntu 16.04. You can ignore this error. It won't affect your installation.
Once the installation is complete, you will need to restart your BigBlueButton install server using the sudo bbb-conf --restart
command. Then, you'll want to check that the BigBlueButton configuration. To do so, double-check that there are no potential errors that may have cause problems when running. You can do so using the sudo bbb-conf --check
command. You should see an output that looks something like the one shown here:
BigBlueButton Server 2.0.0-RC1 (1414)
Kernel version: 4.4.0-1060-server
Distribution: Ubuntu 16.04.4 LTS (64-bit)
Memory: 7814 MB
/var/www/bigbluebutton/client/conf/config.xml (bbb-client)
Port test (tunnel): rtmp://example.bigbluebutton.com.com
red5: example.bigbluebutton.com
useWebrtcIfAvailable: true
/opt/freeswitch/etc/freeswitch/sip_profiles/external.xml (FreeSWITCH)
websocket: 52.201.248.115:7443
WebRTC enabled: true
/etc/nginx/sites-available/bigbluebutton (nginx)
server name: example.bigbluebutton.com
port: 80, [::]:80, [::]:443
port: 443 ssl
bbb-client dir: /var/www/bigbluebutton
/var/lib/tomcat7/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties (bbb-web)
bbb-web host: example.bigbluebutton.com
/var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp (API demos)
url: example.bigbluebutton.com
/usr/share/red5/webapps/bigbluebutton/WEB-INF/red5-web.xml (red5)
voice conference: FreeSWITCH
/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback)
playback host: example.bigbluebutton.com
ffmpeg: 4.0.1-0york0~16.04
** Potential problems described below **
To access the BigBlueButton demo page, you'll need to install the API demos. API demos are a set of Java Server Pages (JSP) that implement a web-based interface to test the BigBlueButton API. You can install API demos using the sudo apt-get install bbb-demo
command.
We recommend that you also install self-check utility service for BigBlueButton so that it will be easier to investigate any networking and configuration issues. You can install the bbb self-check service using the following command.sudo apt-get install bbb-check
Next, let's check the configuration again using the following command:
sudo bbb-conf --restart && sudo bbb-conf --check
You should see an output, which looks similar to this:
BigBlueButton Server 2.0.0-RCX (NNNN)
Kernel version: 4.4.0-1060-server
Distribution: Ubuntu 16.04.4 LTS (64-bit)
Memory: 7814 MB
/var/www/bigbluebutton/client/conf/config.xml (bbb-client)
Port test (tunnel): rtmp://example.bigbluebutton.com.com
red5: example.bigbluebutton.com
useWebrtcIfAvailable: true
/opt/freeswitch/etc/freeswitch/sip_profiles/external.xml (FreeSWITCH)
websocket: 52.201.248.115:7443
WebRTC enabled: true
/etc/nginx/sites-available/bigbluebutton (nginx)
server name: example.bigbluebutton.com
port: 80, [::]:80, [::]:443
port: 443 ssl
bbb-client dir: /var/www/bigbluebutton
/var/lib/tomcat7/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties (bbb-web)
bbb-web host: example.bigbluebutton.com
/var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp (API demos)
url: example.bigbluebutton.com
/usr/share/red5/webapps/bigbluebutton/WEB-INF/red5-web.xml (red5)
voice conference: FreeSWITCH
/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback)
playback host: example.bigbluebutton.com
ffmpeg: 4.0.1-0york0~16.04
** Potential problems described below **
# Warning: The API demos are installed and accessible from:
#
# https://demo.bigbluebutton.org/demo/demo1.jsp
#
# These API demos allow anyone to access your server without authentication
# to create/manage meetings and recordings. They are for testing purposes only.
# If you are running a production system, remove them by running:
#
# sudo apt-get purge bbb-demo
Now that you have successfully installed and configured BigBlueButton on your server, you'll need to obtain an SSL certificate for security purpose. You can purchase an SSL certificate from Alibaba Cloud. Alternatively, you can obtain a free SSL certificate using Let's Encrypt. However, it's important to note that this free one will only last for a few days. To install the Let's Encrypt configuration tool, you can use the sudo apt-get install letsencrypt
command.
It's recommended that you harden the security of some type of ciphers. You will need to generate a set of 2048-bit diffie-hellman parameters using the following commands.
sudo mkdir /etc/nginx/ssl
openssl dhparam -out /etc/nginx/ssl/dhp-2048.pem 2048
Next, you'll need to configure BigBlueButton to use your domain name to obtain the certificate. Run the sudo bbb-conf --setip YourDomain.com
command to configure the BigBlueButton server with your hostname. For this command, note that you'll need to replace YourDomain.com
with your actual hostname.
After that's complete, run the following command to request a SSL certificate from Let's Encrypt. As before, you'll need to replace the YourDomain.com
with your actual domain name.
sudo letsencrypt --webroot -w /var/www/bigbluebutton-default/ -d YourDomain.com certonly
You should see the following output in your terminal.
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/bigbluebutton.example.com/fullchain.pem. Your cert will
expire on 20XX-YY-ZZ. To obtain a new version of the certificate in
the future, simply run Let's Encrypt again.
- If you like Let's Encrypt, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Next, you'll need to modify the NGINX configuration file by using a text editor. Here, I'm using nano
text editor. You can also install it using the apt-get install nano
command. To modify the NGINX configuration file using the following command.
sudo nano /etc/nginx/sites-available/bigbluebutton
Then, add the following content into the file. Again, as before, you'll want to replace YourDomain.com
with your actual domain.
server {
server_name bigbluebutton.example.com;
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate /etc/letsencrypt/live/YourDomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/YourDomain.com/privkey.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS:!AES256";
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/ssl/dhp-2048.pem;
Once complete, save and close the file.
So now, you've installed and configured the BigBlueButton with its other components, so now you can access it through the web. You can do so by opening up your favorite web browser and visiting the address http://YourDomain.com
or http://YourServerIP
. You should see the welcome webpage of BigBlueButton on the page you open.
In this tutorial, you have learned how to install and configure BigBlueButton on Alibaba Cloud. You also learned how to generate an SSL certificate using Let's Encrypt. You can integrate this install of BigBlueButton with almost all of the web-based training tools. I hope that now you have enough knowledge to work with BigBlueButton.
2,599 posts | 762 followers
FollowAlibaba Clouder - November 27, 2018
Alibaba Clouder - July 5, 2019
Alibaba Clouder - November 21, 2019
Alibaba Clouder - July 5, 2019
Alibaba Clouder - January 9, 2020
Alibaba Clouder - November 22, 2018
Please update docs for bigbluebutton on server cloud ali babawith firewall NATThanks
2,599 posts | 762 followers
FollowTranscode multimedia data into media files in various resolutions, bitrates, and formats that are suitable for playback on PCs, TVs, and mobile devices.
Learn MoreAn all-in-one VOD solution
Learn MoreExplore how our Web Hosting solutions help small and medium sized companies power their websites and online businesses.
Learn MoreExplore Web Hosting solutions that can power your personal website or empower your online business.
Learn MoreMore Posts by Alibaba Clouder
5586489721921421 May 22, 2020 at 2:53 pm
Please remove this article this installation process is older than dinosaur era, do not write article just for sake of writing, it does not work on alibaba cloud ubuntu 16.04