BigBlueButton的安装过程整理

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: '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 可能表示配置错误或安装错误。在许多情况下,这些消息会为您提供有关如何解决问题的建议。

如果您看到其他警告消息,请检查故障排除安装

安装后步骤

如果此服务器用于生产,您还应该

我们提供可用于测试的可公开访问的服务器:

要了解有关将 BigBlueButton 与您的应用程序集成的更多信息,请查看BigBlueButton API 文档。要查看 BigBlueButton HTML5 客户端的视频,请参阅BigBlueButton Tutorials | Virtual Classroom Software

其他安装选项

有社区成员为 BigBlueButton 提供其他安装选项。

Ansible

如果您希望使用Scalelite部署 BBB 的大规模安装,那么您的服务器最好使用 Ansible 等工具进行管理。您可能会使用此设置的几个原因是:

  • 易于定制:每次自动升级时,您的自定义配置都会被替换
  • 跨机器奇偶校验:确保在每台服务器上部署完全相同版本的 BBB
  • 消除设置中的人为错误:使用 bbb-install-2.6.sh 或循序渐进的方法很容易出现人为错误,因为您很容易忘记是否启用了设置、选择了 X 而不是 Y
  • 最大程度地自动化:通过自动化流程,您本质上可以节省麻烦的故障排除时间和手动配置所浪费的时间
  • 轻松大规模扩展:在不到 15 分钟的时间内启动 BBB 服务器的相同副本,无需用户输入——预先配置并准备就绪

如果您已经熟悉 BigBlueButtonScalelite Greenlight/其他前端背后的大量技术知识,请选择此方法。请参阅以下示例来创建您的安装。

注意:这些示例不是官方 BigBlueButton 开发人员维护或开发的。这些完全来自社区,请自行决定使用。

前两个以一致的方式在您的服务器上安装 BigBlueButton。您可以指定变量,例如是否也安装 Greenlight、用于 TURN 的端口等等。功能上与 bbb-install-2.6.sh 非常相似,但高度自动化。

除了核心 BigBlueButton 包之外,大规模部署还必须包括其他几个组件。其中包括 ScaleliteGreenlight、数据库、备份、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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zclm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值