Skip to content

Deploy With BBB

daronco edited this page Sep 26, 2014 · 2 revisions

Note: This is kept here for internal documentation only, but it is not recommended to be used and is probably outdated!

Mconf-Web with BigBlueButton

You can setup a Mconf-Web server in the same machine that already has BigBlueButton. This page contains some considerations about it. You have to be careful choosing the web server you will use for Mconf-Web. You can use either Apache (recommended) or Nginx.

Also, in this page we provide some tips on how to configure Mconf-Web to use the local BigBlueButton installation.

Use Mconf-Web with Apache and BigBlueButton with Nginx (recommended)

This is the default solution, and requires just a few configurations on both web servers. You'll need to change the port used by BigBlueButton, since Mconf-Web will use the port 80.

You can install Mconf-Web following our deployment guide.

Then disable any nginx website that might be answering in the port 80 and set BigBlueButton to answer in a different port:

sudo rm /etc/nginx/sites-enabled/default     # Disable the default config in nginx that uses the port 80
sudo bbb-conf --setip $IP:$PORT              # Tell BBB to respond in another port

Replace $IP with your machine's IP and $PORT with the port you want for BigBlueButton

BigBlueButton should respond in a port different than 80, since Mconf-Web will use the port 80. By default our script changes its port to 8888, but you can use another one if you want to. Be aware that remote users accessing BigBlueButton from behind a firewall can no longer tunnel through port 80 to BigBlueButton. See more about it in the BigBlueButton FAQ.

Use both applications with Nginx

Mconf-Web uses the gem Passenger, that's used to serve Rails applications. To run Passenger with Nginx, you need a compiled version of Nginx that has the Passenger module enabled. Since BigBlueButton uses a packaged version of Nginx, we cannot serve Mconf-Web with Passenger using this same version.

There are two options we know of to solve this:

  • Use Thin instead of Passenger:

    • Thin doesn't need to compile Nginx to use it, so you can use Thin with the packaged version of Nginx.
    • This page has some tips on how to use Thin and Nginx.
  • Install the Passenger-enabled Nginx on top of the packaged Nginx. And then configure Nginx to run both Mconf-Web and BigBlueButton:

    • Take a look at this page to know how to install Nginx using Passenger.
    • The packaged version of Nginx is installed at /etc/nginx/, so install the new version in this same place.

Configuring Mconf-Web to use the local BigBlueButton

When configuring Mconf-Web there are some parameters you'll need to change to configure Mconf-Web to use a BigBlueButton installation that's in the same machine.

At first, if you're using MySQL (it is used by default for Mconf-Web in production) you'll need to set the root password:

mysqladmin -u root -p password $PASSWORD  # Change "PASSWORD" for the real password

Then, configure Mconf-Web with the following parameters (note: replace the red texts with proper values for your server):

  • GENERAL configurations:
    • bbb_server_url: your server's API URL in the format "http://SERVER_IP:8888/bigbluebutton/api"
    • bbb_server_salt: the salt of your BBB server
    • bbb_server_version: the version of your BBB server
  • DATABASE configurations:
    • username: root
    • password: the password you configured for the root user in MySQL
  • DEPLOYMENT configurations:
    • server: 127.0.0.1
    • user: firstuser

If you're configuring manually, these parameters are in the files config/setup_conf.yml and config/deploy/conf.yml in your development environment.