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
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
$ 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...
$ 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で新しい会議室を作成したり参加するURLを作成することができる。そのときchecksumをsha1で作成する。このときのsaltは以下のコマンドで表示する
$ bbb-conf --salt
URL: http://10.99.99.64/bigbluebutton/
Salt: e9c80ca7751a32f034fb41ad78ca****
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:を確認。
会議室作成
cheksum作成はアクセスコマンド+引数のchecksumまでの文字列(create?nameはcreatenameで?を削除する)
createname=TestMeeting&meetingID=ISM&attendeePW=11&moderatorPW=22
さらにSaltを追加する
e9c80ca7751a32f034fb41ad78ca****
結果
TestMeeting&meetingID=ISM&attendeePW=11&moderatorPW=22e9c80ca7751a32f034fb41ad78ca****
のsha1のハッシュを計算
CheckSum : ab5f2c267b0896718153590daeaa7f8c8606800c
会議室が動いているか
isMeetingRunningmeetingID=ISM e9c80ca7751a32f034fb41ad78ca****
419b40994c6305020ef32f8744355abb6c73607a
会議室インフォメーション
getMeetingInfomeetingID=ISM&password=22 e9c80ca7751a32f034fb41ad78ca****
beb8c8b13dd9849356a1ee8d24ae2cff08691a62
会議室に参加
joinmeetingID=ISM&password=22&fullName=TestMeeting e9c80ca7751a32f034fb41ad78ca****
68d7c7a3c52996fb157baa59f1c47a15dc266abb
joinmeetingID=ISM&password=22&fullName=Okada e9c80ca7751a32f034fb41ad78ca****
ab96fb1a571df6f2c82f7ab01a7506c87a818adc(debag)
会議室に終了
endmeetingID=ISM&password=22 e9c80ca7751a32f034fb41ad78ca****
e2c51fbc9473242e76f39a304727ca1bf10bcd2d
以下のところにパスワードを入れる
/var/lib/tomcat6/webapps/demo/mobile_conf.jsp
HostのIPの変更
$ bbb-conf --setip (IPアドレス)
$ 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"/>