Try   HackMD

BigBlueButton 遠端會議平台從頭設定(對外)

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

安裝流程

系統需求

  • 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相關資訊。
  • 依照官方說明把設定檔內的非SSL傳輸設定修正。

後續設定

  • 若要提供綁定第三方登入

  • 新增會議系統的管理員帳號

    • 首先切換至Greenlight主目錄 cd ~/greenlight
    • 輸入docker exec greenlight-v2 bundle exec rake user:create["name","email","password","admin"]
    • 其中name改為名稱、email改為登入信箱、password改為你的密碼、admin不用動(系統權限組)

疑難雜症Q&A

  • 如何新增其他使用者?
    • 以下以註冊審核制來做示範。
    1. 進入到系統頁面,於右上方點選註冊按鈕,輸入想要的帳號密碼。
      Image Not Showing Possible Reasons
      • The image file may be corrupted
      • The server hosting the image is unavailable
      • The image path is incorrect
      • The image format is not supported
      Learn More →
    2. 請有管理員權限的用戶登入自己的帳號,於網站管理頁面進行帳號審核。
      Image Not Showing Possible Reasons
      • The image file may be corrupted
      • The server hosting the image is unavailable
      • The image path is incorrect
      • The image format is not supported
      Learn More →
  • 是否需要不定期去系統更新?
    • 要,請使用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/