2021-03-03

在BigBlueButton服务器上安装GreenLight

BigBlueButton服务器要求

在安装Greenlight之前,您必须具有BigBlueButton服务器才能对其进行安装。该服务器必须:

  • 具有BigBlueButton 2.0(或更高版本)的版本。
  • 具有完全限定的主机名。
  • 拥有有效的SSL证书(HTTPS)。

1.安装Docker

使用存储库安装

在新主机上首次安装Docker Engine之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。

设置存储库

  1. 更新apt软件包索引并安装软件包以允许apt通过HTTPS使用存储库:
$ sudo apt-get update
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
  1. 添加Docker的官方GPG密钥:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  1. 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥 。
$ sudo apt-key fingerprint 0EBFCD88
pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]
  1. 使用以下命令来设置稳定的存储库。要添加其他存储库,请在以下命令中的单词后面添加nightlytest(或两者)stable了解每晚测试频道

注意:下面的lsb_release -cs子命令返回Ubuntu发行版的名称,例如xenial。有时,在Linux Mint等发行版中,您可能需要更改$(lsb_release -cs) 为父Ubuntu发行版。例如,如果您使用 Linux Mint Tessa,则可以使用bionic。Docker对未经测试和不受支持的Ubuntu发行版不提供任何保证。

  • x86_64 / amd64
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
  1. 更新apt程序包索引,并安装最新版本的Docker Engine和容器,或转到下一步以安装特定版本:
$ sudo apt-get update
 $ sudo apt-get install docker-ce docker-ce-cli containerd.io

有多个Docker存储库?

如果启用了多个Docker存储库,则在未在apt-get installor apt-get update命令中指定版本的情况下进行安装或更新将始终安装可能的最高版本,这可能不适合您的稳定性需求。

  1. 要安装特定版本的Docker Engine,请在存储库中列出可用版本,然后选择并安装:
    一种。列出您的仓库中可用的版本:(当前测试docker版本Docker version 20.10.2, build 2291f61)
$ apt-cache madison docker-ce
  docker-ce | 5:18.09.1~3-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu  xenial/stable amd64 Packages
  docker-ce | 5:18.09.0~3-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu  xenial/stable amd64 Packages
  docker-ce | 18.06.1~ce~3-0~ubuntu       | https://download.docker.com/linux/ubuntu  xenial/stable amd64 Packages
  docker-ce | 18.06.0~ce~3-0~ubuntu       | https://download.docker.com/linux/ubuntu  xenial/stable amd64 Packages
  ...
  1. b。使用第二列中的版本字符串安装特定版本,例如5:18.09.1~3-0~ubuntu-xenial
$ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
  1. 通过运行hello-world 映像来验证是否正确安装了Docker Engine 。
$ sudo docker run hello-world
  1. 此命令下载测试图像并在容器中运行它。容器运行时,它会打印参考消息并退出。

2.安装Greenlight

首先,创建Greenlight目录以供其使用。

mkdir ~/greenlight && cd ~/greenlight

Greenlight将从.env文件中读取其环境配置。要生成此文件并安装Greenlight Docker映像,请运行:

docker run --rm bigbluebutton/greenlight:v2 cat ./sample.env > .env

配置Greenlight

如果打开.env文件,您将看到它包含所有Greenlight配置选项的信息。其中一些是强制性的。

在第二步中安装时,该.env文件是在生成的~/greenlight/.env

生成密钥

Greenlight需要一个秘密密钥才能在生产中运行。要生成此代码,请运行:

docker run --rm bigbluebutton/greenlight:v2 bundle exec rake secret

.env文件内部,将SECRET_KEY_BASE选项设置为此键。您无需将其用引号引起来。

设置BigBlueButton凭证

默认情况下,test-install.blindsidenetworks.com如果未指定BigBlueButton凭据,您的Greenlight实例将自动连接。要将Greenlight设置为连接到BigBlueButton服务器(安装该服务器的服务器),您需要为Greenlight提供端点和密码。要获取凭据,请运行:

sudo bbb-conf --secret

.env文件中,将设置BIGBLUEBUTTON_ENDPOINT为URL,然后将其设置BIGBLUEBUTTON_SECRET为密钥。

设置允许的主机

出于与安全相关的原因,您还需要指定可从中访问应用程序的域。

.env文件中,将设置SAFE_HOSTS为您的域。如果https://bbb.example.com/b那时可以访问GreenlightSAFE_HOSTS=bbb.example.com

配置特定设置

除了上面列出的3种配置外,还有许多其他配置Greenlight的选项。.env文件中列出了所有可能的配置。

您可以在此处找到有关特定设置的更多信息。

3.配置Nginx路由到Greenlight

Greenlight将配置为部署在/b子目录中。这是必需的,因此它不会与其他BigBlueButton组件冲突。此子目录的Nginx配置存储在Greenlight映像中。要将此配置文件添加到您的BigBlueButton服务器,请运行:

docker run --rm bigbluebutton/greenlight:v2 cat ./greenlight.nginx | sudo tee /etc/bigbluebutton/nginx/greenlight.nginx

