因为工作原因需要在服务器上安装Jitsi Meet 服务器,就在自己的电脑虚拟机上先测试一下,因为原来的教程都是ubuntu的公司服务器都是centos7的就想自己试一试安装在centos7 虚拟机上进行测试
1.首先确认能否正常使用摄像头,用cheese软件测试。如果不能启动,虚拟机用户请检查虚拟机配置和摄像头硬件,非虚拟机用户只需要检查摄像头硬件和驱动
更新gcc软件,因为jitsi需要使用node8 默认是gcc 版本太低无法满足node的编译需要升级gcc版本,关于如何升级centos7的gcc 版本请自行百度。
下载openssl-1.0.1或openssl-1.0.2 最新版的openssl-1.1.1 配置nginx时会报错 。下载pcre-8.42(最新版或者最新的稳定版)和zlib-1.2.11 (似乎很久没更新过了) 。然后下载nginx-1.9.8 安装。使用yum安装的nginx 版本太低无法启动jitsi-meet 似乎是官网要求nginx最低要1.2.x 具体版本号忘记了都装最新版就没问题了。除了openssl最新版在nginx 的https认证过程中会出问题其余都按最新版来就好。
安装prosody参考官网 https://prosody.im/download/start 其余需要更新的软件都需要更新
前期准备工作结束
参考的配置网址是 https://github.com/jitsi/jitsi-meet/blob/master/doc/manual-install.md 这是ubuntu的配置方法,参考ubuntu修改成centos之前应该也有大神做过,只是在网上没有找到现成的配置都是一个模块一个模块搜索的配置,在这里我只是进行一下总结。
安装完prosody 然后去 /etc/prosody/conf.d/ 文件夹下添加配置文件Jitsi.test.com.cfg.lua (根据自己的域名进行配置)
文件内容如下:
VirtualHost "jitsi.test.com"
authentication = "anonymous"
ssl = {
key = "/var/lib/prosody/jitsi.test.com.key"; //prosody生成的秘钥
certificate = "/var/lib/prosody/jitsi.test.com.crt";
}
modules_enabled = {
"bosh";
"pubsub";
}
c2s_require_encryption = false
VirtualHost "auth.jitsi.test.com"
ssl = {
key = "/var/lib/prosody/auth.jitsi.test.com.key";
certificate = "/var/lib/prosody/auth.jitsi.test.com.crt";
}
authentication = "internal_plain"
admins = {"[email protected]"}
Component "conference.jitsi.test.com" "muc"
Component "jitsi-videobridge.jitsi.test.com"
component_secret = "mysecret1"
Component "focus.jitsi.test.com"
component_secret = "mysecret2"
然后使用命令
prosodyctl cert generate jitsi.test.com
prosodyctl cert generate auth.jitsi.test.com
生成秘钥
prosodyctl register focus auth.jitsi.test.com mysecret3
生成用户密码
然后再回到 /etc/prosody/ 目录下 再将以下配置添加到 prosody.cfg.lua 配置文件的200行左右位置也可以全局查找 关键字 example.com 在后面添加
--VirtualHost "example.com"
-- certificate = "/path/to/example.crt"
VirtualHost "localhost"
VirtualHost "jitsi.test.com" --自己配置的域名
--VirtualHost "192.168.200.132"
ssl={
key="/etc/prosody/certs/prosody.key"; --你自己的秘钥地址
certificate="/etc/prosody/certs/prosody.crt";
}
------ Components ------
重启prosody 命令为prosodyctl restart
# HTTPS server
#
server {
listen 443 ssl;
server_name jitsi.test.com; # 自己在prosody 中配置的域名
ssl_certificate /var/lib/prosody/jitsi.test.com.crt; ##prosody生成的秘钥位置
ssl_certificate_key /var/lib/prosody/jitsi.test.com.key; ## prosody生成的秘钥位置
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
root /home/software/srv/jitsi.test.com; ###jitsi-meet的根目录
index index.html index.htm;
error_page 404 /404.html;
location /config.js {
alias /home/software/srv/jitsi.test.com/config.js; ##jitsi-meet的配置文件位置
}
location ~ ^/([a-zA-Z0-9=\?]+)$ {
rewrite ^/(.*)$ / break;
}
location / {
ssi on;
}
##Backward compatibility
location ~ /external_api.* {
root /home/software/srv/jitsi.test.com/libs; ##jitsi-meet的配置文件位置
}
# 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;
}
}
进入 /usr/local/nginx/sbin/ 目录下使用 ./nginx -t 测试配置是否成功
成功后使用 ./nginx -s restart 命令重启nginx
下载jitsi-videobridge https://download.jitsi.org/jitsi-videobridge/linux/jitsi-videobridge-linux-{arch-buildnum}.zip 版本号自己查替换掉arch-buildnum,不建议使用wget 命令下载。用浏览器进入网址下载速度回快很多,虽然不知道原理但是我在wget下载失败2次后用火狐浏览器进入网址简直是秒速下完
启动方式进入解压后的目录
./jvb.sh --host=localhost --domain=jitsi.test.com --port=5347 --secret=mysecret1 & (自己配置的域名和密码)
下载 jicofo-master 可以使用命令git clone https://github.com/jitsi/jicofo.git 下载不过速度巨慢,我还失败了卡在70%不动好久,最后还是使用火狐登录网址下载了压缩包速度超快。
然后安装maven 。yum install maven 。还要安装jdk 但是yum 默认安装的openjdk我没找到位置在哪,然后卸载了openjdk 在 /home/software/目录下重新安装了官方jdk 因为最后网站的证书必须自己手动导入到jdk的库中必须知道这个位置。
然后进入到jicofo-master 目录中 使用命令
mvn package -DskipTests -Dassembly.skipAssembly=false
下载文件到target文件夹中。
进入target文件夹中 jicofo-{lin/lin64/win}-1.0-SNAPSHOT.zip 这种名称的文件会有许多找到自己系统对应的压缩包解压到 jicofo-master 目录中然后重命名为jicofo,或者直接创建个新文件夹将jitsi-videobridge ,jicofo,和jitsi-meet 都放在一起。
启动方式进入 jicofo-master/jicofo中,如果文件夹中有 jicofo.sh 这个文件就说明位置对了
使用以下命令启动
./jicofo.sh --host=localhost --domain=jitsi.test.com --secret=mysecret2 --user_domain=auth.jitsi.test.com --user_name=focus --user_password=mysecret3
npm install
安装 (npm要求版本号大于6 ,如果安装的是node8及以上版本不用考虑npm版本号)hosts: {
// XMPP domain.
domain: 'jitsi.test.com', //你自己的域名
// XMPP MUC domain. FIXME: use XEP-0030 to discover it.
muc: 'conference.jitsi.test.com',
// When using authentication, domain for guest users.
// anonymousdomain: 'guest.example.com',
// Domain for authenticated users. Defaults to .
// authdomain: 'jitsi-meet.example.com',
// Jirecon recording component domain.
// jirecon: 'jirecon.jitsi-meet.example.com',
// Call control component (Jigasi).
// call_control: 'callcontrol.jitsi-meet.example.com',
bridge: 'jitsi-videobridge.jitsi.test.com', //添加的配置
// Focus component domain. Defaults to focus..
focus: 'focus.jitsi.test.com',
},
useNicks:false, //添加的配置
// BOSH URL. FIXME: use XEP-0156 to discover it.
bosh: '//jitsi.test.com/http-bind',
Keytool –importcert -alias jitsi.test.com -keystore /home/software/jdk1.8.0_161/jre/lib/security/cacerts -storepass changeit -file jitsi.test.com.crt
这个最后的秘钥可以是你已知的路径/var/lib/prosody/jitsi.test.com.crt也可以是从浏览器登录你自己的网址查看证书后下载到当前位置的秘钥
原文来自 https://blog.csdn.net/witmind/article/details/78456660
Country Name (2 letter code) [AU]:CN【国家代号,中国输入CN】
State or Province Name (full name) [Some-State]:BeiJing【省的全名,拼音】
Locality Name (eg, city) []:BeiJing【市的全名,拼音】
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp.【公司英文名】Organizational Unit Name (eg, section) []: 【可以不输入】
Common Name (eg, YOUR name) []:【对于server.csr需要输入网站的域名以作校验,其余的csr可随意填写】
Email Address []:admin@mycompany.com【电子邮箱,可随意填】
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:【可以不输入】
An optional company name []:【可以不输入】
版本不同具体内容有所差异
最后的最后jitsi-videobridge 一直报一个ssl 认证出错的的问题但是已经能使用了。不知道这是什么问题。
第一次写博客写的不好,如果有看不懂的地方可以直接发邮件联系我。