BigBlueButton(Web会議室)

更新日 2013-02-08 (金) 11:23:50

BigBlueButton 0.80 Install

Ubuntu 10.04 64bitにインストール

ソフト単体ではなくなにかのアドオンとして利用するみたいだ。またAndroidのソフトもあるが音声がうまく接続でない。

事前準備

Ubuntu 10.04のDesktopをクリーンインストール

Port80が未使用か確認

$ sudo apt-get install lsof
$ lsof -i :80

OSのUpdate

$ sudo apt-get update
$ sudo apt-get dist-upgrade

Install

BigBlueButton package 0.8のリポジトリを設定

Keyの取得

$ wget http://ubuntu.bigbluebutton.org/bigbluebutton.asc -O- | sudo apt-key add -

リポジトリのURLの追加

$ echo "deb http://ubuntu.bigbluebutton.org/lucid_dev_08/ bigbluebutton-lucid main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list
$ echo "deb http://us.archive.ubuntu.com/ubuntu/ lucid multiverse" | sudo tee -a /etc/apt/sources.list
$ sudo apt-get update
$ sudo apt-get dist-upgrade

Rubyのインストール

$ sudo apt-get install zlib1g-dev libssl-dev libreadline5-dev libyaml-dev\
build-essential bison checkinstall libffi5 gcc checkinstall libreadline5 libyaml-0-2

インストールシェルの作成

install-ruby.sh

#!/bin/bash
cd /tmp
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz
tar xvzf ruby-1.9.2-p290.tar.gz
cd ruby-1.9.2-p290
./configure --prefix=/usr\
            --program-suffix=1.9.2\
            --with-ruby-version=1.9.2\
            --disable-install-doc
make
sudo checkinstall -D -y\
                  --fstrans=no\
                  --nodoc\
                  --pkgname='ruby1.9.2'\
                  --pkgversion='1.9.2-p290'\
                  --provides='ruby'\
                  --requires='libc6,libffi5,libgdbm3,libncurses5,libreadline5,o penssl,libyaml-0-2,zlib1g'\
                  --maintainer=brendan.ribera@gmail.com
sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9.2 500 \
                         --slave /usr/bin/ri ri /usr/bin/ri1.9.2 \
                         --slave /usr/bin/irb irb /usr/bin/irb1.9.2 \
                         --slave /usr/bin/erb erb /usr/bin/erb1.9.2 \
                         --slave /usr/bin/rdoc rdoc /usr/bin/rdoc1.9.2

sudo update-alternatives --install /usr/bin/gem gem /usr/bin/gem1.9.2 500

実行

$ chmod +x install-ruby.sh
$ ./install-ruby.sh

--2013-01-16 23:34:24--  http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz
ftp.ruby-lang.org をDNSに問いあわせています... 221.186.184.68
ftp.ruby-lang.org|221.186.184.68|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK 
長さ: 11182217 (11M) [application/x-tar]
`ruby-1.9.2-p290.tar.gz' に保存中

100%[================================================>] 11,182,217  2.53M/s   時間 4.2s

2013-01-16 23:34:29 (2.56 MB/s) - `ruby-1.9.2-p290.tar.gz' へ保存完了 [11182217/11182217]


ruby-1.9.2-p290/win32/setup.mak
ruby-1.9.2-p290/win32/win32.c
ruby-1.9.2-p290/win32/winmain.c
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes

checkinstall 1.6.1, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
           このソフトウェアはGNU GPLの下でリリースしています。



*****************************************
**** Debian package creation selected ***
*****************************************

このパッケージは以下の内容で構成されます:

0 -  Maintainer: [ brendan.ribera@gmail.com ]
1 -  Summary: [ Package created with checkinstall 1.6.1 ]
2 -  Name:    [ ruby1.9.2 ]
3 -  Version: [ 1.9.2-p290 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ amd64 ]
8 -  Source location: [ ruby-1.9.2-p290 ]
9 -  Alternate source location: [  ]
10 - Requires: [ libc6,libffi5,libgdbm3,libncurses5,libreadline5,openssl,libyaml-0-2,zlib1g ]
11 - Provides: [ ruby ]

変更するものの番号を入力してください。Enterで続行します:
Installing with make...Installing with install...

