
요즘 온라인 세상에서 우리는 웹 회의를 통해 점점 더 긴밀하게 연결되고 있습니다. 학교, 직장, 심지어 우정까지도 Zoom, WebEx, Google Hangouts 같은 플랫폼을 통해 이루어지고 있죠. 하지만 오픈소스 대안을 찾는 사람들에게는 선택의 폭이 그리 넓지 않습니다. 바로 이 지점에서 BigBlueButton이 등장합니다. BigBlueButton은 직접 구축할 수 있는 오픈소스 웹 회의 및 e-러닝 플랫폼입니다. 이번 글에서는 리눅스에서 BigBlueButton을 활용해 웹 회의를 진행하는 방법을 자세히 소개합니다.
BigBlueButton 설치 전 알아두어야 할 사항
공식 문서를 그대로 인용하지는 않겠지만, 리눅스에 BigBlueButton을 설치하기 전에 몇 가지 짚고 넘어갈 부분이 있습니다.
첫째, 실제 운영 환경(프로덕션)에서 사용할 계획이라면 필자가 테스트에 사용한 사양보다 훨씬 높은 성능의 하드웨어가 필요합니다. 공식 설치 페이지에서는 실제 서버 운영을 위해 다음과 같은 요구 사항을 제시하고 있습니다.
- Ubuntu 16.04 64비트 OS, Linux 커널 4.x
- 스왑(swap)이 활성화된 16GB 메모리
- 단일 스레드 성능이 뛰어난 CPU 코어 8개
- 녹화 파일 저장용 여유 디스크 공간 500GB 이상 (세션 녹화를 비활성화할 경우 50GB)
- TCP 포트 80, 443 접근 가능
- UDP 포트 16384~32768 접근 가능
- 250Mbps 이상의 대칭형(symmetric) 대역폭
- TCP 포트 80, 443이 다른 웹 애플리케이션이나 리버스 프록시에 사용 중이면 안 됨
- SSL 인증서 발급용 호스트명 (예: bbb.example.com)
- IPv4 및 IPv6 주소
- 전용(베어메탈) 하드웨어
사용 중인 오디오 패킷 처리 프로그램의 특성과 녹화 파일의 시간 동기화 문제 때문에, 프로덕션 용도로는 VM 구동을 권장하지 않습니다. 따라서 필자는 임대가 끝난(off-lease) 중고 엔터프라이즈 1U 서버나 비슷한 장비를 구입하는 것을 추천합니다. 이렇게 하면 본딩 NIC 여러 개, 물리적 CPU 코어 8~16개, 넉넉한 RAM 등 필요 이상의 사양을 여유 있게 확보할 수 있습니다.
다만 이번 글에서는 설치 과정을 시연하기 위해 VM에서 실행해 보겠습니다. 테스트 환경의 최소 요구 사항은 다음과 같습니다.
- CPU 코어 4개 / 메모리 8GB
- 로컬 VM 또는 LXC 컨테이너에 설치
- 디스크 공간 50GB
- IPv4 주소만 사용
BigBlueButton 설치하기
설치 방법은 크게 두 가지입니다. 내부 동작 원리를 깊이 배우지 못하는 '쉬운 방법'과, 내부 구조를 속속들이 익힐 수 있는 '어려운 방법'이 있습니다. 선택은 여러분의 몫이지만, 필자는 설치와 관리가 훨씬 간편한 쉬운 방법을 택하겠습니다. 어려운 방법을 원하신다면 공식 문서 페이지의 단계별 가이드를 따르시면 됩니다.
쉬운 설치 방법은 웹사이트에서 제공하는 스크립트나 Ansible 롤을 사용해 설치 과정을 자동화하는 것입니다. 간단히 테스트해 보고 싶은 분들에게는 스크립트 방식을 추천합니다.
스크립트를 사용하려면 먼저 GitHub에서 저장소를 클론하세요.
git clone git://github.com/bigbluebutton/bbb-install
그리고 다음 명령으로 스크립트를 실행합니다.
sudo ./bbb-install.sh -w -a -v bionic-23 -s HOSTNAME -e EMAIL

