自建在線會議系統 ---- BigblueButton 詳細安裝步驟

在線會議和在線教育,是當前階段,最熱門的互聯網應用。一大批在線會議與在線教育廠商,都借勢大肆圈地。 但是對於一些中小企業,和個性化教學的學校,是否能用較低的成本,擁有自己的會議/教育系統呢? 開源項目Bigbluebutton是一個不錯的選擇。

BigblueButton(BBB)安裝是比較簡單的,有一個簡單的安裝命令,大概30分鐘,就完全搞定了。當然,前提是你已經準備好環境,並且你很幸運。

本文以流水賬方式,進行安裝過程的記述:

準備步驟:

1. 首先,你需要有個域名。域名可以去騰訊,新網,阿里等網站購買。域名購買之後,就是實名認證和備案了。由於我是個人學習使用,只談個人域名備案。

-我的域名在騰訊購買的

-域名要實名認證,這個是騰訊要求的

-域名需要備案授權碼,在騰訊購買的域名,備案需要有騰訊的服務器在運行,或者有騰訊服務器產生的備案授權碼。由於個人使用,自然沒錢去開個騰訊服務器。好在某寶有授權碼。

-個人備案過程,需要準備的資料很多,身份證,本人照片,本人視頻驗證等,還有申請備案的原因。如果一切順利,大概3個工作日,應該可以搞定。


2. 服務器需要ICP備案,讓安裝BBB的服務器IP,80,8080,443,可以被互聯網訪問。


3. 你需要一個固定公網IP,將域名指向這個IP。我的服務器是在AWS上運行的,所以申請EIP,並將EIP綁定到EC2(需要在上面安裝BBB)。

我準備的域名等信息:

bbb.bright-abc.club   ----BBB server使用

turn.bright-abc.club   ----TURN server使用

[email protected]  ---一個假的郵箱地址,爲TLS/SSL認證使用


4. 安裝BBB的EC2的安全組需要開通以下端口,以提供服務

incoming traffic on the following ports:
TCP/IP port 22 (for SSH)
TCP/IP ports 80/443 (for HTTP/HTTPS)
UDP ports in the range 16384 - 32768 (for FreeSWITCH/HTML5 client RTP streams)

5. 安裝 TURN sever的安全組需要開通以下端口,以提供服務

On the TURN server, you need to have the following ports (in additon port 22) availalbe for BigBlueButton to connect (port 3478 and 443) and for the coturn to connect to your BigBlueButton server (49152 - 65535).

Ports

Protocol

Description

3478

TCP/UDP

coturn listening port

443

TCP/UDP

TLS listening port

49152-65535

UDP

relay ports range

6. 操作系統準備:

BigblueButton需要使用Ubuntu 16.04 server

TURN sever 需要使用Ubuntu 18.04 server

這裏解釋一些,BBB是提供在線視頻會議的主要功能,而作爲可選項的TURN server的作用,是爲了增強一些客戶端UDP鏈接受限的場景,更好的訪問BBB而設計。

Note: This step is optional, but recommended if your BigBlueButton server is publically available on the internet and will be accessed by users who may be behind restrictive firewalls.
BigBlueButton normally requires a wide range of UDP ports to be available for WebRTC communication. In some network restricted sites or development environments, such as those behind NAT or a firewall that restricts outgoing UDP connections, users may be unable to make outgoing UDP connections to your BigBlueButton server.
The TURN protocol is designed to allow UDP-based communication flows like WebRTC to bypass NAT or firewalls by having the client connect to the TURN server, and then have the TURN server connect to the destination on their behalf.
You need a separate server (not the BigBlueButton server) to setup as a TURN server

安裝步驟:

7.  如果你還沒有域名,只是想感受一下BBB,一條命令,可以直接安裝。


To install BigBlueButton 2.2 (no hostname or TLS/SSL certificate):
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-220

以上步驟安裝的,只能通過HTTP方式訪問,而不能通過HTTPS。