========================= インストールの結果 ===========================
./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb  ./tool/rbinstall.rb\
--make="make" --dest-dir="" --extout=".ext" --mflags="" --make-flags=""\
--data\ mode=0644 --prog-mode=0755 --installed-list .installed.list --mantype="doc"
installing binary commands:   /usr/bin
installing base libraries:    /usr/lib
installing arch files:        /usr/lib/ruby/1.9.2/x86_64-linux
installing command scripts:   /usr/bin
installing library scripts:   /usr/lib/ruby/1.9.2
installing common headers:    /usr/include/ruby-1.9.2
installing manpages:          /usr/share/man/man1
installing extension objects: /usr/lib/ruby/1.9.2/x86_64-linux
installing extension objects: /usr/lib/ruby/site_ruby/1.9.2/x86_64-linux
installing extension objects: /usr/lib/ruby/vendor_ruby/1.9.2/x86_64-linux
installing extension headers: /usr/include/ruby-1.9.2/x86_64-linux
installing extension scripts: /usr/lib/ruby/1.9.2
installing extension scripts: /usr/lib/ruby/site_ruby/1.9.2
installing extension scripts: /usr/lib/ruby/vendor_ruby/1.9.2
installing extension headers: /usr/include/ruby-1.9.2/ruby
installing default gems:      /usr/lib/ruby/gems/1.9.2 (cache, doc, gems, specifications)
                              rake 0.8.7
                              rdoc 2.5.8
                              minitest 1.6.0

======================== インストールに成功しました ==========================
grep: /var/tmp/tmp.uVQOSzrp3A/newfile: そのようなファイルやディレクトリはありません

tempディレクトリにファイルをコピー..OK

Stripping ELF binaries and libraries...OK

manページを圧縮..OK

ファイルリストを作成..OK

Debianパッケージを作成..OK

Debianパッケージをインストール..OK

tempファイルを削除..OK

バックアップパッケージを書き込み..OK

temp dirを削除..OK


**********************************************************************

 Done. The new package has been installed and saved to

 /tmp/ruby-1.9.2-p290/ruby1.9.2_1.9.2-p290-1_amd64.deb

 You can remove it from your system anytime using:

      dpkg -r ruby1.9.2

**********************************************************************

確認

$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
$ gem -v
1.3.7

gemの動作確認

$ sudo gem install hello
Successfully installed hello-0.0.1
1 gem installed
Installing ri documentation for hello-0.0.1...
Installing RDoc documentation for hello-0.0.1...

bigbluebuttonのインストール

$ sudo apt-get install bigbluebutton

Do you accept the EULA license terms?
 <はい>                          <いいえ>              
「はい」を選択

openoffice.org (1:3.2.0-7ubuntu4.4) を設定しています ...

tomcat6-common (6.0.24-2ubuntu1.12) を設定しています ...
tomcat6 (6.0.24-2ubuntu1.12) を設定しています ...
 * Starting Tomcat servlet engine tomcat6                                          [ OK ]

bbb-openoffice-headless (0.80ubuntu2) を設定しています ...
Starting OpenOffice headless server 

bbb-web (0.80ubuntu117) を設定しています ...
 * Stopping Tomcat servlet engine tomcat6\
                                          [ OK ]
 * Starting Tomcat servlet engine tomcat6\
                                          [ OK ]

bbb-config (0.80ubuntu93) を設定しています ...

red5 (1.0RC1-ubuntu41) を設定しています ...
 * Starting Red5 Server red5                                                               ...... Error: FreeSWITCH SIP 127.0.0.1 didn't start
                                                                                   [ OK ]

bigbluebutton (0.80ubuntu4) を設定しています ...
icedtea-6-jre-cacao (6b24-1.11.5-0ubuntu1~10.04.2) を設定しています ...
icedtea-netx (1.2-2ubuntu0.10.04.3) を設定しています ...
update-alternatives: /usr/bin/javaws (javaws) を提供するために 自動モード\
で /u sr/lib/jvm/java-6-openjdk/jre/bin/javaws を使います。
update-alternatives: /usr/bin/itweb-settings (itweb-settings) を提供するために\  自動モード で /usr/lib/jvm/java-6-openjdk/jre/bin/itweb-settings を使います。

default-jre-headless (1.6-34) を設定しています ...
ca-certificates-java (20100406ubuntu1.1) を設定しています ...
creating /etc/ssl/certs/java/cacerts...
done.

default-jre (1.6-34) を設定しています ...
libc-bin のトリガを処理しています ...
ldconfig deferred processing now taking place

API Demonsのインストール

$ sudo apt-get install bbb-demo

bbb-demo (0.80ubuntu76) を設定しています ...
Restarting nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful
nginx.

