在centos7虚拟机上安装Jitsi Meet
因为工作原因需要在服务器上安装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. 具体版本号忘记了都装最新版就没问题了。除了openssl最新版在nginx 的https认证过程中会出问题其余都按最新版来就好。
安装prosody参考官网 /download/start 其余需要更新的软件都需要更新
前期准备工作结束 -
参考的配置网址是 /jitsi/jitsi-meet/blob/master/doc/ 这是ubuntu的配置方法,参考ubuntu修改成centos之前应该也有大神做过,只是在网上没有找到现成的配置都是一个模块一个模块搜索的配置,在这里我只是进行一下总结。
-
安装完prosody 然后去 /etc/prosody// 文件夹下添加配置文件 (根据自己的域名进行配置)
文件内容如下:
VirtualHost ""
authentication = "anonymous"
ssl = {
key = "/var/lib/prosody/"; //prosody生成的秘钥
certificate = "/var/lib/prosody/";
}
modules_enabled = {
"bosh";
"pubsub";
}
c2s_require_encryption = false
VirtualHost ""
ssl = {
key = "/var/lib/prosody/";
certificate = "/var/lib/prosody/";
}
authentication = "internal_plain"
admins = {"focus@"}
Component "" "muc"
Component ""
component_secret = "mysecret1"
Component ""
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/ 目录下 再将以下配置添加到 配置文件的200行左右位置也可以全局查找 关键字 在后面添加
--VirtualHost ""
-- certificate = "/path/to/"
VirtualHost "localhost"
VirtualHost "" --自己配置的域名
--VirtualHost "192.168.200.132"
ssl={
key="/etc/prosody/certs/"; --你自己的秘钥地址
certificate="/etc/prosody/certs/";
}
------ Components ------
重启prosody 命令为prosodyctl restart
-
配置nginx
nginx 启动命令 /usr/local/nginx/sbin/nginx (或进入目录下 ./nginx 以下相同)
重启命令 /usr/local/nginx/sbin/nginx -s restart
检测配置文件命令 /usr/local/nginx/sbin/nginx -t 测试配置文件是否能用
修改配置文件,位置在 /usr/local/nginx/conf/文件名为
在文件的下面https配置部分添加以下信息
# 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 /jitsi-videobridge/linux/jitsi-videobridge-linux-{arch-buildnum}.zip 版本号自己查替换掉arch-buildnum,不建议使用wget 命令下载。用浏览器进入网址下载速度回快很多,虽然不知道原理但是我在wget下载失败2次后用火狐浏览器进入网址简直是秒速下完
启动方式进入解压后的目录
./ --host=localhost --domain= --port=5347 --secret=mysecret1 & (自己配置的域名和密码) -
下载 jicofo-master 可以使用命令git clone /jitsi/ 下载不过速度巨慢,我还失败了卡在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. 这种名称的文件会有许多找到自己系统对应的压缩包解压到 jicofo-master 目录中然后重命名为jicofo,或者直接创建个新文件夹将jitsi-videobridge ,jicofo,和jitsi-meet 都放在一起。
启动方式进入 jicofo-master/jicofo中,如果文件夹中有 这个文件就说明位置对了
使用以下命令启动
./jicofo.sh --host=localhost --domain=jitsi.test.com --secret=mysecret2 --user_domain=auth.jitsi.test.com --user_name=focus --user_password=mysecret3
- 下载jitsi-meet使用命令 git clone /jitsi/ 这种方式下载的时间有点长,使用浏览器直接登录网址下载速度快很多。
然后将jitsi-meet 文件夹重命名为 (你自己的域名防止忘记)
然后进入 目录
在终端中使用命令npm install
安装 (npm要求版本号大于6 ,如果安装的是node8及以上版本不用考虑npm版本号)
最后使用命令 make
进入 目录下修改 配置文件
在大概17行开始的位置按一下内容修改
hosts: {
// XMPP domain.
domain: '', //你自己的域名
// XMPP MUC domain. FIXME: use XEP-0030 to discover it.
muc: '',
// When using authentication, domain for guest users.
// anonymousdomain: '',
// Domain for authenticated users. Defaults to <domain>.
// authdomain: '',
// Jirecon recording component domain.
// jirecon: '',
// Call control component (Jigasi).
// call_control: '',
bridge: '', //添加的配置
// Focus component domain. Defaults to focus.<domain>.
focus: '',
},
useNicks:false, //添加的配置
// BOSH URL. FIXME: use XEP-0156 to discover it.
bosh: '///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/也可以是从浏览器登录你自己的网址查看证书后下载到当前位置的秘钥
附加生成prosody 秘钥的英文翻译
原文来自 /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 认证出错的的问题但是已经能使用了。不知道这是什么问题。
第一次写博客写的不好,如果有看不懂的地方可以直接发邮件联系我。