验证Nginx配置文件(/etc/bigbluebutton/nginx/greenlight.nginx)是否到位。如果是这样,请重新启动Nginx,以获取新配置。

sudo systemctl restart nginx

这会将所有请求路由https://<hostname>/b到Greenlight应用程序。如果您希望使用其他相对根,则可以按照此处概述的步骤进行操作。

(可选)如果希望将BigBlueButton服务器的根目录中的默认登录页面重定向到Greenlight,请/etc/nginx/sites-available/bigbluebutton在最后一个}字符之前的底部添加以下条目。

location = / {
  return 307 /b;
}

为了使此更改生效,您必须再次重新启动Nginx。

4.启动Greenlight 2.0

要启动Greenlight Docker容器,必须安装docker-compose,以简化Docker容器的启动和停止过程。

安装docker-compose通过以下步骤为在Linux上安装docker-compose的文档。您可能需要docker-compose使用sudo运行所有命令。如果要更改此设置,请签出以非root用户身份管理docker。不要安装(通过apt-getdocker-composeUbuntu 16.04中打包的版本,因为它太旧了。

安装docker-compose

从Github的Compose存储库下载Docker Compose二进制文件,如果要安装不同版本的1.24.0,请在命令中替换为要使用的Compose版本。(当前开发测试版本docker-compose version 1.28.2, build 67630359)

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

对二进制文件执行权限

sudo chmod +x /usr/local/bin/docker-compose

如果这一步遇到问题,可以创建/usr/bin路径建立链接

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

检查版本

docker-compose --version

使用 docker-compose

在继续之前,请docker-compose通过运行以下命令验证是否已安装:

cd ~/greenlight
docker-compose -v

接下来,您应该将docker-compose.yml文件从Greenlight映像复制到~/greenlight目录中。为此,请运行:

docker run --rm bigbluebutton/greenlight:v2 cat ./docker-compose.yml > docker-compose.yml

最后,随机生成PostgreSQL数据库的密码,.env.docker-compose.yml使用此命令替换and文件中的条目

export pass=$(openssl rand -hex 8); sed -i 's/POSTGRES_PASSWORD=password/POSTGRES_PASSWORD='$pass'/g' docker-compose.yml;sed -i 's/DB_PASSWORD=password/DB_PASSWORD='$pass'/g' .env

完成这些步骤后,从~/greenlight目录中使用以下命令启动应用程序:

注意:由于自定义域名DNS无法解析,所以需要在docker-compose.yml配置extra_hosts映射。

services:
  app:
    entrypoint: [bin/start]
    image: bigbluebutton/greenlight:v2
    container_name: greenlight-v2
    env_file: .env
    restart: unless-stopped
    ports:
      - 127.0.0.1:5000:80
    extra_hosts:
      - "bigbluebutton.example.com:192.168.0.1"
docker-compose up -d

这将启动Greenlight,您应该可以通过访问它https://<hostname>/b

数据库已保存到BigBlueButton服务器,因此重新启动时数据仍然存在。可以在找到~/greenlight/db

来自应用程序的所有日志也都保存到BigBlueButton服务器,该服务器位于~/greenlight/log

如果您不希望其中任何一个持久存在,只需从docker-compose.yml文件中删除卷即可。

要停止应用程序,请运行:

docker-compose down
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
embedcpp-2021-03是一个有关嵌入式C++编程的课程,于2021年3月举办。嵌入式C++编程是指在嵌入式系统中使用C++编程语言进行开发的一种方法。 在嵌入式系统中,资源通常是有限的,例如处理器速度、内存容量和存储空间等。因此,使用C++编程语言可以提供更高的灵活性和效率,帮助开发人员充分利用有限的资源。C++在嵌入式系统中的应用范围广泛,例如物联网设备、汽车电子和工业自动化等领域。 embedcpp-2021-03课程旨在向学员介绍嵌入式C++编程的基础知识和技巧。课程内容通常包括以下方面: 1. C++语法和特性:介绍C++的基本语法、面向对象编程和泛型编程等概念,以及C++11、C++14和C++17的一些新特性。 2. 嵌入式系统概述:了解嵌入式系统的基本特点、硬件和软件组成,以及与传统桌面开发的区别。 3. 低级编程:学习如何与硬件交互,包括使用寄存器、配置外设和处理中断等。还可以介绍使用汇编语言优化性能的技巧。 4. 内存管理:探讨嵌入式系统中的内存管理技术,包括堆栈和堆的使用、动态内存分配和对象生命周期管理等。 5. 实时操作系统(RTOS):介绍嵌入式系统中常用的实时操作系统,如FreeRTOS和µC/OS等,学习如何使用RTOS进行任务调度和资源管理。 除了理论知识,embedcpp-2021-03课程通常还包括实际的项目练习,以帮助学员将所学知识应用于实际场景。通过该课程,学员可以了解嵌入式C++编程的基础概念和实践技巧,为嵌入式系统开发提供了一定的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值