API Demonsのアンインストール

アンインストールする場合

$ sudo apt-get purge bbb-demo

起動

$ sudo bbb-conf --clean
Doing a clean restart of BigBlueButton ...
 * Stopping Red5 Server red5
   [ OK ]
 * Stopping Tomcat servlet engine tomcat6
   [ OK ]
Stopping nginx: nginx.
Killing: 10621
Stopping OpenOffice headless server.
Record and Playback monitoring stopped


 * Starting Red5 Server red5
                                                                                   [ OK ]
 * Starting Tomcat servlet engine tomcat6
   [ OK ]
Record and Playback monitoring started
Waiting for BigBlueButton to finish starting up (this may take a minute):  done
** Potential problems described below **
# Warning: The API demos are installed and accessible from:
#
#    http://10.99.99.64/
#
# Use the API demos test your BigBlueButton setup. To remove
#
#    sudo apt-get purge bbb-demo

状態のチェック

$ sudo bbb-conf --check

BigBlueButton Server 0.8-beta-4 (976)
                    Kernel version: 2.6.32-45-generic
                      Distribution: Ubuntu 10.04.4 LTS (64-bit)
                            Memory: 32197 MB

/var/www/bigbluebutton/client/conf/config.xml (bbb-client)
                Port test (tunnel): 10.99.99.64
                              Red5: 10.99.99.64

/etc/nginx/sites-available/bigbluebutton (nginx)
                       server name: 10.99.99.64
                              port: 80
                    bbb-client dir: /var/www/bigbluebutton

/var/lib/tomcat6/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties (bbb-web)
                      bbb-web host: 10.99.99.64

/var/lib/tomcat6/webapps/demo/bbb_api_conf.jsp (API demos)
                           api url: 10.99.99.64

/usr/share/red5/webapps/bigbluebutton/WEB-INF/red5-web.xml (red5)
                  voice conference: FreeSWITCH

/usr/local/bigbluebutton/core/scripts/slides.yml (record and playback)
                     playback host: 10.99.99.64


** Potential problems described below **
# Warning: The API demos are installed and accessible from:
#
#    http://10.99.99.64/
#
# Use the API demos test your BigBlueButton setup. To remove
#
#    sudo apt-get purge bbb-demo

その他のコマンドとして

$ sudo bbb-conf --stop
$ sudo bbb-conf --start

などがある

API

APIで新しい会議室を作成したり参加するURLを作成することができる。そのときchecksumをsha1で作成する。このときのsaltは以下のコマンドで表示する

$ bbb-conf --salt

       URL: http://10.99.99.64/bigbluebutton/
      Salt: e9c80ca7751a32f034fb41ad78ca1509

logは

 /var/log/bigbluebutton/bbb-web.log

に表示されるので

2013-01-21 11:44:03,880 DEBUG [org.bigbluebutton.api.ParamsProcessorUtil] -\
our checksum: [419b40994c6305020ef32f8744355abb6c73607a], client: \
[419b40994c6305020ef32f8744355abb6c73607a]
2013-01-21 11:44:03,880 DEBUG [org.bigbluebutton.api.ParamsProcessorUtil] -\
checksum ok: request passed the checksum security check

our checksum:とclient:を確認。

会議室作成

アクセスURL
http://10.99.99.64/bigbluebutton/api/create?name=TestMeeting&meetingID=ISM&attendeePW=11&moderatorPW=22&checksum=ab5f2c267b0896718153590daeaa7f8c8606800c

cheksum作成はアクセスコマンド+引数のchecksumまでの文字列(create?nameはcreatenameで?を削除する)

createname=TestMeeting&meetingID=ISM&attendeePW=11&moderatorPW=22

さらにSaltを追加する

e9c80ca7751a32f034fb41ad78ca1509

結果

TestMeeting&meetingID=ISM&attendeePW=11&moderatorPW=22e9c80ca7751a32f034fb41ad78ca1509

のsha1のハッシュを計算

CheckSum : ab5f2c267b0896718153590daeaa7f8c8606800c

会議室が動いているか

アクセスURL
http://10.99.99.64/bigbluebutton/api/isMeetingRunning?meetingID=ISM&checksum=419b40994c6305020ef32f8744355abb6c73607a

isMeetingRunningmeetingID=ISM
e9c80ca7751a32f034fb41ad78ca1509
419b40994c6305020ef32f8744355abb6c73607a

会議室インフォメーション

