jitsi-meet 编译环境搭建

  1. 安装jdk8

    会碰到 Ubuntu 无法找到add-apt-repository的问题

    sudo apt-get install python-software-properties software-properties-common
    sudo add-apt-repository ppa:webupd8team/java -y
    sudo apt-get update
    sudo apt-get install oracle-java8-installer
    sudo apt-get install oracle-java8-set-default

  2. 设置淘宝镜像

    在~/.npmrc 中加入

    registry = https://registry.npm.taobao.org

    在国内还是使用淘宝的镜像比较好

  3. 下载jitsi-meet及编译

    编译这里基本上是过不了的,npm install始终是不会成功!

  4. 部署prosody

    • apt-get install prosody

    • Open file “/etc/prosody/conf.avail/jz.meet.com.cfg.lua”

    • VirtualHost "jz.meet.com"
       authentication = "anonymous"
       ssl = {
           key = "/var/lib/prosody/jz.meet.com.key";
           certificate = "/var/lib/prosody/jz.meet.com.crt";
       }
       modules_enabled = {
           "bosh";
           "pubsub";
       }
      
      VirtualHost "auth.jz.meet.com"
       authentication = "internal_plain"
      
      admins = { "focus@auth.jz.meet.com" }
      
      Component "conference.jz.meet.com" "muc"
      Component "jitsi-videobridge.jz.meet.com"
       component_secret = "YOURSECRET1"
      Component "focus.jz.meet.com"
       component_secret = "YOURSECRET2"
    • sudo ln -s /etc/prosody/conf.avail/jz.meet.com.cfg.lua /etc/prosody/conf.d/jz.meet.com.cfg.lua

    • Generate certificates

      sudo prosodyctl cert generate jz.meet.com

    • Create conference user

      sudo prosodyctl register focus auth.jz.meet.com YOURSECRET3

    • sudo prosodyctl restart

  5. 部署video-bridge

    • 获取源码:

      wget https://download.jitsi.org/jitsi-videobridge/linux/jitsi-videobridge-linux-x64-881.zip
      unzip jitsi-videobridge-linux-x64-881.zip
    • 修改配置文件:

      cd ~
      mkdir .sip-communicator
      cd .sip-communicator
      vim sip-communicator.properties
      插入:
      org.jitsi.impl.neomedia.transform.srtp.SRTPCryptoContext.checkReplay=false
      org.jitsi.videobridge.NAT_HARVESTER_LOCAL_ADDRESS=<Local.IP.Address> 
      org.jitsi.videobridge.NAT_HARVESTER_PUBLIC_ADDRESS=<Plulic.IP.Address>
    • 启动

      cd /path/to/extracted-folter-of-jistsi-video-bridge
      ./jvb.sh --host=localhost --domain=jz.meet.com --port=5347 --secret=YOURSECRET1
      或者:
      ./jvb.sh --host=localhost --domain=jz.meet.com --port=5347 --secret=YOURSECRET1 </dev/null >> /var/log/jvb.log 2>&1
  6. 部署jicofo

  7. 安装nodejs环境

  8. 编译jitsi-meet

    • 编译

      git clone https://github.com/jitsi/jitsi-meet.git
      cd /jitsi-meet
      npm install -g cnpm --registry=https://registry.npm.taobao.org
      cnpm install (这个步骤需要我们一直等待,等待的时间需要根据网速来确定)
      make (到现在为止,已经等待了50分钟的样子,但是不知道为什么 编译仍然在运行中)
      
      备注:
      很多网上的说法是可以使用cnpm 代替npm.然而!
      按照上面的做法,make会一直卡住,最终等待非常久也无法编译成功,且会报告堆栈错误。错误为v8的堆栈溢出。
      在stack上有认说是因为v8的old-back-stack1700M,太小了,修改方法为设置old-back-stack4096. 然并卵!
      还是需要老老实实的用npm
      修改上面的步骤
      npm install --registry=https://registry.npm.taobao.org
      make(漫长的等待然后成功)
    • 修改配置

      Edit the configuration file /config.js
      
      var config = {
      hosts: {
      domain: 'jz.meet.com',
      muc: 'conference.jz.meet.com',
      bridge: 'jitsi-videobridge.jz.meet.com'
      },
      useNicks: false,
      bosh: '//jz.meet.com/http-bind', // FIXME: use xep-0156 for that
      desktopSharing: 'false' // Desktop sharing method. Can be set to 'ext', 'webrtc' or false to disable.
      //chromeExtensionId: 'diibjkoicjeejcmhdnailmkgecihlobk', // Id of desktop streamer Chrome extension
      //minChromeExtVersion: '0.1' // Required version of Chrome extension
      };
  9. 安装nginx

    • sudo apt-get install nginx

    • 修改配置

      server_names_hash_bucket_size 64;
      
      server {
       listen 80;
       server_name jz.meet.com;
       return 301 https://$host$request_uri;
      }
      server {
       listen 443 ssl;
       server_name jz.meet.com;
      
       ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
       ssl_prefer_server_ciphers on;
       ssl_ciphers "EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA256:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EDH+aRS
      A+AESGCM:EDH+aRSA+SHA256:EDH+aRSA:EECDH:!aNULL:!eNULL:!MEDIUM:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED";
      
       add_header Strict-Transport-Security "max-age=31536000";
      
       ssl_certificate /var/lib/prosody/jz.meet.com.crt;
       ssl_certificate_key /var/lib/prosody/jz.meet.com.key;
      
       root /home/jitsi-meet;
       index index.html index.htm;
       error_page 404 /404.html;
      
       location /config.js {
           alias /home/jitsi-meet/config.js;
       }
      
       location ~ ^/([a-zA-Z0-9=\?]+)$ {
           rewrite ^/(.*)$ / break;
       }
      
       location / {
           ssi on;
       }
      
       # Backward compatibility
       location ~ /external_api.* {
           root /home/jitsi-meet/libs;
       }
      
       # BOSH
       location /http-bind {
           proxy_pass      http://localhost:5280/http-bind;
           proxy_set_header X-Forwarded-For $remote_addr;
           proxy_set_header Host $http_host;
       }
      }
  10. 使用

    修改本机的host

    c://windows/system/dirver/host

    10.3.10.83 jz.meet.com

​ 使用chrome打开https://jz.meet.com

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值