Skip to main content

Install BigBlueButton on Alibaba Cloud

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.


Prerequisites
For this tutorial, you'll need the following items:

You must have an Alibaba Cloud Elastic Compute Service (ECS) instance activated, and have verified a valid payment method. If you are new to Alibaba Cloud, you can get a free account. If you don't know how to set up your ECS instance, you can refer to this tutorial or this quick-start guide. Note that, for this tutorial, your ECS instance must have at least 4GB RAM.

A domain name registered from Alibaba Cloud. If you have already registered a domain from Alibaba Cloud or any other host, you can update its domain nameserver records.

A sudo user.

Setting up Your Server
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.

Update the System
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.



Install BigBlueButton
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.
1

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 **
Install API demos
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
Configure SSL Certificates
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.

Web Interface
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.

Conclusion
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.

Reach me here, will discuss with video meeting and start it.

call or whatsapp or facetime: +91-9015079893
lalityadavswd@gmail.com
Meet me On Skype: lalit.yadavswd
https://www.facebook.com/lalityadavswd
https://www.linkedin.com/in/lalityadavswd/
https://www.fiverr.com/lalityadavswd1

Comments

Popular posts from this blog

Tappay payment gateway integration woocommerce

TapPay  offers fast  payment  flow integration, allowing your customers to  pay  with a click of a button instead of redirecting to other websites, in this article you will see how you can integrate  Tappay payment gateway with woocommerce . how you get  Tappay payment gateway woocommerce module and integrate it. When it comes to data security,  TapPay is also very safe and reliable . TapPay provides friendly and flexible payment service, which allows citiesocial users to enjoy wonderful shopping experience.It has a significant impact on improving e-commerce conversion rate and lower operation cost. Tappay payment gateway integration woocommerce Tappay payment gateway integration woocommerce Integrated Payments Exclusive Cross-site modules for seamless checkout experiences Tokenized card management, Card-Free experience and self-updating card expiration dates TapPay is compatible with multiple payment method and E-wallet, including Apple Pay / Goo...

Parasut Accounting & Invoicing integration with woocommerce

Parasut Accounting & Invoicing integration with woocommerce  Parasut is a cloud-based finance management application for Small Business Owners in Turkey. Please use Paraşüt mobile application alongside the web application to benefit from all features.  Paraşüt Accounting & Invoicing integration with woocommerce is useful for automation and fast process stop manual creating invoice will save time and efforts. Why e-Invoice with Parasut ? Manage your application processes with our e-invoice transition consultant.  Switch to e-invoice within 30 minutes* without leaving your seat. Parasut Accounting & Invoicing integration with woocommerce Use it at Affordable Prices Get rid of fees such as integration and training fees.  Send e-invoices with affordable e-top-up prices. Integrated Pre-Accounting When using e-document services with Paraşüt, manage your financial data from anywhere thanks to the features that will allow you to manage your preliminary accounting...

BARCLAYCARD EPDQ payment gateway integration woocommerce

  WordPress WooCommerce Barclaycard ePDQ Payment Plugin supports the Hidden Authorisation. The Hidden Authorisation gives you the advantage that customers no longer have to leave your shop in order to enter their credit card data. The processing occurs unnoticed in the background between WordPress WooCommerce and Barclaycard ePDQ. No credit card data is saved. Requires PCI DSS SAQ A-EP Certification. In addition to Hidden Authorization, other authorization methods that are fully PCI DSS compliant (Payment Page, Widget, Iframe, etc.) are also supported. A detailed list of supported features can be found below. BARCLAYCARD EPDQ payment gateway integration woocommerce BARCLAYCARD EPDQ payment gateway integration woocommerce main points Compatibility with Barclaycard ePDQ (essential, extra, or extra plus) The ability to process refunds directly in your WooCommerce admin panel Secure 3D Secure v2 authentication PSD2 & SCA compliance A setup wizard to guide you through the integratio...