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=.IP.Address> 
      org.jitsi.videobridge.NAT_HARVESTER_PUBLIC_ADDRESS=.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

    • sudo apt-get install ant

    • git clone https://github.com/jitsi/jicofo.git

    • cd jicofo/lib

    • wget https://repo1.maven.org/maven2/org/apache/maven/maven-ant-tasks/2.1.3/maven-ant-tasks-2.1.3.pom

    • sudo apt-get install maven

    • wget http://search.maven.org/remotecontent?filepath=org/apache/maven/maven-ant-tasks/2.1.3/maven-ant-tasks-2.1.3.jar

    • mv remotecontent\?filepath\=org%2Fapache%2Fmaven%2Fmaven-ant-tasks%2F2.1.3%2Fmaven-ant-tasks-2.1.3.jar maven-ant-tasks-2.1.3.jar

    • sudo rm -R ~/.m2/

    • cd /path/to/jicofo-cloned-repo/

    • mvn -U clean package -DskipTests

      这个步骤中会下载非常多的东西,需要耐心等待!

    • ant -lib lib dist.lin64

    • cd dist/linux

    • unzip jicofo-linux-x64-build.SVN.zip

    • cd jicofo-linux-x64-build.SVN/

    • ./jicofo.sh –domain=jz.meet.com –secret=YOURSECRET2 –user_domain=auth.jz.meet.com –user_name=focus –user_password=YOURSECRET3

  7. 安装nodejs环境

    • su root

    • curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash

    • vim ~/.bashrc

      export NVM_DIR=”/home/rxf/.nvm”

      [ -s “(NVM_DIR/nvm.sh)" ] && . "NVM_DIR/nvm.sh\” # This loads nvm

    • nvm install 6.9.4

    • nvm use 6.9.4

  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

你可能感兴趣的:(webrtc)