现在假设新拿到一台工控机,什么都没配置,那么我们需要自己先手动搭建安装所需的环境,具体内容可看另一篇关于工控机配置的文档。
为了快速部署,实现了一套易于使用的脚本,脚本以及对应的webview相关代码已上传github
https://github.com/Kerinlin/auto-jitsi-meet
├── README.md ├── configure_jvb.sh // 会议服务局域网配置 ├── configure_nginx.sh // 443端口nginx配置 ├── configure_nginx_old.sh // 之前使用其他端口进行nginx配置 ├── configure_sip.sh // 会议服务局域网相关配置 ├── install.sh // 安装脚本 ├── jitsi-sample.conf // jitsi-meet 服务的nginx参考 ├── jitsi.sh // 主要入口,包括服务的安装,启动,停止,查看 ├── room-web // webview 相关内容 ├── update_webip.sh // 更新room-web下index.html中的ip配置 └── webview.conf // 之前使用其他端口进行nginx配置
git clone <https://github.com/Kerinlin/auto-jitsi-meet.git>
下载下来后安装依赖,打包,然后切换到jitsi脚本目录
yarn
yarn build
cd ./jitsi
然后开始安装会议服务
sudo sh ./jitsi.sh
会出现类似的选择项
选择**重新安装
,**安装会检测是否已经安装会议服务,如果已经安装会先卸载原有服务,然后再重新安装,正式安装前会检测本机IP,如果不改的话,会默认使用本机IP,安装的过程中会自动检查安装相关必要的依赖,然后进行自签名,以及配置一些会议的默认配置,还有配置开机自启动,具体的流程可看脚本代码install.sh
# 主安装流程
main() {
local IP_ADDRESS=""
# 首先检查并卸载已存在的安装
check_and_uninstall_jitsi
# 如果提供了命令行参数,使用参数作为IP地址
if [ $# -eq 1 ]; then
if validate_ip "$1"; then
IP_ADDRESS="$1"
else
echo "错误: 无效的IP地址格式"
exit 1
fi
else
# 如果没有提供参数,自动检测IP
IP_ADDRESS=$(get_system_ip)
echo "检测到系统IP地址: $IP_ADDRESS"
read -p "是否使用此IP地址? [Y/n] " response
response=${response:-Y}
if [[ ! $response =~ ^[Yy]$ ]]; then
read -p "请输入要使用的IP地址: " manual_ip
if validate_ip "$manual_ip"; then
IP_ADDRESS="$manual_ip"
else
echo "错误: 无效的IP地址格式"
exit 1
fi
fi
fi
echo "开始安装 Jitsi Meet..."
echo "将使用的IP地址: $IP_ADDRESS"
# 更新包列表
echo "正在更新软件包列表..."
apt update
# 检查并安装必要的工具
check_and_install_tools
# 预配置 jitsi-videobridge 和 jitsi-meet-web-config
echo "正在配置安装选项..."
echo "jitsi-videobridge jitsi-videobridge/jvb-hostname string $IP_ADDRESS" | debconf-set-selections
echo "jitsi-meet-web-config jitsi-meet/cert-choice select 'Generate a new self-signed certificate (You will later get a chance to obtain a Let's encrypt certificate)'" | debconf-set-selections
# 安装 Jitsi Meet
echo "正在安装 Jitsi Meet..."
DEBIAN_FRONTEND=noninteractive apt-get --option=Dpkg::Options::=--force-confold \\
--option=Dpkg::options::=--force-unsafe-io \\
--assume-yes --quiet install jitsi-meet
# 检查防火墙设置
check_firewall
# 配置默认设置项
configure_default_setting $IP_ADDRESS
# 配置webview nginx
configure_webview_nginx $IP_ADDRESS
# 修改interface.js配置
change_interface_js
sleep 2
# 配置服务开机自启
configure_autostart
# 显示服务状态和开机自启状态
echo "检查服务状态和开机自启配置:"
for service in nginx prosody jicofo jitsi-videobridge2; do
printf "%-20s 运行状态: %s\\t自启状态: %s\\n" \\
"$service" \\
"$(systemctl is-active $service)" \\
"$(systemctl is-enabled $service)"
done
echo "安装完成!"
}
安装完成后查看服务是否正常
sudo sh ./jitsh.sh