LoginSignup
4
5

More than 5 years have passed since last update.

EC2@AWSへのBigBlueButtonインストール

Last updated at Posted at 2015-11-08

Web会議・講義システム「BigBlueButton」(以下、BBB)をEC2上にインストールする手順。

更新情報

  • 2015/11/08 新規作成

参考

基本は以下の参考サイトを参照。

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を設定しておく。
  1. EC2コンソールにて、Elastec IPを開く
  2. 新しいアドレスの割り当て、にて固定IPを払い出し、インスタンスに関連付けする。

2. セキュリティグループ設定

BBBに必要なポートを開放する。

  1. 新規のセキュリティグループを作成する。
  2. VPCにてインスタンスに紐付ける
  3. インバウンドに以下を設定する。

    タイプ プロトコル ポート 送信元 説明
    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. パッケージ取得元のソースを設定する。

  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
  1. 以下をコメントアウトする。
  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}/

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5