1:Ubuntu 20.04 64 位服务器安装 BigBlueButton
a)是全新安装Ubuntu 指该服务器不会用于除 BigBlueButton 之外的任何其他用途(实测版本用:ubuntu-20.04.6-live-server-amd64)
b)最小化安装,提示选服务器功能组件时选上docker即可。
c)设置镜像源地址,可以配置阿里云(ubuntu安装包下载_开源镜像站-阿里云),提高下载加速
d)更新一下系统
sudo apt-get update
sudo apt-get upgrade
2:测试环境
a)最低服务器要求,对于生产,我们建议满足以下最低要求
► 运行 Linux 内核 5.x 的 Ubuntu 20.04 64 位操作系统
► 安装了最新版本的docker
► 启用交换的 16 GB 内存
► 8个CPU核心,单线程性能高
► 500 GB 的可用磁盘空间(或更多)用于录制,如果服务器上禁用了会话录制,则为 50GB。
► TCP 端口 80 和 443 可访问
► UDP 端口 16384 - 32768 可访问
► 250 Mbits/sec 带宽(对称)或更多
► TCP 端口 80 和 443未被其他 Web 服务器或反向代理使用
► 用于设置 SSL 证书的主机名(例如 bbb.example.com)
► IPV4 和 IPV6 地址
b)检查服务器的语言环
---------------------------------------------------------------------------------------------------------------
$ cat /etc/default/locale
LANG="en_US.UTF-8"
---------------------------------------------------------------------------------------------------------------
说明:cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。
如果您没有看到LANG="en_US.UTF-8",请输入以下命令将本地设置为en_US.UTF-8
---------------------------------------------------------------------------------------------------------------
$ sudo apt-get install -y language-pack-en
$ sudo update-locale LANG=en_US.UTF-8
---------------------------------------------------------------------------------------------------------------
说明:apt-get,是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。
然后注销并再次登录到您的 SSH 会话 ——这将为您的会话重新加载语言环境配置。
再次运行上面的命令cat /etc/default/locale。确认您只看到单行LANG="en_US.UTF-8"。
注意:如果您看到额外的一行,请删除,然后再次登录。
接下来,执行sudo systemctl show-environment并确保您LANG=en_US.UTF-8在输出中看到。
---------------------------------------------------------------------------------------------------------------
$ sudo systemctl show-environment
LANG=en_US.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
---------------------------------------------------------------------------------------------------------------
如果你没有看到这个,再次sudo systemctl set-environment LANG=en_US.UTF-8运行上面的命令sudo systemctl show-environment并确认你LANG=en_US.UTF-8在输出中看到了。
c)接下来,使用命令检查您的服务器是否有(至少)16G 内存
---------------------------------------------------------------------------------------------------------------
$ free -h
total used free shared buff/cache available
Mem: 15G 3.1G 1.0G 305M 11G 12G
Swap: 0B 0B 0B
---------------------------------------------------------------------------------------------------------------
这里它显示了 15G 的内存(这已经足够了,因为服务器有 16 GB 的内存)。
如果您在total列中看到小于 15G的值,则您的服务器内存不足,无法在生产环境中运行 BigBlueButton。您需要将服务器的内存增加到(至少)16G。(如上所述,如果您在开发环境中运行它,8G 就可以了。)
swap:linux里的交换空间,类似windows的虚拟内存
d)接下来,检查服务器是否有 Ubuntu is 20.04 作为其操作系统。
---------------------------------------------------------------------------------------------------------------
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.4 LTS"
---------------------------------------------------------------------------------------------------------------
e)接下来,检查您的服务器是否正在运行 64 位版本的 Ubuntu 20.04
---------------------------------------------------------------------------------------------------------------
$ uname -m
x86_64
---------------------------------------------------------------------------------------------------------------
f)接下来,检查您的服务器是否支持 IPV6。
---------------------------------------------------------------------------------------------------------------
$ ip addr | grep inet6
inet6 ::1/128 scope host
...
---------------------------------------------------------------------------------------------------------------
如果您没有看到该行,inet6 ::1/128 scope host那么在安装 BigBlueButton 之后,您将需要修改 FreeSWITCH 的配置以禁用对 IPV6 的支持 。
g)接下来,检查您的服务器是否正在运行 Linux 内核 5.x。
---------------------------------------------------------------------------------------------------------------
$ uname -r
5.4.x-xx-generic
---------------------------------------------------------------------------------------------------------------
h)接下来,检查您的服务器是否有(至少)8 个 CPU 内核
---------------------------------------------------------------------------------------------------------------
$ grep -c ^processor /proc/cpuinfo
8
---------------------------------------------------------------------------------------------------------------
注意:processor后有一空格
i)接下来检查您的服务器是否打开了端口 80 和 443
---------------------------------------------------------------------------------------------------------------
$ sudo ufw status
...
80 ALLOW Anywhere
443 ALLOW Anywhere
...
80 (v6) ALLOW Anywhere
443 (v6) ALLOW Anywhere
...
---------------------------------------------------------------------------------------------------------------
注:ubuntu默认是安装的,端口处理方法
3:正式安装
要安装 BigBlueButton,请使用bbb-install-2.6.sh脚本。链接 https://ubuntu.bigbluebutton.org/bbb-install-2.6.sh 提供了有关使用脚本的详细信息,可下载查看。
注:安装 操作要转成root用户,详看转成root用户的方法
给root用户设置密码(如果原来没有设置过),命令“sudo passwd root ” 。 输入密码,并确认密码。重新输入命令“su root” 然后输入密码。就可切换到root权限了。
例如,以下命令使用域名和电子邮件地址(用来申请Let's Encrypt永久免费SSL证书 ,安装时会自动申请)
最新版本的 BigBlueButton 2.6,它还会安装 Greenlight ( -g) 和防火墙 ( -w)。
请注意,从 BigBlueButton 2.6 开始,我们已经停用了 API 演示。我们建议改用 Greenlight 或API MATE。
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install-2.6.sh | bash -s -- -v focal-260 -s 绑定服务器的ssl域名 -e 绑定申请ssl的邮箱 -g -w
便捷复制安装
家里测试用:wget -qO- https://ubuntu.bigbluebutton.org/bbb-install-2.6.sh | bash -s -- -v focal-260 -s 内网ip地址 -e limeng@limeng.net -g -w
单位服务器:wget -qO- https://ubuntu.bigbluebutton.org/bbb-install-2.6.sh | bash -s -- -v focal-260 -s bbb.limeng.net -e limeng@limeng.net -g -w
wget -qO- https://packages-eu.bigbluebutton.org/bbb-install-2.6.sh | bash -s -- -v focal-260 -s bbb.limeng.net -e limeng@limeng.net -g -w
wget -qO- https://packages-eu.bigbluebutton.org/bbb-install-2.6.sh | bash -s -- -v focal-260 -s bbb.limeng.net -e limeng@limeng.net -g -w -p 116.108.42.165:4000
注意:如果您不打算在生产环境中使用Greenlight,安装时不加-g,或安装 后可以将其卸载,。
wget -c -qO- https://ubuntu.bigbluebutton.org/bbb-install-2.6.sh | bash -s -- -v focal-260 -s bbb.limeng.net -e limeng@limeng.net -g -w -p 43.130.198.249 :3128
4:安装后的验证
a) 检查服务器的状态 (以下做了为了方便查看格式做了调整并加了说明)
---------------------------------------------------------------------------------------------------------------
$ sudo bbb-conf --check
BigBlueButton Server 2.6.0-alpha.1 (54) 'BigBlueButton服务器2.6.0-alpha.1(54)
Kernel version: 5.4.0-107-generic '内核版本:5.4.0-107-generic
Distribution: Ubuntu 20.04.4 LTS (64-bit) '发行版:Ubuntu 20.04.4 LTS(64位)
Memory: 16393 MB '内存:16393 MB
CPU cores: 2 'CPU核数:2
/etc/bigbluebutton/bbb-web.properties (override for bbb-web)
/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties (bbb-web)
bigbluebutton.web.serverURL: http://192.168.209.131 'bigbluebutton的web服务器url(可以改bbb-conf -setip ip或域名)
defaultGuestPolicy: ALWAYS_ACCEPT '缺省来宾用户策略 (always accept 始终接受)
svgImagesRequired: true '这个***所需,当前还没搞明白
defaultMeetingLayout: CUSTOM_LAYOUT '默认会议布局:自定义布局
/etc/nginx/sites-available/bigbluebutton (nginx)
server_name: 192.168.209.131 ' 安装bigbluebutton时设置,可不可以改后期验证
port: 80, [::]:80 '端口80
port: 443 ssl 'ssl端口443
/opt/freeswitch/etc/freeswitch/vars.xml (FreeSWITCH)
local_ip_v4: 133.203.31.212 '
external_rtp_ip: 133.203.31.212 '
external_sip_ip: 133.203.31.212 '
/opt/freeswitch/etc/freeswitch/sip_profiles/external.xml (FreeSWITCH)
ext-rtp-ip: $${local_ip_v4} '
ext-sip-ip: $${local_ip_v4} '
ws-binding: 133.203.31.212:5066 '
wss-binding: 133.203.31.212:7443 '
/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback)
playback_host: bbb.example.com
playback_protocol: https
ffmpeg: 4.2.7-0ubuntu0.1
/usr/share/bigbluebutton/nginx/sip.nginx (sip.nginx)
proxy_pass: 133.203.31.212
protocol: http
/usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml (bbb-webrtc-sfu)
/etc/bigbluebutton/bbb-webrtc-sfu/production.yml (bbb-webrtc-sfu - override)
mediasoup.webrtc.*.announcedIp: 133.203.31.212
mediasoup.plainRtp.*.announcedIp: 133.203.31.212
kurento.ip: 133.203.31.212
kurento.url: ws://127.0.0.1:8888/kurento
freeswitch.sip_ip: 133.203.31.212
recordScreenSharing: true
recordWebcams: true
codec_video_main: VP8
codec_video_content: VP8
/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml (HTML5 client)
/etc/bigbluebutton/bbb-html5.yml (HTML5 client config override)
build: 8
kurentoUrl: wss://bbb.example.com/bbb-webrtc-sfu
defaultFullAudioBridge: sipjs
defaultListenOnlyBridge: fullaudio
sipjsHackViaWs: true
/usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml (STUN Server)
stun: stun.l.google.com:19302
# Potential problems described below
................
...检测进度完成后,任何输出都可能表示配置错误或安装错误。在许多情况下,这些消息会为您提供有关如何解决问题的建议。
---------------------------------------------------------------------------------------------------------------
调试时用ip建立的查看结果
sudo bbb-conf --check
BigBlueButton Server 2.6.8 (1235) 'BigBlueButton服务器版本信息2.6.0-alpha.1(54)
Kernel version: 5.4.0-150-generic '内核版本:5.4.0-107-generic
Distribution: Ubuntu 20.04.6 LTS (64-bit) '发行版:Ubuntu 20.04.4 LTS(64位)
Memory: 16362 MB ’内存大小
CPU cores: 8 ’cpu核心数
/etc/bigbluebutton/bbb-web.properties (override for bbb-web)
/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties (bbb-web)
bigbluebutton.web.serverURL: http://192.168.209.131
defaultGuestPolicy: ALWAYS_ACCEPT
defaultMeetingLayout: CUSTOM_LAYOUT
/etc/nginx/sites-available/bigbluebutton (nginx)
server_name: 192.168.209.131
port: 80, [::]:80
/opt/freeswitch/etc/freeswitch/vars.xml (FreeSWITCH)
local_ip_v4: 192.168.209.131
external_rtp_ip: 192.168.209.131
external_sip_ip: 192.168.209.131
/opt/freeswitch/etc/freeswitch/sip_profiles/external.xml (FreeSWITCH)
ext-rtp-ip: $${local_ip_v4}
ext-sip-ip: $${local_ip_v4}
ws-binding: :5066
wss-binding: :7443
UDP port ranges
FreeSWITCH: 16384-24576
kurento: 24577-32768
bbb-webrtc-sfu: 24577-32768
/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback)
playback_host: 192.168.209.131
playback_protocol: http
ffmpeg: 4.2.7-0ubuntu0.1
/usr/share/bigbluebutton/nginx/sip.nginx (sip.nginx)
proxy_pass: 192.168.209.131
protocol: http
/usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml (bbb-webrtc-sfu)
/etc/bigbluebutton/bbb-webrtc-sfu/production.yml (bbb-webrtc-sfu - override)
mediasoup.webrtc.*.announcedIp: 192.168.209.131
mediasoup.plainRtp.*.announcedIp: 192.168.209.131
kurento.ip: 192.168.209.131
kurento.url: ws://127.0.0.1:8888/kurento
freeswitch.sip_ip: 192.168.209.131
recordScreenSharing: true
recordWebcams: true
codec_video_main: VP8
codec_video_content: VP8
/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml (HTML5 client)
/etc/bigbluebutton/bbb-html5.yml (HTML5 client config override)
build: 623
kurentoUrl: wss://192.168.209.131/bbb-webrtc-sfu
defaultFullAudioBridge: sipjs
defaultListenOnlyBridge: fullaudio
sipjsHackViaWs: false
/usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml (STUN Server)
stun: stun.l.google.com:19302
# Potential problems described below
没有错误
b) 检查 BigBlueButton 进程是否已启动并正在运行。
---------------------------------------------------------------------------------------------------------------
$ sudo bbb-conf --status
nginx —————————————————► [✔ - active]
freeswitch ————---------————————► [✔ - active]
redis-server ——————------------————► [✔ - active]
bbb-apps-akka ——-----------———————► [✔ - active]
bbb-fsesl-akka ——--------------——————► [✔ - active]
mongod ————————————————► [✔ - active]
bbb-html5 —————————------————► [✔ - active]
bbb-webrtc-sfu ———--------------—————► [✔ - active]
kurento-media-server —------------------------—► [✔ - active]
bbb-html5-backend@1 —-------------------——► [✔ - active]
bbb-html5-backend@2 ——-------------------—► [✔ - active]
bbb-html5-frontend@1 —----------------------—► [✔ - active]
bbb-html5-frontend@2 —----------------------—► [✔ - active]
etherpad ———————————----———► [✔ - active]
bbb-web ————————————-———► [✔ - active]
bbb-pads ————————————---——► [✔ - active]
bbb-export-annotations ---------------------------► [✔ - active]
bbb-rap-caption-inbox —--------------------------► [✔ - active]
bbb-rap-resque-worker -------------------------—► [✔ - active]
bbb-rap-starter —————-----------------——► [✔ - active]
---------------------------------------------------------------------------------------------------------------
c)您还可以使用dpkg -l | grep bbb-列出所有核心 BigBlueButton 包(您的版本号可能略有不同)。
---------------------------------------------------------------------------------------------------------------
# dpkg -l | grep bbb-
ii bbb-apps-akka 2.6-10 all BigBlueButton Apps (Akka)
ii bbb-config 1:2.6-4 amd64 BigBlueButton configuration utilities
ii bbb-etherpad 1:2.6-2 amd64 The EtherPad Lite components for BigBlueButton
ii bbb-freeswitch-core 2:2.6-3 amd64 BigBlueButton build of FreeSWITCH
ii bbb-freeswitch-sounds 1:2.6-1 amd64 FreeSWITCH Sounds
ii bbb-fsesl-akka 2.6-5 all BigBlueButton FS-ESL (Akka)
ii bbb-html5 1:2.6-8 amd64 The HTML5 components for BigBlueButton
ii bbb-learning-dashboard 1:2.6-3 amd64 BigBlueButton bbb-learning-dashboard
ii bbb-libreoffice-docker 1:2.6-1 amd64 BigBlueButton setup for LibreOffice running in docker
ii bbb-mkclean 1:2.6-1 amd64 Clean and optimize Matroska and WebM files
ii bbb-pads 1:2.6-8 amd64 BigBlueButton Pads
ii bbb-playback 1:2.6-2 amd64 BigBlueButton playback
ii bbb-playback-presentation 1:2.6-3 amd64 BigBluebutton playback of presentation
ii bbb-record-core 1:2.6-4 amd64 BigBlueButton record and playback
ii bbb-web 1:2.6-5 amd64 BigBlueButton API
ii bbb-webrtc-sfu 1:2.6-6 amd64 BigBlueButton WebRTC SFU
---------------------------------------------------------------------------------------------------------------
安装 Greenlight(这是-g选项)后,您可以https://<hostname>/b在浏览器中打开(<hostname>您在命令中指定的主机名在哪里bbb-install-2.6.sh),创建一个本地帐户,创建一个房间并加入它。
您可以通过提供服务器地址和共享机密的集成,将 BigBlueButton 与第三方集成之一集成。您可以bbb-conf使用 来显示此信息bbb-conf --secret。
$ sudo bbb-conf --secret
URL: https://bbb.example.com/bigbluebutton/
Secret: 330a8b08c3b4c61533e1d0c334
Link to the API-Mate:
API Mate
API-Mate 的链接将在API Mate打开一个页面,并让您将有效的 API 调用发送到您的服务器。这使得在没有任何前端(如 Greenlight)的情况下进行测试变得容易。
配置防火墙(如果需要)
你和你的用户之间有防火墙吗?如果是这样,请参阅配置防火墙。
升级 BigBlueButton 2.6
您可以通过再次运行bbb-install-2.6.sh脚本来升级——它将下载并安装最新版本的 BigBlueButton 2.6。
从 BigBlueButton 2.5
您可以通过几个步骤升级:
确保你没有bbb-demo安装sudo apt purge bbb-demo
然后运行bbb-install-2.6.sh脚本——它会在旧的 2.5 版本之上下载并安装最新版本的 BigBlueButton 2.6。
请务必阅读“2.6 中的新增功能”文档https://docs.bigbluebutton.org/2.6/new,特别是https://docs.bigbluebutton.org/2.6/new#other-notable-changes
从 BigBlueButton 2.4
如果您要升级 BigBlueButton 2.4 或 2.3,我们建议您使用 BigBlueButton 2.5 设置新的 Ubuntu 20.04 服务器,然后从旧服务器复制现有记录。
重启你的服务器
您可以随时使用命令重新启动并检查您的 BigBlueButton 服务器
$ sudo bbb-conf --restart
$ sudo bbb-conf --check
扫描bbb-conf --check一些日志文件以查找错误消息。同样,随后的任何输出都Potential problems 可能表示配置错误或安装错误。在许多情况下,这些消息会为您提供有关如何解决问题的建议。
如果您看到其他警告消息,请检查故障排除安装。
安装后步骤
如果此服务器用于生产,您还应该
- 保护您的系统——限制对特定端口的访问
- 配置服务器以在防火墙后工作(如果您安装在防火墙后或具有公共/私有 IP 地址的服务器上)
- 删除 Greenlight(如果您安装了它并且不再需要它)
- 设置 TURN 服务器(如果您的服务器在 Internet 上并且您有用户从限制性防火墙后面访问它)
- 测试您的 HTTPS 配置。一个备受推崇的可以进行一系列自动化测试的站点是SSL Server Test (Powered by Qualys SSL Labs) - 只需输入您的服务器的主机名,如果您想保留,可以选择选中“不显示结果”复选框它是私有的,然后提交。在撰写本文时,此页面上显示的配置应该在 SSL Labs 测试页面中获得“A”等级。
我们提供可用于测试的可公开访问的服务器:
- https://demo.bigbluebutton.org - 带有 Greenlight 前端的 BigBlueButton 服务器池(有时该池是不同 BigBlueButton 版本的混合体)
- https://test26.bigbluebutton.org - 运行 BigBlueButton 2.6 的一般构建 - 通常在存储库分支之后几天v2.6.x-release
要了解有关将 BigBlueButton 与您的应用程序集成的更多信息,请查看BigBlueButton API 文档。要查看 BigBlueButton HTML5 客户端的视频,请参阅BigBlueButton Tutorials | Virtual Classroom Software。
其他安装选项
有社区成员为 BigBlueButton 提供其他安装选项。
如果您希望使用Scalelite部署 BBB 的大规模安装,那么您的服务器最好使用 Ansible 等工具进行管理。您可能会使用此设置的几个原因是:
- 易于定制:每次自动升级时,您的自定义配置都会被替换
- 跨机器奇偶校验:确保在每台服务器上部署完全相同版本的 BBB
- 消除设置中的人为错误:使用 bbb-install-2.6.sh 或循序渐进的方法很容易出现人为错误,因为您很容易忘记是否启用了设置、选择了 X 而不是 Y 等
- 最大程度地自动化:通过自动化流程,您本质上可以节省麻烦的故障排除时间和手动配置所浪费的时间
- 轻松大规模扩展:在不到 15 分钟的时间内启动 BBB 服务器的相同副本,无需用户输入——预先配置并准备就绪
如果您已经熟悉 BigBlueButton、Scalelite 和 Greenlight/其他前端背后的大量技术知识,请选择此方法。请参阅以下示例来创建您的安装。
注意:这些示例不是由官方 BigBlueButton 开发人员维护或开发的。这些完全来自社区,请自行决定使用。
前两个以一致的方式在您的服务器上安装 BigBlueButton。您可以指定变量,例如是否也安装 Greenlight、用于 TURN 的端口等等。功能上与 bbb-install-2.6.sh 非常相似,但高度自动化。
除了核心 BigBlueButton 包之外,大规模部署还必须包括其他几个组件。其中包括 Scalelite、Greenlight、数据库、备份、nginx 配置等。
请参阅服务器自定义页面,了解您可以执行哪些操作来使 BigBlueButton 适应您的环境或在安装后启用可选功能。例如
包 locales-all 不可用
该软件包bbb-libreoffice需要为 libreoffice 构建一个 docker 镜像。如果在防火墙后面的网络上安装时收到以下错误
Package locales-all is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'locales-all' has no installation candidate
E: Unable to locate package libxt6
E: Unable to locate package libxrender1
The command '/bin/sh -c apt -y install locales-all fontconfig libxt6 libxrender1' returned a non-zero code: 100
dpkg: error processing package bbb-libreoffice-docker (--configure):
installed bbb-libreoffice-docker package post-installation script subprocess returned error exit status 100
Ubuntu 20.04 使用 systemd-resolved,它提供了一个本地缓存解析器并在/etc/resolv.conf. 如果您遇到上述错误并且有一个本地名称服务器,例如10.11.12.13,然后尝试将其添加到主机resolv.conf。
echo "nameserver 10.11.12.13" > /etc/resolv.con
原文地址(注:以下上容做了注解):Install BigBlueButton | BigBlueButton
6248

被折叠的 条评论
为什么被折叠?



