Lewati ke isi

Instal BigBlueButton (BBB) pada Ubuntu 16.04

Ada 2 metode dalam melakukan instalasi BBB:

  1. Manual, langkah demi langkah
  2. Otomatis, menggunakan skrip

Berikut pembahasannya

Manual

Persiapan

#!/bin/bash
set -eux
# 
apt-get install -y language-pack-en
update-locale LANG=en_US.UTF-8
systemctl show-environment
free -h
cat /etc/lsb-release
uname -m
ip addr | grep inet6
uname -r
cat /proc/cpuinfo | awk '/^processor/{print $3}' | wc -l

Proses

#!/bin/bash
set -eux
#
grep "multiverse" /etc/apt/sources.list
# 
add-apt-repository -y ppa:bigbluebutton/support
add-apt-repository -y ppa:rmescandon/yq
apt-get update
apt-get dist-upgrade
# repo MongoDB & NodeJS
wget -qO - https://www.mongodb.org/static/pgp/server-3.4.asc | apt-key add -
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.4.list
apt-get update
apt-get install -y mongodb-org curl
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
apt-get install -y nodejs
# repo BigBlueButton
wget https://ubuntu.bigbluebutton.org/repo/bigbluebutton.asc -O- | apt-key add -
echo "deb https://ubuntu.bigbluebutton.org/xenial-22/ bigbluebutton-xenial main" | tee /etc/apt/sources.list.d/bigbluebutton.list
apt-get update
apt-get install -y bigbluebutton
apt-get install -y bbb-html5
# 
apt-get dist-upgrade
bbb-conf --restart
bbb-conf --check
bbb-conf --status
bbb-conf --secret
# demo
apt-get install -y bbb-demo
apt-get remove -y bbb-demo

Penyelesaian

#!/bin/bash
set -eux
# variable
INSTANCE_FQDN="sintas.proxsis.co.id"
SSL_EMAIL="[email protected]"

# 
bbb-conf --setip $INSTANCE_FQDN
# 
apt-get update
apt-get install -y software-properties-common
add-apt-repository -y universe
add-apt-repository -y ppa:certbot/certbot
apt-get install -y certbot
# 
mkdir -p /etc/nginx/ssl
openssl dhparam -out /etc/nginx/ssl/dhp-4096.pem 4096
# 
certbot --webroot -w /var/www/bigbluebutton-default/ -n --agree-tos -m $SSL_EMAIL -d $INSTANCE_FQDN certonly

nano /etc/nginx/sites-available/bigbluebutton

server {
    server_name $INSTANCE_FQDN;
    listen 80;
    listen [::]:80;
    listen 443 ssl;
    listen [::]:443 ssl;
    ssl_certificate /etc/letsencrypt/live/$INSTANCE_FQDN/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/$INSTANCE_FQDN/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-4096.pem;

nano /etc/bigbluebutton/nginx/sip.nginx

location /ws {
  proxy_pass https://203.0.113.1:7443;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "Upgrade";
  proxy_read_timeout 6h;
  proxy_send_timeout 6h;
  client_body_timeout 6h;
  send_timeout 6h;
}

nano /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties

#----------------------------------------------------
# This URL is where the BBB client is accessible. When a user successfully
# enters a name and password, she is redirected here to load the client.
bigbluebutton.web.serverURL=https://$INSTANCE_FQDN

nano /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties

streamBaseUrl=rtmp://bigbluebutton.example.com/screenshare
jnlpUrl=https://$INSTANCE_FQDN/screenshare
jnlpFile=https://$INSTANCE_FQDN/screenshare/screenshare.jnlp

sed -e 's|http://|https://|g' -i /var/www/bigbluebutton/client/conf/config.xml

nano /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml

kurento:
    wsUrl: wss://$INSTANCE_FQDN/bbb-webrtc-sfu
note:
    enabled: true
    url: https://bbb.example.com/pad

nano /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml

playback_protocol: https

bbb-conf --restart

nano /var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp

String BigBlueButtonURL = "https://bigbluebutton.example.com/bigbluebutton/";

Otomatis

Tahapaannya adalah sebagai berikut:

  1. Menyiapkan peladen TURN, dengan spesifikasi minimal 1c1gb
  2. Instalasi peladen BBB terhubung ke TURN, dengan spesifikasi minimal 4c8gb

Persiapan

# lihat terlebih dahulu panduan dan parameter yang dapat digunakan
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -h
Script for installing a BigBlueButton 2.2 (or later) server in about 15 minutes.

This script also supports installation of a coturn (TURN) server on a separate server.

USAGE:
    wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- [OPTIONS]

OPTIONS (install BigBlueButton):

  -v <version>           Install given version of BigBlueButton (e.g. 'xenial-220') (required)

  -s <hostname>          Configure server with <hostname>
  -e <email>             Email for Let's Encrypt certbot
  -x                     Use Let's Encrypt certbot with manual dns challenges
  -a                     Install BBB API demos
  -g                     Install Greenlight
  -c <hostname>:<secret> Configure with coturn server at <hostname> using <secret>

  -m <link_path>         Create a Symbolic link from /var/bigbluebutton to <link_path> 

  -p <host>              Use apt-get proxy at <host>
  -r <host>              Use alternative apt repository (such as packages-eu.bigbluebutton.org)

  -d                     Skip SSL certificates request (use provided certificates from mounted volume)

  -h                     Print help

OPTIONS (install coturn only):

  -c <hostname>:<secret> Setup a coturn server with <hostname> and <secret> (required)
  -e <email>             Configure email for Let's Encrypt certbot (required)

OPTIONS (install Let's Encrypt certificate only):

  -s <hostname>          Configure server with <hostname> (required)
  -e <email>             Configure email for Let's Encrypt certbot (required)
  -l                     Install Let's Encrypt certificate (required)
  -x                     Use Let's Encrypt certbot with manual dns challenges (optional)


EXAMPLES:

Sample options for setup a BigBlueButton server

    -v xenial-220
    -v xenial-220 -s bbb.example.com -e [email protected]
    -v xenial-220 -s bbb.example.com -e [email protected] -g
    -v xenial-220 -s bbb.example.com -e [email protected] -g -c turn.example.com:1234324

Sample options for setup of a coturn server (on a different server)

    -c turn.example.com:1234324 -e [email protected]

SUPPORT:
    Community: https://bigbluebutton.org/support
         Docs: https://github.com/bigbluebutton/bbb-install

Proses

TURN Server

#!/bin/bash
set -eux

# variabel
TURN_FQDN="sub.domain.tld"
TURN_SECRET="rahasia8sd16kara"
SSL_EMAIL="[email protected]"

#
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | \
  bash -s -- \
  -c $TURN_FQDN:$TURN_SECRET \
  -e $SSL_EMAIL

BigBlueButton Server

#!/bin/bash
set -eux

# variabel
BBB_FQDN="sub.domain.tld"
TURN_FQDN="sub1.domain.tld"
SSL_EMAIL="[email protected]"
TURN_SECRET="rahasia8sd16kara"

#
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | \
  bash -s -- \
  -v xenial-22 \
  -s $BBB_FQDN \
  -c $TURN_FQDN:$TURN_SECRET \
  -e $SSL_EMAIL \
  -g -a

Penyelesaian

# Mengh
apt-get purge bbb-demo
# Tomcat7 terlambat aktif? Jalankan pemeriksaan hasil instalasai 2x untuk memastikan Tomcat7 berjalan
bbb-conf --check

Rujukan