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:
- OS Ubuntu 16.04 LTS (versi 18.04 LTS belum mendukung)
- RAM 8 GB, disarankan 16 GB atau lebih
- CPU minimal 4 core, disarankan lebih
- Harddisk 500Gb, disarankan lebih dari itu (Untuk penyimpanan rekaman video)
- IP Publik
- Firewal, open port TCP 80, 443 (Untuk Web Utama) dan UDP 16384 – 32768 (FreeSWITCH & WebRTC)
- Hostname server (Wajib ada, untuk installasi SSL)
- 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: