如何安装和配置 Galene 视频会议服务器
2025 年 7 月 7 日
作者:Benedict Reuschling
一点背景
来自 其官网:
Galene(或 Galène)是一款视频会议服务器(“SFU”),易于部署,对服务器资源需求非常适中。它最初设计用于讲座、会议和学生辅导,但后来发现同样适用于传统会议。Galene 已在两所主要大学(巴黎大学和索邦大学)投入生产,用于讲座、实验课、研讨会和员工会议。
要求
较新的 FreeBSD 系统(本文写作时为版本 14.3)
可以不用 ZFS,但强烈建议使用
FreeBSD 基础设置
首先,确保你已经安装了最新的 FreeBSD 系统更新。以 root 身份运行以下命令(由 #
表示):
# freebsd-update fetch install
接着,将 pkg 仓库更新为 latest
分支。编辑 /etc/pkg/Freebsd.conf
,把字符串 quarterly
改成 latest
。然后运行以下命令更新 pkg 数据库:
# pkg update
安装 Galene
在从包安装 Galene 之前,我们可以在 /var/db/galene
下添加几个 ZFS 数据集来保存视频会议数据。这一步是可选的,Galene 在 UFS2 上同样能正常工作。这里使用 ZFS 是因为它提供了额外的特性,在生产环境中可能会很有用。
假设我们的池叫做 videostar
。我们在 /var/db
下为 Galene 创建数据集。
为 Galene 创建 ZFS 数据集
# zfs create -p videostar/var/db/galene/data
# zfs create videostar/var/db/galene/groups
# zfs create videostar/var/db/galene/recordings
通过这些命令,我们在 galene
子目录下创建了一个独立数据集,并在其下创建了三个数据集:recordings
、data
和 groups
。我们稍后将填充这些内容。
包安装
FreeBSD 的软件包非常易用,并包含了预构建好的 Galene 包。我们接下来安装它:
# pkg install galene
安装过程中,/var/db/galene
下的目录会被创建。由于我们提前用 ZFS 数据集创建了它们,管理起来就更灵活了。例如,我们可以为 recordings
数据集设置配额。对于长时间的视频会议,录制文件会变得非常大。设置配额能防止 Galene 占满池中剩余的磁盘空间。
Galene 配置文件
在首次启动 Galene 前,我们需要定义有哪些 group(群组)。这些群组就是视频会议房间,允许多个用户加入同一个房间,或在不同房间举行会议而互不干扰。同时,也需要定义用户的权限和密码。
一个在 /var/db/galene/groups
下的基础示例文件如下:
{
"users":
{
"bob":
{
"password": "secret",
"permissions": "op"
}
}
}
这里我们定义了一个名为 bob
的用户、一个密码以及房间中的操作员权限。房间本身叫做 videostar
。
添加有效的 SSL 证书
虽然我们没有将其加入 Ansible playbook,但添加一份来自 letsencrypt.org
的有效 SSL 证书相对简单。简要步骤如下:
pkg install py311-certbot
certbot certonly -d YOURHOSTSFQDN --standalone
cp /usr/local/etc/letsencrypt/live/meet.fortasse.cloud/fullchain.pem /var/db/galene/data/cert.pem
cp /usr/local/etc/letsencrypt/live/meet.fortasse.cloud/privkey.pem /var/db/galene/data/key.pem
chown galene:galene /var/db/galene/data/*
service galene restart
Galene 启动配置
Galene 包在安装二进制文件的同时也安装了启动脚本,位于 /usr/local/etc/rc.d
。要让 Galene 随系统启动,在 /etc/rc.conf
中加入以下内容:
# service galene enable
之后启动服务:
# service galene start
检查服务是否在运行:
# service galene status
若显示 Galene 正在运行并附带进程 ID(PID),说明启动成功。如果没有,请重新检查上面的步骤,并查看 /var/log/messages
获取更多提示。
测试 Galene
我们可以在 sockstat -l
(监听套接字列表)的输出中找到正在运行的 Galene 进程 PID:
# sockstat -l|grep galene
在同一行里,可以看到 Galene 默认监听的端口 8443。假设我们的主机名是 videostar.example
,在浏览器地址栏中输入:
https://videostar.example:8443
此时会打开一个网页,询问你要加入哪个 group。输入 videostar
(我们在配置文件中定义的那个),点击 Join
按钮。在下一页输入用户名和密码,选择允许使用的设备(摄像头、麦克风),然后点击 Connect
按钮。如果一切顺利,你就进入了拥有完整权限的视频会议房间。之后只需在 videostar.json
文件中添加更多用户并重启 galene 进程,就能把这个网址分享给他人。祝贺你,视频会议愉快!

最后更新于