BigBlueButton 是一个使用 ActionScript 开发的在线视频会议系统或者是远程教育系统,主要功能包括在线PPT演示、视频交流和语音交流,还可以进行文字交流、举手发言等功能,特别适合用在网上教学,支持中文等多种语音。
界面非常漂亮:
服务器端用到的项目包括有 ActiveMQ、Asterisk、
前言:
- bigbluebutton是一个万维网广播站和会议系统,他是基于Flash的视频会议,后台服务器使用Red5 Server。
- 本篇是参考installing from source英文版,根据自己的情况有点改动,系统是基于ubuntu之上。
- 如果想在ubuntu上快安装bigbluebutton请参见英文文档:http://code.google.com/p /bigbluebutton/wiki/InstallationUbuntu。
- 如果不想安装bigbluebutton,只想测试bigbulebutton可以参见:http://code.google.com/p /bigbluebutton/wiki/BigBlueButtonVM。
- 关于更多bigbluebutton的查看:http://code.google.com/p/bigbluebutton
笔记开始:
1.检查网络
2.更新与升级
sudo apt-get update
sudo apt-get upgrade
3.安装JAVA 6
sudo apt-get install openjdk-6-jre-headless
安装了下列软件包:
ca-certificates-java icedtea-6-jre-cacao java-common libaccess-bridge-java openjdk-6-jre-headless openjdk-6-jre-lib rhino tzdata-java
4.安装MySQL
sudo apt-get install mysql-server
安装了下列软件包:
libdbd-mysql-perl libdbi-perl libhtml-template-perl libnet-daemon-perl libplrpc-perl mysql-client-5.0 mysql-server mysql-server-5.0 mysql-server-core-5.0
5.安装Tomcat
sudo apt-get install tomcat6
安装了下列软件包:
gcj-4.3-base jsvc libcommons-collections-java libcommons-daemon-java libcommons-dbcp-java libcommons-pool-java libecj-java libecj-java-gcj libgcj-bc libgcj-common libgcj9-0 libgcj9-jar libservlet2.5-java libtomcat6-java tomcat6 tomcat6-common
测试一下:
http://<your ip address>:8080
6.安装swftools
sudo apt-get install swftools
安装了下列软件包:
libt1-5 swftools
7.安装Imagemagick
sudo apt-get install imagemagick
安装了下列软件包:
imagemagick imagemagick-doc
8.安装Nginx
sudo apt-get install nginx
安装了下列软件包:
nginx
9.安装ActiveMQ
cd /opt
sudo wget http://apache.mirror.rafal.ca/activemq/apache-activemq/5.2.0/apache-activemq-5.2.0-bin.tar.gz
sudo tar zxvf apache-activemq-5.2.0-bin.tar.gz
sudo mv apache-activemq-5.2.0-bin.tar.gz /usr/local/activemq
启动ActiveMQ
sudo /usr/local/activemq/bin/activemq
10.修改tomcat6帐户
############################
tomcat6:x:106:113::/usr/share/tomcat6:/bin/bash
11.安装red5
cd /opt
sudo wget http://build.xuggle.com/job/red5_jdk6_stable/131/artifact/workingcopy/red5-0.8.RC3-build-hudson-red5_jdk6_stable-131.tar.gz
sudo tar zxvf red5-0.8.RC3-build-hudson-red5_jdk6_stable-131.tar.gz
sudo mv red5-0.8.RC3-build-hudson-red5_jdk6_stable-131 /usr/local/red5-0.8
用户tomcat用户启动red5
sudo su -l tomcat6
./red5.sh(需要root权限)
注:英文照考文档中是以上两行,而我在实际中使用tomcat用户启动red5 server是有很多[Error]提示。使用root启动就没那些Error,即使用sudo ./red5.sh命令启动。
12.安装oflaDemo
在浏览器的URL输入网址:http://<your ip address>:5080/installer/
选择”oflaDemo”,再点击”Install”
安装后在浏览器URL输入网址:http://<your ip address>5080/demos/ofla_demo.html
编辑”rtmp://localhost/oflaDemo”并点击”[connect]”
在左边的[library]选择一个,即可以在[Video]中看到视频。
13.安装编译(Asterisk)环境:
sudo apt-get install build-essential linux-headers-2.6.28-15-generic libssl-dev ncurses-dev libnewt-dev zlib1g-dev bison
额外安装了下列软件包:
dpkg-dev g++ g++-4.3 libncurses5-dev libpng12-dev libslang2-dev libstdc++6-4.3-dev m4 patch
14.安装Dahdi(原zaptel)
cd /usr/local/src
sudo wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-2.2.0.2+2.2.0.tar.gz
sudo tar zxvf dahdi-linux-complete-2.2.0.2+2.2.0.tar.gz
cd dahdi-linux-complete-2.2.0.2+2.2.0
sudo make all(需要root权限)
sudo make install
make config
注:如果服务器没有安装板卡,不需要安装Dahdi,他只是digium板卡的驱动
15.安装.Asterisk
cd /usr/local/src
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.4.25.tar.gz
sudo tar zxvf asterisk-1.4.25.tar.gz
cd asterisk-1.4.25
sudo ./configure
sudo make all
sudo make install
sudo make config
16.配置Asterisk
添加一个extensions
sudo vi /etc/asterisk/extensions.conf
; BigBlueButton: Setup sample conference
[bigbluebutton]
;
; Create an extension, 600, for evaluating echo latency.
;
exten => 600,1,Answer ; Do the echo test
exten => 600,n,Playback(demo-echotest) ; Let them know what’s going on
exten => 600,n,Echo ; Do the echo test
exten => 600,n,Playback(demo-echodone) ; Let them know it’s over
exten => 600,n,Hangup()
创建SIP帐号
sudo vi /etc/asterisk/sip.conf
; BigBlueButton: Setup sample user to connect over VoIP
[user1]
type=friend
username=user1
insecure=very
secret=secret
qualify=yes
nat=yes
host=dynamic
canreinvite=no
context=bigbluebutton
allow=all
[user2]
type=friend
username=user2
insecure=very
secret=secret
qualify=yes
nat=yes
host=dynamic
canreinvite=no
context=bigbluebutton
allow=all
[user3]
type=friend
username=user3
insecure=very
secret=secret
qualify=yes
nat=yes
host=dynamic
canreinvite=no
context=bigbluebutton
allow=all
[user4]
type=friend
username=user4
insecure=very
secret=secret
qualify=yes
nat=yes
host=dynamic
canreinvite=no
context=bigbluebutton
allow=all
创建AMI帐号
sudo vi /etc/asterisk/manager.conf
[general]
enabled = yes
port = 5038
bindaddr = 0.0.0.0
; BigBlueButton: Enable Red5 to connect
[bbb]
secret = secret
permit = 0.0.0.0/0.0.0.0
read = system,call,log,verbose,command,agent,user
write = system,call,log,verbose,command,agent,user
17.配置nginx
sudo vi /etc/nginx/sites-available/bigbluebutton
修改server_name参数为自己的IP
server {
listen 80;
server_name demo
#server_name 192.168.2.125;
access_log /var/log/nginx/bigbluebutton.access.log;
location ~ (/open/|/close/|/idle/|/send/) {
proxy_pass http://127.0.0.1:8088;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffering off;
}
location /deskshare {
proxy_pass http://127.0.0.1:5080;
proxy_redirect default;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
include fastcgi_params;
}
location /bigbluebutton {
proxy_pass http://127.0.0.1:8080;
proxy_redirect default;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
include fastcgi_params;
}
location / {
root /var/www/bigbluebutton-default;
index index.html index.htm;
}
location /client {
root /var/www/bigbluebutton;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/nginx-default;
}
}
sudo ln -s /etc/nginx/sites-available/bigbluebutton /etc/nginx/sites-enabled/bigbluebutton
18.下载bigbluebutton
sudo mkdir -p /home/user/temp
cd /home/user/temp
sudo wget http://www.bigbluebutton.org/hudson/job/BBB-Trunk-Apps/ws/dist/bigbluebutton-apps-0.5.tar.gz
sudo wget http://www.bigbluebutton.org/hudson/job/BBB-Trunk-Apps-Deskshare/ws/dist/webapps/deskshare.tar.gz
sudo wget http://www.bigbluebutton.org/hudson/job/BBB-Trunk-Client/ws/client.tar.gz
sudo wget http://www.bigbluebutton.org/hudson/job/BBB-Trunk-Web/ws/bigbluebutton-0.1.war
sudo wget http://www.bigbluebutton.org/hudson/job/BBB-Trunk-Config/ws/web//*zip*/web.zip
19.禁用Tomcat6的Security设置
sudo vi /etc/default/tomcat6
把”#TOMCAT6_SECURITY=yes”换成”TOMCAT6_SECURITY=no”
20.安装数据库
mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 35
Server version: 5.0.75-0ubuntu10.2 (Ubuntu)
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql> create database bigbluebutton_dev;
Query OK, 1 row affected (0.08 sec)
mysql> grant all on bigbluebutton_dev.* to ‘bbb’@'localhost’ identified by ’secret’;
Query OK, 0 rows affected (0.05 sec)
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
21.安装BigBlueButton web
cd /var/lib/tomcat6/webapps
sudo cp /home/user/temp/bigbluebutton-0.1.war ./bigbluebutton.war
22.确认DF2SWF,CONVERT和GS(GhostScript)应用
which pdf2swf
which convert
which gs
23.编辑bbb-web属性(properties)
sudo vi /var/lib/tomcat6/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties
修改下列几个:
-swfToolsDir参数(pdf2swf目录位置)”swfToolsDir=/usr/bin”
-imageMagickDir参数(convet目录位置)”imageMagickDir=/usr/bin”
-ghostScriptExec参数(指向gs应用位置)”ghostScriptExec=/usr/bin/gs”
-bigbluebutton.web.serverURL参数替换成自己的IP地 址”bigbluebutton.web.serverURL=http://192.168.2.125″
重启tomcat6
24.生成数据库
在浏览器的URL输入:http://<your ip_address>:8080/bigbluebutton就会自动生成bigbluebutton_dev数据库的所有表
测试一下:
> mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 56
Server version: 5.0.75-0ubuntu10.2 (Ubuntu)
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql> use bigbluebutton_dev;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+—————————–+
| Tables_in_bigbluebutton_dev |
+—————————–+
| account |
| account_conference |
| account_user |
| conference |
| permission |
| role |
| role_permission_rel |
| scheduled_session |
| user |
| user_permission_rel |
| user_role_rel |
| voice_conference_bridge |
+—————————–+
12 rows in set (0.00 sec)
mysql>
25.创建Presentation上传目录
sudo mkdir /var/bigblue
sudo chown tomcat6:adm-R /var/bigbluebutton
sudo chmod 777 -R /var/bigbluebutton
26.安装bbb-apps
cd /usr/local/red5-0.8/webapps
sudo cp /home/user/temp/bigbluebutton-apps-0.5.tar.gz ./
sudo tar zxvf bigbluebutton-apps-0.5.tar.gz
sudo mv webapps/bigbluebutton/ ./
sudo rm -fr bigbluebutton-apps-0.5.tar.gz webapps/
27.编辑BigBlueButton Apps properties
sudo vi /usr/local/red5-0.8/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties
#
# Location for recordings
recordingsDirectory=/var/bigbluebutton
# These properties are for Asterisk Management Interface (AMI)
ami.host=127.0.0.1
ami.port=5038
ami.username=bbb
ami.password=secret
28.反注释/usr/local/red5-0.8/conf/red5-core.xml中的RTMPT部分
29.安装xuggler
sudo cd /usr/local
sudo wget http://com.xuggle.s3.amazonaws.com/xuggler/xuggler-3.1.FINAL/xuggle-xuggler.3.1.818-i686-pc-linux-gnu.sh
sudo chmod a+x xuggle-xuggler.3.1.818-i686-pc-linux-gnu.sh
sudo ./xuggle-xuggler.3.1.818-i686-pc-linux-gnu.sh
30.设置xuggler环境变量
sudo vi /etc/profile
export XUGGLE_HOME=/usr/local/xuggler
export LD_LIBRARY_PATH=$XUGGLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$XUGGLE_HOME/bin:$PATH
31.安装Desk共享Apps
cd /usr/local/red5-0.8/webapps
sudo cp /home/user/temp/deskshare.tar.gz ./
sudo tar zxvf deskshare.tar.gz
sudo rm -fr deskshare.tar.gz
32.安装BigBlueButton客户端
cd /var/www
sudo mkdir bigbluebutton
cd bigbluebutton
sudo cp /home/user/temp/client.tar.gz ./
sudo tar zxvf client.tar.gz
sudo rm -fr client.tar.gz
33.修改BBB客户端配置
sudo vi /var/www/bigbluebutton/client/conf/config.xml
-改变uri成你的IP address
-改变host=”conf/join-mock.xml”为host=”http://<your ip address:port>/bigbluebutton/conference-session/enter”
34.安装bbb默认主页
cd /var/www
sudo cp /home/user/temp/web.zip ./
sudo unzip -dc web.zip
sudo mv c/web ./bigbluebutton-default
sudo rm -rf c
安装结束,重启ActiveMQ、Red5 Server、Tomcat、Asterisk服务