アクセスURL
http://10.99.99.64/bigbluebutton/api/getMeetingInfo?meetingID=ISM&password=22&checksum=beb8c8b13dd9849356a1ee8d24ae2cff08691a62

getMeetingInfomeetingID=ISM&password=22
e9c80ca7751a32f034fb41ad78ca1509
beb8c8b13dd9849356a1ee8d24ae2cff08691a62

会議室に参加

アクセスURL
http://10.99.99.64/bigbluebutton/api/join?meetingID=ISM&password=22&fullName=TestMeeting&checksum=68d7c7a3c52996fb157baa59f1c47a15dc266abb

joinmeetingID=ISM&password=22&fullName=TestMeeting
e9c80ca7751a32f034fb41ad78ca1509
68d7c7a3c52996fb157baa59f1c47a15dc266abb

アクセスURL
http://10.99.99.64/bigbluebutton/api/join?meetingID=ISM&password=22&fullName=Okada&checksum=ab96fb1a571df6f2c82f7ab01a7506c87a818adc

joinmeetingID=ISM&password=22&fullName=Okada
e9c80ca7751a32f034fb41ad78ca1509
ab96fb1a571df6f2c82f7ab01a7506c87a818adc(debag)

会議室に終了

アクセスURL
http://10.99.99.64/bigbluebutton/api/end?meetingID=ISM&password=mp&checksum=e2c51fbc9473242e76f39a304727ca1bf10bcd2d

endmeetingID=ISM&password=22
e9c80ca7751a32f034fb41ad78ca1509
e2c51fbc9473242e76f39a304727ca1bf10bcd2d

Mobile使用時

以下のところにパスワードを入れる

/var/lib/tomcat6/webapps/demo/mobile_conf.jsp

IP変更

HostのIPの変更

$ bbb-conf --setip (IPアドレス)

BigBlueButton アンイストール

$ sudo apt-get autoremove bigbluebutton

スマホ対応

Android用のアプリ「BBB-Android」がある。ためしにAndroid2.3.4に入れてみたが、ログイン、ビデオは使用可能だが、音声が利用できない。接続時に以下のエラーが出る。

voice connection timeout 

なにか問題があるようで次期バージョンを待ちたいが、以下のように設定したらmconfを利用して動作した。

原因不明だが、bigbluebuttonサーバがなぜがGlobalIPでしか動作しなかった。

/usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties

sip.server.host=127.0.0.1
sip.server.host=192.XX.XX.XX (サーバGlobalIP)

/opt/freeswitch/conf/vars.xml

<X-PRE-PROCESS cmd="set" data="local_ip_v4=127.0.0.1"/>
<!--X-PRE-PROCESS cmd="set" data="local_ip_v4=127.0.0.1"/-->

/opt/freeswitch/conf/sip_profiles/external.xml

<X-PRE-PROCESS cmd="set" data="local_ip_v4=127.0.0.1"/>
<param name="ext-rtp-ip" value="$${local_ip_v4}"/>
<param name="ext-sip-ip" value="$${local_ip_v4}"/>
<!--X-PRE-PROCESS cmd="set" data="local_ip_v4=127.0.0.1"/-->
<param name="ext-rtp-ip" value="auto-nat"/>
<param name="ext-sip-ip" value="auto-nat"/>

/opt/freeswitch/conf/autoload_configs/conference.conf.xml

5箇所

<!-- enable comfort noise generation -->
 <param name="comfort-noise" value="true"/>
 <param name="caller-id-number" value="$${outbound_caller_id}"/>
 <param name="comfort-noise" value="true"/>
 <param name="caller-id-number" value="$${outbound_caller_id}"/>
 <param name="comfort-noise" value="true"/>
 <param name="caller-id-number" value="$${outbound_caller_id}"/>
 <param name="comfort-noise" value="true"/>
 <param name="moh-sound" value="silence"/>
 <param name="comfort-noise" value="true"/>
<!-- enable comfort noise generation -->
 <param name="comfort-noise" value="false"/>
 <param name="caller-id-number" value="$${outbound_caller_id}"/>
 <param name="comfort-noise" value="false"/>
 <param name="caller-id-number" value="$${outbound_caller_id}"/>
 <param name="comfort-noise" value="false"/>
 <param name="caller-id-number" value="$${outbound_caller_id}"/>
 <param name="comfort-noise" value="false"/>
 <param name="moh-sound" value="silence"/>
 <param name="comfort-noise" value="false"/>

参考


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS