mconf/bbb-app-rooms本文档提供在本地环境部署Rooms工具和LTI-Broker应用,并配置与Moodle等学习管理系统(LMS)集成的详细步骤,包括环境准备、仓库配置、数据库设置、Nginx部署及LMS集成流程。
适用于需要在本地环境中部署Rooms工具和LTI-Broker,并将其与学习管理系统集成的开发者、系统管理员或教育机构技术人员。
在开始部署前,需确保本地环境已满足以下条件:
克隆Rooms和LTI-Broker的代码仓库:
bashgit clone [***] git clone [***]
进入Rooms应用目录并配置环境变量:
bashcd bbb-app-rooms cp dotenv .env sudo vi .env # 使用文本编辑器编辑.env文件
编辑以下必要变量值:
## 应用配置 # 运行openssl rand -hex 32生成密钥 SECRET_KEY_BASE= RELATIVE_URL_ROOT=apps ## 数据库配置 # DB_ADAPTER=[postgresql] # DB_HOST=<localhost> # DB_NAME= # DB_USERNAME=<root> # DB_PASSWORD= # BigBlueButton配置 BIGBLUEBUTTON_ENDPOINT=[***]<your-name>.blindside-dev.com/bigbluebutton/api BIGBLUEBUTTON_SECRET=<服务器密钥> BIGBLUEBUTTON_MODERATOR_ROLES=Instructor,Faculty,Teacher,Mentor,Administrator,Admin # BigBlueButton LTI Broker配置 OMNIAUTH_BBBLTIBROKER_SITE=[***]<JOHN>.blindside-dev.com OMNIAUTH_BBBLTIBROKER_ROOT=lti # 需与添加到Broker时的参数匹配 # rake db:apps:add[rooms,key,secret,[***]<JOHN>.blindside-dev.com/apps/rooms/auth/bbbltibroker/callback] OMNIAUTH_BBBLTIBROKER_KEY=<自定义key> OMNIAUTH_BBBLTIBROKER_SECRET=<自定义secret> ## 设置域名(必填) URL_HOST=lti.<JOHN>.blindside-dev.com ## 日志输出到标准输出(可选) RAILS_LOG_TO_STDOUT=true ## 通过应用提供静态资源(当前必填) RAILS_SERVE_STATIC_FILES=true ## 启用开发环境特性(可选) # RAILS_ENV=production
进入LTI-Broker目录并配置环境变量:
bashcd ~/bbb-lti-broker cp dotenv .env sudo vi .env # 使用文本编辑器编辑.env文件
配置内容:
POSTGRES_PASSWORD=<PostgreSQL数据库密码> POSTGRES_USER=postgres # 创建Rails密钥 # 可通过Greenlight Docker镜像生成: # docker run --rm bigbluebutton/greenlight:v2 bundle exec rake secret SECRET_KEY_BASE= # 应用配置 RELATIVE_URL_ROOT=lti # LTI工具配置 # DEFAULT_LTI_TOOL=rooms # DEVELOPER_MODE_ENABLED=true # WHITELIST_HOST=broker.example.com ## 设置域名(必填) URL_HOST=lti.<JOHN>.blindside-dev.com ## 连接外部PostgreSQL实例(可选) # DATABASE_URL=postgres://postgres:password@localhost ## 日志输出到标准输出(可选) RAILS_LOG_TO_STDOUT=true ## 通过应用提供静态资源(当前必填) RAILS_SERVE_STATIC_FILES=true ## 启用开发环境特性(可选) # RAILS_ENV=development
为两个应用创建并迁移数据库:
bash# 在Rooms应用目录执行 cd ~/bbb-app-rooms rake db:create db:migrate db:seed # 在LTI-Broker目录执行 cd ~/bbb-lti-broker rake db:create db:migrate db:seed
使用Rooms环境变量中配置的OMNIAUTH_BBBLTIBROKER_KEY和OMNIAUTH_BBBLTIBROKER_SECRET执行以下命令:
bashcd ~/bbb-lti-broker rake db:apps:add[rooms,[***]<JOHN>.blindside-dev.com/apps/rooms/auth/bbbltibroker/callback,<key>,<secret>] # 添加密钥到密钥集 rake db:keys:add[<key>:<secret>]
编辑Nginx配置文件:
bashsudo vim /etc/nginx/conf.d/default.conf
使用Nginx配置模板替换文件内容,保存后重启Nginx:
bashsudo systemctl restart nginx
分别启动Rooms和LTI-Broker应用:
bash# 启动Rooms(端口3012) cd ~/bbb-app-rooms rails s -b 0.0.0.0 -p 3012 # 启动LTI-Broker(端口3011) cd ~/bbb-lti-broker rails s -b 0.0.0.0 -p 3011
lti.<JOHN>.blindside-dev.com/lti[***]<JOHN>.blindside-dev.com/lti/default/xml_configdefault替换为rooms,刷新页面:[***]<JOHN>.blindside-dev.com/lti/rooms/xml_configsecure_launch_urlconsumer_key和shared_secret对应Rooms环境变量中的OMNIAUTH_BBBLTIBROKER_KEY和OMNIAUTH_BBBLTIBROKER_SECRET启动时支持以下自定义参数控制会议行为:
| 参数 | 说明 |
|---|---|
custom_recording | 设置为true时默认勾选"录制"选项;不设置则使用默认值 |
custom_all_moderators | 设置为true时默认勾选"所有用户为主持人"选项;不设置则使用默认值 |
custom_wait_moderator | 设置为true时默认勾选"等候主持人"选项;不设置则使用默认值 |
custom_allow_all_moderators | 设置为true允许用户切换"所有用户为主持人"选项;设为其他值隐藏该选项;不设置则显示 |
custom_allow_wait_moderator | 设置为true允许用户切换"等候主持人"选项;设为其他值隐藏该选项;不设置则显示 |



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务