Windows下部署BigBlueButton

Tag:   BigblueButton , 视频会议, WhiteBoard, deskShare,Red5

1.在red5下部署bigbluebutton,video,deskshare,sip等应用,其中bigbluebutton是必须的,并用red5的demo:echo_test测试其可用性,bigbluebutton在启动中会连接asterisk或freeswitch,如果你需要配置VOIP则配置相应的xml文件,并在red5-web.xml里进行import

事先安装好ant与gradle部署工具.

2.下载activemq,并启动(运行win32/wrapper.exe),不需要配置

查看61616端口是否有tcp在监听

3.下载nginx的windows版本,配置如下:nginx在此系统中的作用主要是url转向,根据URL向5080或8080端口跳转.

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        #location / {
         #   root   html;
          #  index  index.html index.htm;
        #}
      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 /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   M:/BigBlueButton/nginx-1.0.5/nginx-1.0.5/html/bigbluebutton-default;
          index  index.html index.htm;
        }

        location /client {
                root   M:/BigBlueButton/nginx-1.0.5/nginx-1.0.5/html/bigbluebutton;
                index  index.html index.htm;
        }
        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;
       }
        #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   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443;
    #    server_name  localhost;

    #    ssl                  on;
    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_timeout  5m;

    #    ssl_protocols  SSLv2 SSLv3 TLSv1;
    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers   on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

nginx中有两个目录:

1)bigbluebutton(下载www-bigbluebutton.tar.gz得到)

---client(文件夹)

image

------

---index.html

其中conf下需要配置config.xml文件,把ip改成服务器IP(注意不能改成127.0.0.1)

2)bigbluebutton-default(下载www-bigbluebutton-default.tar.gz得到)

image

4.0安装mysql,新建数据库bigbluebutton_dev
4.1在tomcat目录下安装bigbluebutton-web,

重命名为bigbluebutton

image

更改demo/bbb_api_conf.jsp中的ip为服务器IP(注意不能改成127.0.0.1)

当连接nginx:localhost:80后输入用户名,将跳转到tomcat:localhost:8080/bigbluebutton/demo/demo3.jsp页,再跳转到nginx:IP:80/client/…..swf

配置web-inf/class/bigbluebutton.properties文件,注意里面所有的路径中不能有空格,我的配置如下:(最好下载pdftk.exe,也放到swftools路径中)

#
# These are the default properites for BigBlueButton Web application

dataSource.url=jdbc:mysql://localhost/bigbluebutton_dev
dataSource.username=root
dataSource.password=jjjddd
dataSource.driverClassName =com.mysql.jdbc.Driver

#----------------------------------------------------
# Directory where BigBlueButton stores uploaded slides
presentationDir=i:/upload

#----------------------------------------------------
# Directory where SWFTOOLS (pdf2swf, jpeg2swf, png2swf) are located
swfToolsDir=i:/SWFTools/

#----------------------------------------------------
# Directory where ImageMagick's convert executable is located
imageMagickDir=i:/ImageMagick-6.7.1-Q16/

#----------------------------------------------------
# Use fullpath to ghostscript executable since the exec names are different
# for each platform.
ghostScriptExec=E:/Program Files/gs/gs9.01/bin/gswin32c.exe

#----------------------------------------------------
# Fonts directory passed into PDF2SWF to support highlighting of texts
# in the SWF slides.
fontsDir=C:/Windows/Fonts

#----------------------------------------------------
# This is a workaround for a problem converting PDF files, referenced at
# http://groups.google.com/group/comp.lang.postscript/browse_thread/thread/c2e264ca76534ce0?pli=1
noPdfMarkWorkaround=/etc/bigbluebutton/nopdfmark.ps

#----------------------------------------------------
# These will be copied in cases where the conversion process
# fails to generate a slide from the uploaded presentation
BLANK_SLIDE=/var/bigbluebutton/blank/blank-slide.swf
BLANK_THUMBNAIL=/var/bigbluebutton/blank/blank-thumb.png

#----------------------------------------------------
# Number of minutes the conversion should take. If it takes
# more than this time, cancel the conversion process.
maxConversionTime=5

#----------------------------------------------------
# Maximum number of pages allowed for an uploaded presentation (default 100).
maxNumPages=100

#----------------------------------------------------
# Default dial access number
defaultDialAccessNumber=613-555-1234

#----------------------------------------------------
# Default welcome message to display when the participant joins the web
# conference. This is only used for the old scheduling which will be
# removed in the future. Use the API to create a conference.
defaultWelcomeMessage=<br>Welcome to this BigBlueButton Demo Server.<br><br>For help using BigBlueButton <a href="event:http://www.bigbluebutton.org/content/videos"><u>check out these videos</u></a>.<br><br>

#----------------------------------------------------
# Inject values into grails service beans
beans.presentationService.presentationDir=${presentationDir}
beans.dynamicConferenceService.serviceEnabled=true
beans.dynamicConferenceService.apiVersion=0.7
beans.dynamicConferenceService.minutesElapsedBeforeMeetingExpiration=60
beans.dynamicConferenceService.securitySalt=8cb12ea1f9bd7c59c118d7ac76239899
beans.dynamicConferenceService.defaultWelcomeMessage=${defaultWelcomeMessage}
beans.dynamicConferenceService.defaultDialAccessNumber=${defaultDialAccessNumber}

#----------------------------------------------------
# This URL is where the BBB client is accessible. When a user sucessfully
# enters a name and password, she is redirected here to load the client.
bigbluebutton.web.serverURL=http://118.229.139.43

#----------------------------------------------------
# Assign URL where the logged-out participant will be redirected after sign-out.
# If commented-out, it returns to bigbluebutton.web.serverURL
# bigbluebutton.web.logoutURL=http://118.229.139.43

#------------------------------------------------------
# Setting to enable the old scheduling mechanism. This is temporary
# as we will be moving to use the API later.
#
beans.schedulingService.schedulingServiceEnabled=false

#------------------------------------------------------
# These properties are used to test the conversion process.
# Conference name folder in ${presentationDir} (see above)
beans.presentationService.testConferenceMock=conference-mock-default
beans.dynamicConferenceService.testConferenceMock=conference-mock-default
# Conference room folder in ${presentationDir}/${testConferenceMock}
beans.presentationService.testRoomMock=conference-mock-default
# Uploaded presentation name
beans.presentationService.testPresentationName=appkonference
# Uploaded presentation file
beans.presentationService.testUploadedPresentation=appkonference.txt
# Test voiceBridge number
beans.dynamicConferenceService.testVoiceBridge=99999

5.安装openoffices

安装完成后运行(OpenOffice.org 3.0\program):

soffice.exe -headless -nologo -norestore -accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager

查看8100端口是否打开了:

netstat -anp tcp 
TCP 127.0.0.1:8100 0.0.0.0:0 LISTENING

6.现在打开tomcat,activeMQ,red5,nginx。red5的bigbluebutton应用是依赖于activemq的,所以先打开activemq.

浏览器中输入http://localhost/

祝你好运!

原文地址:https://www.cnblogs.com/yangyh/p/2151176.html