Installasi Web Conference BigBlueButton di Ubuntu 16.04

Kondisi saat ini dimana COVID-19 mewabah hingga ke berbagai pelosok daerah terutama Ibu Kota Jakarta dan sekitarnya, memaksa semua orang harus membatasi komunikasi secara fisik dengan slogan yang didengungkan StayAtHome atau DiRumahAja dan aktivitas pun jadi terbatas. Rekan saya di salah satu Universitas awalnya mencari ide bagaimana supaya mahasiswanya masih bisa kuliah tapi secara Online. Akhirnya ketemulah aplikasi open source namanya BigBlueButton.

Aplikasi ini mirip sekali dengan aplikasi sejenis seperti Zoom, Google Meet, Skype & Jitsi. Fiturnya juga lengkap ada Video, Voice, Presentation, Room, Video Recording, Chat dan lain-lain, pokoknya cocok banget lah buat Kuliah Online Jaman Now. Dan yang pasti bisa di install di server sendiri alias On Premise, jadinya ga ada batasan waktu deh. heheh… 😀

Spesifikasi server yang dibutuhkan antara lain:

  1. OS Ubuntu 16.04 LTS (versi 18.04 LTS belum mendukung)
  2. RAM 8 GB, disarankan 16 GB atau lebih
  3. CPU minimal 4 core, disarankan lebih
  4. Harddisk 500Gb, disarankan lebih dari itu (Untuk penyimpanan rekaman video)
  5. IP Publik
  6. Firewal, open port TCP 80, 443 (Untuk Web Utama) dan UDP 16384 – 32768 (FreeSWITCH & WebRTC)
  7. Hostname server (Wajib ada, untuk installasi SSL)
  8. Bandwidth 250 Mbits/sec atau disarankan lebih

Installasi

Adapun tahapan installasinya adalah sebagai berikut:

  • Setelah login sebagai user di Ubuntunya, set agar sudo tanpa password:
echo $USER 'ALL=(ALL) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/$USER
  • Login sebagai user root terlebih dahulu, kemudian update repositori Ubuntu
# apt update
  • Upgrade paket Ubuntu
# apt upgrade
  • Setup hostname
# vi /etc/hosts
# vi /etc/hostname
# hostnamectl set-hostname hostname.domain.com
  • Ketik perintah berikut untuk install BigBlueButton beserta framework Greenlight:
# wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-220 -s hostname.domainanda.com -e email@domainanda.com -g
  • Cek status BigBlueButton
# bbb-conf --status
nginx —————————————————► [✔ - active]
freeswitch ————————————► [✔ - active]
redis-server ——————————► [✔ - active]
bbb-apps-akka —————————► [✔ - active]
bbb-transcode-akka ————► [✔ - active]
bbb-fsesl-akka ————————► [✔ - active]
red5 ——————————————————► [✔ - active]
tomcat7 ———————————————► [✔ - active]
mongod ————————————————► [✔ - active]
bbb-html5 —————————————► [✔ - active]
bbb-webrtc-sfu ————————► [✔ - active]
kurento-media-server ——► [✔ - active]
etherpad ——————————————► [✔ - active]
bbb-web ———————————————► [✔ - active]

  • Cek konfigurasi
# bbb-conf --check


BigBlueButton Server 2.2.5 (1848)
                    Kernel version: 4.4.0-177-generic
                      Distribution: Ubuntu 16.04.6 LTS (64-bit)
                            Memory: 16430 MB
                         CPU cores: 16


/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties (bbb-web)
       bigbluebutton.web.serverURL: https://hostname.domainanda.com
                defaultGuestPolicy: ALWAYS_ACCEPT
                 svgImagesRequired: true


/etc/nginx/sites-available/bigbluebutton (nginx)
                       server name: hostname.domainanda.com
                              port: 80, [::]:80
                              port: 443 ssl
                    bbb-client dir: /var/www/bigbluebutton


/var/www/bigbluebutton/client/conf/config.xml (bbb-client)
                Port test (tunnel): rtmp://hostname.domainanda.com
                              red5: hostname.domainanda.com
              useWebrtcIfAvailable: true


/opt/freeswitch/etc/freeswitch/vars.xml (FreeSWITCH)
                       local_ip_v4: 103.xxx.xxx.xxx
                   external_rtp_ip: stun:stun.freeswitch.org
                   external_sip_ip: stun:stun.freeswitch.org


/opt/freeswitch/etc/freeswitch/sip_profiles/external.xml (FreeSWITCH)
                        ext-rtp-ip: $${local_ip_v4}
                        ext-sip-ip: $${local_ip_v4}
                        ws-binding: :5066
                       wss-binding: 103.xxx.xxx.xxx:7443


/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback)
                     playback_host: hostname.domainanda.com
                 playback_protocol: https
                            ffmpeg: 4.2.2-1bbb1~ubuntu16.04


/etc/bigbluebutton/nginx/sip.nginx (sip.nginx)
                        proxy_pass: 103.xxx.xxx.xxx


/usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml (Kurento SFU)
                        kurento.ip: 103.xxx.xxx.xxx
                       kurento.url: ws://127.0.0.1:8888/kurento
                    localIpAddress: 103.xxx.xxx.xxx
               recordScreenSharing: true
                     recordWebcams: true
                  codec_video_main: VP8
               codec_video_content: VP8


/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml (HTML5 client)
                             build: 874
                        kurentoUrl: wss://hostname.domainanda.com/bbb-webrtc-sfu
                  enableListenOnly: true




# Potential problems described below
# Warning: API URL IPs do not match host:
#
#                                IP from ifconfig: 103.xxx.xxx.xxx
#  /var/lib/tomcat7/demo/bbb_api_conf.jsp: conference.tri

Testing

  • Sampai tahap ini installasi sudah selesai, selanjutnya akses via web browser dan nanti akan muncul tampilan seperti berikut:

  • Selanjutnya tinggal coba Sign Up untuk registrasi user, setelah itu baru kita bisa melakukan meeting:

  • Klik start untuk memulai meeting di default Home Room:

Selamat mencoba.
Sekian dan terima kasih, semoga bermanfaat ya.

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top