위 명령에서 HOSTNAME은 서버의 호스트명이고, EMAIL은 SSL 인증서 발급에 사용될 이메일 주소입니다. SSL 설정은 필수 단계이므로 반드시 입력해야 합니다. 스크립트 실행에는 약 30분 정도 걸리므로, 그동안 커피 한 잔을 리필하며 잠시 쉬어가도 좋습니다.
돌아와 보면 모든 준비가 끝나 있을 것입니다. 이제 도메인 이름(또는 가상 테스트 서버의 경우 IP 주소)을 입력하고 데모를 시작할 수 있습니다. 나중에 서버의 패키지를 업그레이드할 때도 이 스크립트를 그대로 활용할 수 있습니다.
BigBlueButton 사용 방법
스크립트로 설치하면 BigBlueButton 데모 패키지도 함께 설치되므로, 큰 부담 없이 모든 기능을 익혀볼 수 있습니다. 단, 유효한 SSL 인증서가 필요하며 이를 위해서는 등록된 도메인 이름이 필요합니다. 필자에게는 도메인이 없으므로 BigBlueButton 데모 서버를 사용하겠습니다.
진행자(moderator) 권한으로 방을 만든 뒤 'Start' 버튼을 클릭하세요. 생성된 회의 링크를 다른 사람들에게 보내 초대할 수 있습니다.

마이크로 오디오에 참여하거나 듣기 전용(listen only)으로 참여하라는 안내가 표시됩니다. 선택을 마치면 곧바로 회의에 입장됩니다.

채팅창에는 YouTube의 튜토리얼 영상 링크가 나타납니다. 플랫폼을 본격적으로 익힐 때 매우 유용하게 활용할 수 있으니 나중에 꼭 확인해 보세요.

채팅창을 닫으면 BigBlueButton을 최고의 온라인 학습 플랫폼으로 만들어주는 다양한 도구들을 확인할 수 있습니다. 작은 손 아이콘을 클릭하면 사용 가능한 여러 기능이 나타납니다. 연필 도구를 사용하면 프레젠테이션 위에 직접 그림을 그릴 수 있고, 화면에는 레이저 포인터가 표시되어 다른 참석자들에게 가리키는 위치를 명확하게 보여줄 수 있습니다.

모든 슬라이드는 화이트보드 역할을 하며, 데모 서버에는 전용 화이트보드 슬라이드도 마련되어 있습니다. 필요한 것은 무엇이든 자유롭게 그릴 수 있습니다. 이번 예제에서는 네트워크 다이어그램 기호 몇 개를 그려봤는데, 어떤 느낌인지 감이 오실 겁니다. 멀티 유저 화이트보드 기능도 지원되어, 학생들이 자신의 작업물을 함께 공유하고 보여주기에 아주 좋습니다.

Shared Notes(공유 노트) 섹션도 빼놓을 수 없습니다. 메모를 입력하거나 채팅에서 질문을 강조해 답변을 정리할 수 있고, 강의 노트를 복사·붙여넣어 참석자들이 함께 활용하게 할 수도 있습니다.

BigBlueButton 한눈에 정리
원격으로 수업하는 교사들에게 새로운 훌륭한 도구만큼 반가운 소식은 없습니다. BigBlueButton은 e-러닝 플랫폼으로서 매력적인 기능을 다수 갖추고 있으며, 무엇보다 오픈소스라는 점이 큰 장점입니다. 다른 화상회의 관련 콘텐츠에도 관심이 있다면 Zoom 키보드 단축키 치트시트, 재택근무 중 화상회의를 위한 핵심 팁, 라즈베리 파이를 화상회의 스테이션으로 만드는 가이드도 함께 확인해 보세요.