Web会議・講義システム「BigBlueButton」(以下、BBB)をEC2上にインストールする手順。
更新情報
- 2015/11/08 新規作成
参考
基本は以下の参考サイトを参照。
- http://bigbluebutton.org/overview/
- http://docs.bigbluebutton.org/1.0/10install.html
- http://bit.ly/1Nicngf
BigBlueButtonのバージョン
1.0-Beta
EC2の環境
- Ubuntu Server 14.04 LTS, SSD Volume Type - ami-936d9d93
- インスタンスタイプ: m4.large (2vCPU、8GB RAM)
- ルートデバイスタイプ: ebs
- 仮想化タイプ: hvm
- 汎用SSD 30G
EC2の設定
1. 固定IP
1.1. ホスト名の運用
- 独自ドメイン名であれば固定IPでなくてもいけると思う。
- EC2のパブリックドメイン名では長すぎる?ために、そのままではBBBのホスト名設定できない。
(設定で回避できるかもしれない)
1.2. IPアドレスの運用
- * 稼働にそれなりのリソースを使うので頻繁に停止する場合、パブリックIPが変わるたびに設定変更する必要がある。
- 上記を回避する為、固定のパブリックIPを設定しておく。
- EC2コンソールにて、Elastec IPを開く
- 新しいアドレスの割り当て、にて固定IPを払い出し、インスタンスに関連付けする。
2. セキュリティグループ設定
BBBに必要なポートを開放する。
- 新規のセキュリティグループを作成する。
- VPCにてインスタンスに紐付ける
-
インバウンドに以下を設定する。
タイプ プロトコル ポート 送信元 説明 HTTP TCP 80 0.0.0.0/0 Web用 HTTP カスタムTCP TCP 1935 0.0.0.0/0 BBB用詳細不明 カスタムTCP TCP 5066 0.0.0.0/0 音声用 websocket port カスタムTCP TCP 9123 0.0.0.0/0 BBB用詳細不明 カスタムTCP UDP 16384-32768 0.0.0.0/0 BBB用詳細不明
- HTTPSを仕様する場合は、TCP443、TCP7443等も必要(未検証)。
BigBlueButtonインストール
インスタンスにログインし、インストールを行う。
1. OSの確認
1.1. 言語パックの確認
$ cat /etc/default/locale
LANG="en_US.UTF-8"
入っていない場合
$ sudo apt-get install language-pack-en
$ sudo update-locale LANG=en_US.UTF-8
1.2. 64bit版であることを確認
$ uname -m
x86_64
1.3. Ubuntuのバージョンの確認
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.X LTS"
2. 各種パッケージのアップデート
2.1. パッケージ取得元のソースを設定する。
- ソースを確認する。
$ grep "multiverse" /etc/apt/sources.list
## multiverse WILL NOT receive any review or updates from the Ubuntu
# deb http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu/ trusty multiverse
# deb-src http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu/ trusty multiverse
# deb http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
# deb-src http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
# deb http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
# deb-src http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
# deb http://security.ubuntu.com/ubuntu trusty-security multiverse
# deb-src http://security.ubuntu.com/ubuntu trusty-security multiverse
- 以下をコメントアウトする。
deb http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu/ trusty multiverse
- 参考
- EC2以外だと以下のようになる
deb http://archive.ubuntu.com/ubuntu trusty multiverse
- 存在しない場合は以下のように追加
$ echo "deb http://us.archive.ubuntu.com/ubuntu/ trusty multiverse" | sudo tee -a /etc/apt/sources.list
2.2. パッケージをアップデートする。
$ sudo apt-get update
$ sudo apt-get dist-upgrade
2.3. EC2用音声設定
EC2は外部IPと内部IPが2つあるため、以下のように各音声ファイルを設定する。
- /opt/freeswitch/conf/vars.xml
以下を削除する。
<X-PRE-PROCESS cmd="set" data="local_ip_v4={プライベートIP}"/>
- /opt/freeswitch/conf/sip_profiles/external.xml
以下のように変更する。 ※{パブリックIP}は任意に置き換える
#<X-PRE-PROCESS cmd="set" data="bind_server_ip=auto"/>
<X-PRE-PROCESS cmd="set" data="bind_server_ip={パブリックIP}"/>
#<X-PRE-PROCESS cmd="set" data="external_rtp_ip=stun:stun.freeswitch.org"/>
<X-PRE-PROCESS cmd="set" data="external_rtp_ip={パブリックIP}"/>
# <X-PRE-PROCESS cmd="set" data="external_sip_ip=stun:stun.freeswitch.org"/>
<X-PRE-PROCESS cmd="set" data="external_sip_ip={パブリックIP}"/>
- /usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties
以下のように変更する。
#<param name="ext-rtp-ip" value="$${local_ip_v4}"/>
#<param name="ext-sip-ip" value="$${local_ip_v4}"/>
<param name="ext-rtp-ip" value="$${external_rtp_ip}"/>
<param name="ext-sip-ip" value="$${external_sip_ip}"/>
- /etc/bigbluebutton/nginx/sip.nginx
以下のように変更する。
#bbb.sip.app.ip={プライベートIP}
bbb.sip.app.ip=<internal ip>
#freeswitch.ip={プライベートIP}
freeswitch.ip=<internal ip>
3. LibreOffice 4.4用のPPAリポジトリ追加
LibreOffice 4.4をインストールする為のPPAリポジトリ追加。
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:libreoffice/libreoffice-4-4
4. BigBlueButtonのインストール準備
4.1. リポジトリアクセス用公開鍵を取得し、登録する。
$ wget http://ubuntu.bigbluebutton.org/bigbluebutton.asc -O- | sudo apt-key add -
4.2. パッケージ取得元を追加する。
$ echo "deb http://ubuntu.bigbluebutton.org/trusty-1-0/ bigbluebutton-trusty main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list
4.3. アップデートする。
$ sudo apt-get update
5. 動画・音声用ffmpegのインストール
5.1. インストール用シェルを作成する。
- install-ffmpeg.sh
sudo apt-get install build-essential git-core checkinstall yasm texi2html libvorbis-dev libx11-dev libvpx-dev libxfixes-dev zlib1g-dev pkg-config netcat libncurses5-dev
FFMPEG_VERSION=2.3.3
cd /usr/local/src
if [ ! -d "/usr/local/src/ffmpeg-${FFMPEG_VERSION}" ]; then
sudo wget "http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2"
sudo tar -xjf "ffmpeg-${FFMPEG_VERSION}.tar.bz2"
fi
cd "ffmpeg-${FFMPEG_VERSION}"
sudo ./configure --enable-version3 --enable-postproc --enable-libvorbis --enable-libvpx
sudo make
sudo checkinstall --pkgname=ffmpeg --pkgversion="5:${FFMPEG_VERSION}" --backup=no --deldoc=yes --default
5.2. シェルに実行権限をつけ、実行する。
$ chmod +x install-ffmpeg.sh
$ ./install-ffmpeg.sh
5.3. ffmpegのバージョンを確認する。
$ ffmpeg -version
ffmpeg version 2.3.3 Copyright (c) 2000-2014 the FFmpeg developers
built on Aug 18 2014 17:35:05 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
configuration: --enable-version3 --enable-postproc --enable-libvorbis --enable-libvpx
libavutil 52. 92.100 / 52. 92.100
libavcodec 55. 69.100 / 55. 69.100
libavformat 55. 48.100 / 55. 48.100
libavdevice 55. 13.102 / 55. 13.102
libavfilter 4. 11.100 / 4. 11.100
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 19.100 / 0. 19.100
6. BigBlueButtonパッケージのインストール
$ sudo apt-get install bigbluebutton
Yesで回答する。
7. APIデモパッケージのインストール
デモ用のAPIセットをインストールしておく場合は以下を実行する。
$ sudo apt-get install bbb-demo
不要になった場合は削除。
削除すると、ログインページは同様だがログインできなくなる。
$ sudo apt-get purge bbb-demo
8. クライアントセルフチェックページのインストール
クライアントサイドでネットワークや設定を確認するツールをインストールするには以下を実行する。
$ sudo apt-get install bbb-check
利用するURLは以下。
※{パブリックIP}は任意に置き替える。
http://{パブリックIP/check
削除する場合は以下を実行する。
$ sudo apt-get purge bbb-check
9. WebRTC audioの有効化
WebRTC audioを有効にする。
$ sudo bbb-conf --enablewebrtc
10. パブリックIP設定
公開用のパブリックIPを設定する。
※{パブリックIP}は任意に置き替える。
$ sudo bbb-conf --setip {パブリックIP}
BigBlueButtonの起動
1. 起動
"--clean"で環境をクリアして起動し、"--check"でエラーチェックする。
$ sudo bbb-conf --clean
$ sudo bbb-conf --check
2. デモの利用
以下のURLにアクセスしログイン画面がでる。
デモでは適当なユーザーでJOINできる。
※{パブリックIP}は任意に置き替える。
http://{パブリックIP}/