安装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设置淘宝镜像
在~/.npmrc 中加入
registry = https://registry.npm.taobao.org
在国内还是使用淘宝的镜像比较好
下载jitsi-meet及编译
编译这里基本上是过不了的,npm install始终是不会成功!
部署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
部署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
部署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
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
安装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
编译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-stack位1700M,太小了,修改方法为设置old-back-stack为4096. 然并卵! 还是需要老老实实的用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 };
安装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; } }
使用
修改本机的host
c://windows/system/dirver/host
10.3.10.83 jz.meet.com
使用chrome打开https://jz.meet.com