zoukankan      html  css  js  c++  java
  • 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/

    祝你好运!

  • 相关阅读:
    [转] 微服务架构
    vue拦截器实现统一token,并兼容IE9验证
    一句话 道出设计模式
    老话闲说,关于身份证号码的验证
    值得珍藏的HTTP协议详解
    微信内嵌H5网页 解决js倒计时失效
    使用JavaScript重定向URL参数
    Nodejs --我自己的学习笔记
    ONLY三行脚本 SQL数据恢复到指定时间点
    [转] 数据库加锁 sql加锁的
  • 原文地址:https://www.cnblogs.com/yangyh/p/2151176.html
Copyright © 2011-2022 走看看