# BigBlueButton 遠端會議平台從頭設定(對外) ![](https://i.imgur.com/XrQd8BH.jpg) ![](https://i.imgur.com/8o0aR61.png) ## 安裝流程 ### 系統需求 * Ubuntu 16.04 LTS(BigBlueButton的現行版本v2.2只支援16.04) * 4GB RAM(最低要求) * 4 核心CPU(最低要求) * 20GB 起跳的硬碟空間(如果不需要錄影的話) * 一個網域 * 一個固定IP * 一個有效的SSL憑證 * 防火牆要能夠設定大量Port通過流量(串流和WebRTC特性) ### Port 設定 * TCP/IP port 22 (for SSH-遠端登入,如果你機器是GUI介面就不用) * TCP/IP ports 80/443 (for HTTP/HTTPS-網站連通) * UDP ports in the range 16384 - 32768 (for FreeSWITCH/HTML5 client RTP streams-視訊跟音訊使用,未開放就只能以純文字進行會議) * 但這要全開讓機器裸奔真的是天方夜譚...建議如果只有內網使用的話再這樣開。 ## 安裝指令 ### 快速上線抓法 * 綁定IP * 指令為`dig 網域名稱 @ 固定IP` * 這邊使用 `dig hiot.nctu.me @ 35.221.200.165` * 下載、安裝、綁定Let’s Encrypt一氣呵成 * `sudo wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | sudo bash -s -- -v xenial-220 -s 網域名稱 -e 聯絡電子信箱 -g` * 其中 -s:site name (網域名稱)、-e:email address(服主電子信箱)、-g:Greenlight前台介面 * 這邊使用 `sudo wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | sudo bash -s -- -v xenial-220 -s xxxx.nctu.me -e xxxxxx@gmail.com -g` * 輸入完後等待10分鐘,讓系統抓取檔案並套用上去。 ### 自己設置金鑰 * 先安裝好預設環境(包括前台GreenLight) * `wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-220 -g` * 新增金鑰檔放置位置 * 這邊輸入`sudo mkdir /etc/nginx/ssl` * 把金鑰檔塞進去nginx * 將.key和.crt檔放入上方的資料夾 * 將pem檔生成出來並放入與金鑰檔同樣的資料夾 * `sudo openssl dhparam -out /etc/nginx/ssl/dhp-xxxx.pem xxxx` * xxxx取決於你的Diffie-Hellman Key為多少位元,以我們內網為例,採用2048-bit,因此輸入`sudo openssl dhparam -out /etc/nginx/ssl/dhp-2048.pem 2048` * 將sites-available資料夾內的設定檔新增SSL相關資訊。 * [Configure FreeSWITCH for using SSL](http://docs.bigbluebutton.org/2.2/install.html#configure-freeswitch-for-using-ssl) * 依照官方說明把設定檔內的非SSL傳輸設定修正。 * [Configure BigBlueButton to load session via HTTPS](http://docs.bigbluebutton.org/2.2/install.html#configure-bigbluebutton-to-load-session-via-https) ### 後續設定 * 若要提供綁定第三方登入 * [Configure GreenLight to use OAuth2 authentication](http://docs.bigbluebutton.org/greenlight/gl-config.html) * 新增會議系統的管理員帳號 * 首先切換至Greenlight主目錄 `cd ~/greenlight` * 輸入`docker exec greenlight-v2 bundle exec rake user:create["name","email","password","admin"] ` * 其中name改為名稱、email改為登入信箱、password改為你的密碼、admin不用動(系統權限組) ## 疑難雜症Q&A * 如何新增其他使用者? * 以下以註冊審核制來做示範。 1. 進入到系統頁面,於右上方點選註冊按鈕,輸入想要的帳號密碼。![](https://i.imgur.com/QaKoeA3.png) 2. 請有管理員權限的用戶登入自己的帳號,於網站管理頁面進行帳號審核。 ![](https://i.imgur.com/Gs5LOyC.png) * 是否需要不定期去系統更新? * 要,請使用SSH終端進入機器後,下達 `sudo apt-get upgrade` 指令去更新。**千萬不要去手殘下達`do-release-upgrade` ,會直接炸裂,真的。** * 如果前台炸掉怎麼辦?例如說跳出Nginx HTTP 404 Not Found之類的。 * 重新啟動伺服器,把 `cd greenlight && sudo docker-compose up -d` 的指令重新輸入,跑完之後就可以了。使用者設定不會跑掉。(Greenlight的Docker炸掉了) * 如何備份系統資訊? * 如果沒有理解錯誤的話...依照官方文檔,主檔案都放置於 /var/bigbluebutton 之下,所以只要備份這邊的檔案即可。還原時也只要先全新安裝完再倒回去。 * 為什麼有用戶沒辦法在會議中進行視訊和語音通話? * 大概都是防火牆的鍋。 * 用戶端的防火牆必須開通以下Port才能順利進行會議: * TCP 80/443 (HTTP/HTTPS), 7443 (音訊), 1935 (及時串流)。 * UDP 則最少要開通16384-32767區間之中的部分Port,以供WebRTC視訊音訊串流之用。 * 如果你是透過學校網路來連線,就必須要顧慮到電算中心可能有進行部分Port阻擋的可能性。若需使用完整功能,請改用自己的網路來開啟。 * 如果有這邊以外的其他問題,要怎麼辦? * BBB並沒有經營中文社群,所以文檔全部都是英文的...如果你願意,建議可以去他們的官方文庫慢慢看:https://docs.bigbluebutton.org/