bbb-install安装指南
bbb-install
bbb-install.sh
是一个shell脚本,它自动执行设置了BigBlueButton 2.2服务器的分步安装。
只需要几个参数,bbb-install.sh
就可以在30分钟内设置并准备好使用BigBlueButton服务器(取决于您的服务器下载和安装包的网络速度)。
例如,给定一个有公共IP地址的Ubuntu 16.04 64位服务器,安装/更新到最新版本的BigBlueButton2.2,通过SSH登录到服务器,先以root身份运行以下命令:
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-22 -a
该命令将下拉最新版本的bbb-install.sh
,将其发送到BASH shell解释器,并传递参数-v xenia -22
,该参数指定希望安装最新版本的BigBlueButton 2.2.N,-a
指定想要安装API演示(这使得在服务器上进行一些快速测试变得很容易)。
注意:如果您的服务器位于防火墙之后(如企业防火墙之后或AWS安全组之后),那么在启动客户端之前,您需要手动确定防火墙,以便将特定的internet连接转发到BigBlueButton服务器。
当bbb-install.sh
完成时,您将看到一条消息,该消息向您提供一个测试URL,以启动BigBlueButton客户端并加入一个名为“Demo meeting”的会议。
# Warning: The API demos are installed and accessible from:
#
# http://xxx.xxx.xxx.xxx
#
# and
#
# http://xxx.xxx.xxx.xxx/demo/demo1.jsp
#
# These API demos allow anyone to access your server without authentication
# to create/manage meetings and recordings. They are for testing purposes only.
# If you are running a production system, remove them by running:
#
# sudo apt-get purge bbb-demo
当您打开URL时,您应该会看到一个登录来加入 Demo Meeting
。
输入您的名字并单击Join。BigBlueButton客户机应该在浏览器中加载并提示您加入音频。
点击[x]跳过加入音频。为什么?使用上面的命令,BigBlueButton服务器被配置为只使用一个IP地址(没有安全性),因此,浏览器将阻止对webcam和麦克风的访问。
对于BigBlueButton的生产设置,服务器需要使用传输级别安全性(transport level security, TLS)为web页面提供服务。换句话说,您只能通过HTTP
(未加密)而不是HTTPS
(加密)访问此服务器,因为服务器当前缺乏为服务器主机名配置的安全套接字级别(SSL)证书。
没有TLS/SSL支持,浏览器将不允许通过内置实时通信(WebRTC)库访问用户的webcam或麦克风。
bbb-install.sh
可以自动请求TLS/SSL证书(来自Let’s Encrypt),并配置BigBlueButton服务器以使用该证书。下面几节将向您展示如何进行。
准备
在运行bbb-install.sh
之前,我们强烈建议您:
- 通读此页中的所有文档
- 确保您的服务器满足最小的服务器需求
- 解析到服务器的外部IP地址的完全限定域名(FQDN),如
bbb.example.com
要设置FQDN,您需要从域名系统(DNS)提供商(如GoDaddy或Network Solutions)购买一个域名。一旦购买,您将使用DNS提供商提供的web工具创建A Record
,该记录解析为您的BigBlueButton服务器的公共IP地址。(有关如何设置A Record
的详细信息,请查看DNS提供商的文档。)
有了FQDN域名的地方,你可以传递一些额外的参数给bbb-install.sh
来拥有它:
- 请求并安装来自Let’s Encrypt(我们喜欢Let’s Encrypt)的4096位TLS/SSL证书(可选)
- 安装和配置Greenlight,为用户提供一个简单的前端,使他们能够设置房间、举行在线会议和管理记录。(Greenlight还允许管理员在Greenlight中管理用户帐户)。
一旦BigBlueButton服务器配置了TLS/SSL证书,您的用户就可以使用FireFox和Chrome(推荐的浏览器)通过WebRTC在BigBlueButton会话中访问和共享他们的音频、视频和屏幕。
这里有bbb-install.sh
的完整源代码。为了让任何人都可以轻松地使用单个命令运行脚本,我们在https://ubuntu.bigbluebutton.org/bbb.install.sh上托管脚本的最新版本。
选择服务器
有很多可以提供你虚拟专用服务器托管公司BigBlueButton运行。我们在下面列出了一些流行的选择。注意:我们在这里没有做任何推荐,只是列出了一些更受欢迎的选择。
为了快速安装,Digital Ocean提供了两个虚拟服务器,一个是ubuntu16.04 64位,另一个是一个公共IP地址(没有防火墙)。Hetzner提供单一IP地址的专用服务器。
其他流行的选择,如ScaleWay(选择Bare Metal或Pro servers )和谷歌计算引擎,提供了设置在网络地址转换(NAT)之后的服务器。也就是说,它们都有一个内部和外部IP地址。在这些服务器上安装时,bbb-install.sh
将检测内部/外部地址并相应地配置BigBlueButton。
另一个流行的选择是亚马逊弹性计算云。我们推荐c5.xlarge
(或更大)实例。默认情况下,所有EC2服务器都位于防火墙之后(Amazon称之为安全组)。在EC2上安装BigBlueButton之前,您需要手动确定安全组,在Azure和谷歌计算引擎(GCE)上以类似的方式安装BigBlueButton。(请参见下一节的屏幕截图。)
最后,如果bbb-install.sh
无法在NAT之后配置服务器,我们建议按步骤安装BigBlueButton。(完成这些步骤也是了解BigBlueButton如何工作的好方法)。
配置防火墙
如果你想在防火墙后的服务器上安装BigBlueButton,比如Amazon的EC2安全组,你首先需要确定防火墙转发下列端口的传入流量:
- TCP/IP端口 22(用于SSH)
- TCP/IP 端口 80/443(用于 HTTP/HTTPS)
- UDP端口,范围16384 - 32768(用于FreeSWITCH/HTML5客户端RTP流)
如果您正在使用EC2,您还应该为服务器分配一个弹性IP地址,以防止它在重新启动时获得新的IP地址。
在Microsot Azure上,创建实例时,需要添加以下入站端口规则,以便在端口80、443和UDP端口范围16384-32768上启用入站连接:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vUxpmZWy-1589724453424)(assets/azure-firewall.png)]
在谷歌计算引擎上,当您创建实例时,您需要启用端口80和443。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QGFtQOmt-1589724453430)(assets/gce-80-443.png)]
创建实例之后,您需要添加一个防火墙规则,以允许端口范围为16384-32768的传入UDP通信。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jsuSgipp-1589724453439)(assets/gce-firewall.png)]
安装视频
以 Digital Ocean 为例,我们把这个视频放在一起,让你快速上手:使用bbb-install.sh
在Digital Ocean 上设置BigBlueButton。
使用Amazon EC2,请参阅在EC2上使用bbb-install.sh
进行安装。
命令选项
您可以通过传递-h
选项来获得帮助。
$ wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -h
Installer script for setting up a BigBlueButton 2.2 server.This script also supports installation of a separate coturn (TURN) server on a separate server.USAGE:bbb-install.sh [OPTIONS]OPTIONS (install BigBlueButton):-v <version> Install given version of BigBlueButton (e.g. 'xenial-22') (required)-s <hostname> Configure server with <hostname>-e <email> Email for Let's Encrypt certbot-x Use Let's Encrypt certbot with manual dns challenges-a Install BBB API demos-g Install GreenLight-c <hostname>:<secret> Configure with coturn server at <hostname> using <secret>-p <host> Use apt-get proxy at <host>-r <host> Use alternative apt repository (such as packages-eu.bigbluebutton.org)-d Skip SSL certificates request (use provided certificates from mounted volume)-h Print helpOPTIONS (install coturn):-c <hostname>:<secret> Configure coturn with <hostname> and <secret> (required)-e <email> Email for Let's Encrypt certbot (required)EXAMPLESSetup a BigBlueButton server./bbb-install.sh -v xenial-22./bbb-install.sh -v xenial-22 -s bbb.example.com -e info@example.com./bbb-install.sh -v xenial-22 -s bbb.example.com -e info@example.com -g./bbb-install.sh -v xenial-22 -s bbb.example.com -e info@example.com -g -c turn.example.com:1234324Setup a coturn server./bbb-install.sh -c turn.example.com:1234324 -e info@example.comSUPPORT:Source: https://github.com/bigbluebutton/bbb-installCommunity: https://bigbluebutton.org/support
只使用IP地址安装和配置
安装BigBlueButton 2.2(没有主机名或TLS/SSL证书):
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-22
就是这样。安装应该在大约15分钟内完成(取决于服务器的internet连接),并显示以下消息:
** Potential problems described below **......
# Warning: The API demos are installed and accessible from:
#
# http://xxx.xxx.xxx.xxx/demo/demo1.jsp
#
# These API demos allow anyone to access your server without authentication
# to create/manage meetings and recordings. They are for testing purposes only.
# If you are running a production system, remove them by running:
#
# sudo apt-get purge bbb-demo
该脚本还安装了bbb-demo
包,以便您可以立即测试安装。如果要删除API演示,请使用该命令:
sudo apt-get purge bbb-demo
如果希望将此服务器与第三方集成(如Moodle)一起使用,可以使用命令sudo bbb-conf --secret
获得BigBlueButton服务器的主机名和共享机密。
# bbb-conf --secretURL: http://xxx.xxx.xxx.xxx/bigbluebutton/Secret: yyyLink to the API-Mate:http://mconf.github.io/api-mate/#server=http://xxx.xxx.xxx.xxx/bigbluebutton/&sharedSecret=yyy
由于bbb-install.sh
的默认用法不支持SSL/TLS证书,虽然您可以登录到服务器,但您不能共享音频/视频,因为WebRTC需要SSL/TLS证书。
安装SSL / TLS
在bbb-install.sh
之前,可以安装SSL/TLS证书,您需要提供以下两项信息:
- 一个完全限定的域名(FQDN),例如
bbb.example.com
,它解析为您的服务器的公共IP地址。 - 一个电子邮件地址。
设置好FQDN之后,使用dig
命令检查它是否正确解析为服务器的外部IP地址。
dig bbb.example.com @8.8.8.8
注意:我们使用bbb.example.com
作为示例主机名。您可以用真正的主机名来代替检查(以及下面的命令)。
只需要这两部分信息——FQDN 和电子邮件地址——就可以使用bbb-install.sh
自动配置带有TLS/SSL证书的BigBlueButton服务器。例如,要使用来自Let’s Encrypt 的TLS/SSL证书安装BigBlueButton 2.2,请使用bbb.example.com
和info@example
,输入命令:
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-22 -s bbb.example.com -e info@example.com
(同样,你可以用bbb.example.com
和info@example.com
代替您的服务器的FQDN和您的电子邮件地址)。bbb-install.sh
脚本还将安装一个核心工作,该作业将自动更新 Let’s Encrypt 证书,这样它就不会过期。酷。
安装在专用网络中
默认安装是针对公开可用的服务器的。这是因为Let’s Encrypt 需要访问nginx,以便自动验证提供的FQDN。
当安装BigBlueButton私有网络,可以手动验证FODN,通过添加选项-x
命令行。如:
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-22 -s bbb.example.com -e info@example.com -x
确认电子邮件帐号的使用。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o:
确认IP地址的使用
Are you OK with your IP being logged?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o:
将生成一个challenge
并显示在控制台中。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name
_acme-challenge.bbb.example.com with the following value:0bIA-3-RqbRo2EfbYTkuKk7xq2mzszUgVlr6l1OWjW8Before continuing, verify the record is deployed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue
在点击Eneter之前,在DNS中创建一条TXT记录,记录下生成的challenge
。
_acme-challenge.bbb.example.com. TXT "0bIA-3-RqbRo2EfbYTkuKk7xq2mzszUgVlr6l1OWjW8" 60
这样做的缺点是,由于SSL证书在90天后过期,因此必须手动更新证书。在这种情况下,电子邮件在过期前几天发送,下一个命令必须通过控制台执行。
certbot --email info@example.com --agree-tos -d bbb.example.com --deploy-hook 'systemctl restart nginx' --no-bootstrap --manual-public-ip-logging-ok --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory certonly
安装API演示
您可以通过添加-a
选项来安装API演示。
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-22 -s bbb.example.com -e info@example.com -a
警告:这些API演示允许任何人访问您的服务器,而无需身份验证来创建/管理会议和记录。它们仅用于测试目的。完成测试后,可以使用sudo apt-get purge bbb-demo
删除API演示。
安装 Greenlight
Greenlight是Ruby on Rails编写的一个简单的BigBlueButton前端。它允许用户创建帐户,拥有永久的房间,并管理他们的录音。它还允许作为管理员的您管理用户帐户(例如批准或拒绝用户)。
您可以通过添加-g
选项来安装Greenlight。
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-22 -s bbb.example.com -e info@example.com -g
安装Greenlight后,它将把默认主页重定向到Greenlight。您还可以配置GreenLight来使用OAuth2身份验证。
要启动Greenlight,只需打开服务器的URL,例如https://bbb.example.com/。您应该会看到Greenlight登录页面。
要为Greenlight设置管理员帐户(以便您可以批准/拒绝注册),请输入以下命令:
cd greenlight/
docker exec greenlight-v2 bundle exec rake admin:create
这个命令将创建一个管理帐户并设置一个默认密码。运行此命令后,使用给定的用户名/密码登录并更改默认密码。接下来,选择“Administrator”并选择“Organization”。
然后您可以选择’Site Settings '在左手边,并改变Registration Method 为’Approve/Decline '。
现在可以控制谁在BigBlueButton服务器上创建帐户。有关更多信息,请参见Greenlight管理。
链接/var/bigbluebutton到另一个目录
安装脚本允许您传递一个路径,该路径将用于用/var/bigbluebutton
创建一个符号链接
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-22 -m /mnt/test
这允许用户存储/var/bigbluebutton
的内容,该内容在单独的卷中可能会变得非常大。
用一个命令做所有的事情
如果你想用TLS/SSL证书和GreenLight来设置BigBlueButton 2.2,你可以用一个命令来完成:
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-22 -s bbb.example.com -e info@example.com -g
此外,您可以重新运行相同的命令后更新服务器到最新版本的BiąBlueButton 2.2。我们宣布BiaBlueButton更新到BiaBlueButton-dey
邮件列表。
安装TURN服务器
您可以使用bbb-install.sh
自动化设置BigBlueButton的TURN服务器的步骤。
注意:此步骤是可选的,但如果您的BigBlueButton服务器在internet上是公开可执行的,并且可能被限制防火墙后的用户访问,则建议这样做。
BigBlueButton通常需要大量UDP端口才能用于WebRTC通信。在一些受网络限制的站点或开发环境中,例如NAT或防火墙后面的那些限制传出UDP连接的站点,用户可能无法将传出UDP连接到您的BigBlueButton服务器。
TURN协议的设计目的是允许基于udp的通信流(如WebRTC)绕过NAT或防火墙,方法是让客户机连接到TURN服务器,然后让TURN服务器代表它们连接到目的地。
您需要一个单独的服务器(而不是BigBlueButton服务器)来设置为TURN服务器。具体你需要:
- 一个带有公共IP地址的ubuntu18.04服务器
在TURN服务器上,您需要有以下端口(在端口22中)用于BigBlueButton连接(端口3478和443),以及用于coturn(穿透)连接到您的BigBlueButton服务器(49152- 65535)。
Ports | Protocol | Description |
---|---|---|
3478 | TCP/UDP | coturn listening port |
443 | TCP/UDP | TLS listening port |
49152-65535 | UDP | relay ports range |
我们推荐Ubuntu 18.04,因为它有一个比Ubuntu 16.04更新的coturn版本。此外,这个TURN服务器不需要非常强大,因为它只会在必要时将通信从BigBlueButton客户端转发到BigBlueButton服务器。例如,Digital Ocean上的双核服务器是一个不错的选择,它提供具有公共IP地址的服务器。
接下来,配置你需要的 TURN 服务器:
- 一个完全限定的域名(FQDN),带有解析到TURN服务器的外部公共IP地址的DNS条目
- Let’s Encrypt 的电子邮件地址
- 密钥(可以是您创建的8到16个字符的随机字符串)
有了上面的信息,您可以使用bbb-install.sh
为BigBlueButton设置一个TURN服务器,如下所示:
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -c <FQDN>:<SECRET> -e <EMAIL>
注意,我们省略了-v
选项,这导致bbb-install.sh
只安装和配置coturn。例如,turn.example.com
使用FQDN, 1234abcd
作为共享秘密,info@example.com
作为电子邮件地址,您可以使用该命令为BigBlueButton设置一个TURN 服务器:
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -c turn.example.com:1234abcd -e info@example.com
bbb-install.sh
使用Let’s Encrypt 来配置coturn以使用SSL证书。这一个SSL证书,coturn可以访问BigBlueButton服务器在TCP / IP的端口443上。这意味着,如果用户在一个限制所有UDP连接的防火墙后面,TURN服务器可以通过TCP / IP的端口443接受用户的连接,并通过UDP将数据转发到您的BigBlueButton服务器。
有了TURN服务器,您可以通过再次运行bbb-install.sh
命令并添加相同的 -c <FQDN>:<SECRET>
来配置BigBlueButton服务器来使用TURN服务器。例如:
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-22 -s bbb.example.com -e info@example.com -g -c turn.example.com:1234abcd
您可以为多个BigBlueButton安装共用一个TURN服务器。
下一步
如果您打算将此服务器用于生产,则应该使用该命令卸载API演示:
apt-get purge bbb-demo
您还可以对服务器进行许多定制。
故障排除
打包服务器被阻塞
我们目前在一个Digital Ocean servlet上托管打包,但最近Digital Ocean servlet的IP范围在一些国家被封锁。
如果在安装时遇到困难,可以尝试运行bbb-install.sh
命令,但是要更改值
把
https://ubuntu.bigbluebutton.org/bbb-install.sh
改为
https://packages-eu.bigbluebutton.org/bbb-install.sh
Greenlight未运行
如果在第一次安装Greenlight时出现500 error
,您可以重新启动Greenlight。
Tomcat7未运行
如果在初始安装时看到
# Not running: tomcat7 or grails LibreOffice
只要再次运行 sudo bbb-conf --check
。Tomcat7的启动时间可能要长一些,而且它不是第一次运行sudo bbb-conf --check
。
得到帮助
如果您对脚本有反馈,或者需要使用它的帮助,请将问题的详细信息(包括重现错误的步骤等相关信息)发布到BigBlueButton安装邮件列表。
如果您遇到脚本错误(例如没有完成或抛出错误),请打开GitHub问题并提供重现问题的步骤。
限制
如果您在防火墙后运行BigBlueButton,例如在EC2上,此脚本将不会配置您的防火墙。您需要手动配置防火墙。
bbb-install安装指南相关推荐
- 在CentOS 6.3 64bit上搭建python高性能框架gevent开发环境
1.升级python 2.6到python 2.7版本 为了业务需要,请在安装之前将python从2.6.6升级到2.7.10版本.参考博文: http://blog.csdn.net/tao_627 ...
- 使shell用结构化命令
shell--使用结构化命令 使用结构化命令 知识内容: # 改变命令流 # 使用if-then逻辑 # 嵌套if-then # 测试条件 # 高级if-then功能 许多程序在脚本命令之间需要某些逻 ...
- 第十五章 如何编写README文档
README 文档对于开源项目的重要性甚至会超过代码本身.你试想一下,你打开一个 Github 项目,第一时间就会看到 README 文档,而这时候同一类的项目你可能有很多选择,如果这个README不 ...
- NFV 2.1安装指南之十 —— Install and Configure vCloud director (VCD)
@[TOC](NFV 2.1安装指南之十 -- Install and Configure vCloud director (VCD)) 1. Install VCD VCD的安装方式有两种: 基于e ...
- 海波龙 11.1.2.4安装指南// hyperion install
参考信息 https://www.oracle.com/webfolder/technetwork/cn/obe/hyp_epm/kennedy_install/kennedy_obe.htm#t1s ...
- Storm 0.9安装指南
Storm 0.9.2安装指南 0 Storm0.9的亮点 引用网上的描写叙述: "Storm 0.9.0.1版本号的第一亮点是引入了netty transport.Storm网络传输机制实 ...
- 10个深度学习软件的安装指南(附代码)
来源:AI前线 本文长度为2385字,建议阅读4分钟 本文为你介绍10个深度学习软件安装指南. 由于近期论文的需要,我搭建了一个基于 Ubuntu 和英伟达的深度学习环境.尽管已经有很多非常棒的关于英 ...
- Facebook Docusaurus 中文文档 安装指南
此系列文章的应用示例已发布于 GitHub: docusaurus-docs-Zh_CN. 可以 Fork 帮助改进或 Star 关注更新. 欢迎 Star. 安装指南 Docusaurus 是从全新 ...
- 本机安装PaddlePaddle - 安装指南
简 介: 根据 文档安装指南 介绍了在本机安装PaddlePaddle的步骤. 关键词: PaddlePaddle,pip,安装 #mermaid-svg-RMWtzcncmslaS8dM {font ...
最新文章
- 为什么我们很难看到代码 5 分钟前的样子?
- Apache-2.2.32安装配置
- 手撸一个npm包,安利一下duiba-sprite
- linux 串口编程_ARM-Linux开发与MCU开发有何不同?上篇
- Yarn取代job/task tracker
- 深度学习 500 问!一份火爆 GitHub 的面试手册
- 金融运营智能化搞不定?百度智能云有妙方
- python爬虫去哪儿网_大型爬虫案例:爬取去哪儿网
- 检测客户pc电脑端VC++环境并安装
- 梅原对justin wang 真人版
- MySql 你知道事务隔离是怎么回事吗?
- 使用Log4j进行日志操作
- html打开软件连接的代码,《前端开发从零学起》Lesson.7 HTML中超链接的使用方法...
- Kubernetes如何删除deployment
- Jfinal启动原理及源码简析
- java 代码段 执行超时 抛异常_深入理解Java线程状态
- 【优化求解】基于matlab生物地理算法求解MLP问题【含Matlab源码 1415期】
- 腾讯云,搭建Git服务器
- ov5640帧率配置_码率、帧率、分辨率对监控有什么影响?怎么调更合适?
- 安卓开发——显示网速