官方文檔也明確說明,沒有SSL/TLS,就不能使用BBB的語音和視頻功能,那麼BBB也就沒什麼用了。官網描述如下:

Since this default use of bbb-install.sh does not configure a SSL/TLS certificate,
while you can login to the server,
you won't be able to share audio/video as WebRTC requires a SSL/TLS certificate.

8.  如果1~4步驟,你已經準備好。那麼我們下面的安裝開始了。 安裝前,先看看命令幫助,有詳細的解釋

$ wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -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

9. BigBlueButton 信令(TURN)服務器的安裝及配置:

$ sudo -i
$ git clone https://github.com/bigbluebutton/bbb-install.git
$ cd bbb-install
# run below command for setup turn server
### <turn server endpoint> for turn server url
### <secret id> for secret access from bbb server
### <email address> for which Let's Encrypt generates ssl certificate
$ ./bbb-install.sh \
    -c <turn server endpoint>:<secret id> \
    -e <email address>
# for example:
### $ ./bbb-install.sh -c turn.bright-abc.club:12345678 -e [email protected]

10.  安裝BBB server,同時,也可以在 BBB 應用服務器上安裝 BBB Greenlight 工具,用於創建多個線上教室,並可以通過訪問碼對在線教室的訪問進行驗證,此爲可選步驟:

$ sudo -i
$ git clone https://github.com/bigbluebutton/bbb-install.git
$ cd bbb-install
# this step will take about 25 mins
# setup with turn server
### <bbb server endpoint> for bbb server url
### <turn server endpoint> for turn server url
### <secret id> for secret access from bbb server
### <email address> for which Let's Encrypt generates ssl certificate
$ ./bbb-install.sh \
    -s <bbb server endpoint> \
    -v xenial-220 \
    -e <email address> \
    -c <turn server endpoint>:<secret id> \
    -g <Greenlight >
# for example:
### $ ./bbb-install.sh -s bbb.bright-abc.club -v xenial-220 -c turn.bright-abc.club:12345678 -e [email protected] -g

11. 上面的步驟是先git上下載腳本,再安裝。另一種命令方式,直接在線運行命令,效果完全相同。

安裝TURN

wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-220  -c turn.bright-abc.club:12345678 -e [email protected]

安裝BBB

wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-220 -s bbb.bright-abc.club -e [email protected] -g

12. BBB安裝完成之後,已經可以登錄了。但是BBB web頁面,新用戶註冊等,完全不受限制。很多會議等管理功能,也沒有辦法很好管理和限制。所以,一個管理員是必須的。

在服務器上,創建admin用戶,這個用戶登錄之後,可以設置其他用戶的註冊和登錄等系統狀態

創建admin的命令:

#docker exec greenlight-v2 bundle exec rake user:create["<admin name>","<admin email>","<admin password>","admin"]
# for example:
###  docker exec greenlight-v2 bundle exec rake user:create["<bright>","<[email protected]>","QAZwsx1","admin"]

13. 使用admin登錄,會看到不同的菜單

1.png

14. 進入菜單設置,可以看到,主要是server,user,roles等設置

2.png

15. 最終,你進入的會議界面

3.png

16. 你可以通過下面的按鈕,語音,視頻,分享桌面,上傳PPT分享等

4.png

經過測試,效果還是不錯的。如BBB CEO說的,這個軟件就是面對50人以下的團體會議而設計。

CEO部分建議:

建議一個會議室只有50人,我們沒有設計爲一個會議室100或者150人以上。

bbb是可以多對多視頻通話。

多個在線會議室可以同時進行,沒有任何限制。


建議,安裝過程中,多看看git官方文檔,有很多細節,文檔都有說明。本文也引用AWS Blog的命令行。

參考文檔:

AWS Blog: https://aws.amazon.com/cn/blogs/china/quickly-build-an-online-teaching-platform-on-aws/

官方Github:https://github.com/bigbluebutton/bbb-install


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章