Skip to content
This repository was archived by the owner on Mar 22, 2023. It is now read-only.

Commit 8a0325f

Browse files
authored
Merge branch 'master' into master
2 parents 9aaab95 + 3ed7604 commit 8a0325f

10 files changed

+136
-121
lines changed

_posts/2.4/2021-05-01-architecture.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ layout: page
33
title: 'Architecture'
44
category: 2.4
55
date: 2021-05-01 17:34:41
6+
redirect_from:
7+
- /overview/architecture.html
68
order: 4
79
---
810

@@ -73,9 +75,9 @@ BigBlueButton web application is a Java-based application written in Scala. It i
7375

7476
The BigBlueButton API provides a third-party integration (such as the [BigBlueButtonBN plugin](https://moodle.org/plugins/mod_bigbluebuttonbn) for Moodle) with an endpoint to control the BigBlueButton server.
7577

76-
Every access to BigBlueButton comes through a front-end portal (we refer to as a third-party application). BigBlueButton integrates Moodle, Wordpress, Canvas, Sakai, and others (see [third-party integrations](http://bigbluebutton.org/integrations/)). BigBlueButton comes with its own front-end called [Greenlight](/install/greenlight-v2.html). When using a learning management system (LMS) such as Moodle, teachers can setup BigBlueButton rooms within their course and students can access the rooms and their recordings.
78+
Every access to BigBlueButton comes through a front-end portal (we refer to as a third-party application). BigBlueButton integrates Moodle, Wordpress, Canvas, Sakai, MatterMost, and others (see [third-party integrations](http://bigbluebutton.org/integrations/)). BigBlueButton comes with its own front-end called [Greenlight](/greenlight/gl-install.html). When using a learning management system (LMS) such as Moodle, teachers can setup BigBlueButton rooms within their course and students can access the rooms and their recordings.
7779

78-
The BigBlueButton comes with some simple [API demos](http://demo.bigbluebutton.org/demo/demo1.jsp). Regardless of which front-end you use, they all use the [API](/dev/api.html) under the hood.
80+
The BigBlueButton comes with some simple [API demos](2.4/install.html#install). Regardless of which front-end you use, they all use the [API](/dev/api.html) under the hood.
7981

8082
## Redis PubSub
8183

@@ -106,7 +108,7 @@ FreeSWITCH to easily create their own integration. Communication between apps an
106108

107109
We think FreeSWITCH is an amazing piece of software for handling audio.
108110

109-
FreeSWITCH provides the voice conferencing capability in BigBlueButton. Users are able to join the voice conference through the headset. Users joining through Google Chrome or Mozilla Firefox are able to take advantage of higher quality audio by connecting using WebRTC. FreeSWITCH can also be [integrated with VOIP providers](/install/install.html#add-a-phone-number-to-the-conference-bridge) so that users who are not able to join using the headset will be able to call in using their phone.
111+
FreeSWITCH provides the voice conferencing capability in BigBlueButton. Users are able to join the voice conference through the headset. Users joining through Google Chrome or Mozilla Firefox are able to take advantage of higher quality audio by connecting using WebRTC. FreeSWITCH can also be [integrated with VOIP providers](/admin/customize.html#add-a-phone-number-to-the-conference-bridge) so that users who are not able to join using the headset will be able to call in using their phone.
110112

111113
## Kurento and WebRTC-SFU
112114

_posts/2.4/2021-09-22-dev.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ layout: page
33
title: 'Development'
44
category: 2.4
55
date: 2021-09-22 11:42:28
6+
redirect_from:
7+
- /dev/setup.html
68
order: 3
79
---
810

@@ -34,7 +36,7 @@ The instructions in this guide are step-by-step so you can understand each step
3436

3537
- First, use Google to search for the error. There is a wealth of information in [bigbluebutton-dev](https://groups.google.com/forum/?fromgroups=#!forum/bigbluebutton-dev) that has been indexed by Google.
3638
- Try doing the same steps on a different BigBlueButton server.
37-
- Post a question to bigbluebutton-dev with a description of the problem and the steps to reproduce. Post logs and error messages to [Pastebin](http://pastebin.com) link them in your post.
39+
- Post a question to bigbluebutton-dev with a description of the problem and the steps to reproduce. Post logs and error messages to [Pastebin](https://pastebin.com/) link them in your post.
3840

3941
### You Have a Working BigBlueButton Server
4042

@@ -239,7 +241,7 @@ Below is an overview of the different components in a production set-up. When de
239241

240242
## (Optional) Install bbb-demo
241243

242-
Note that at this point we recommend installing and using [GreenLight](/greenlight/install.html) or using API-MATE (link can be found when you run `$ bbb-conf --salt`).
244+
Note that at this point we recommend installing and using [GreenLight](/greenlight/gl-install.html) or using API-MATE (link can be found when you run `$ bbb-conf --salt`).
243245

244246
If you want to test the installation or to easily start/join meetings while you are developing, you can alternatively install `bbb-demos`:
245247

_posts/2.5/2021-05-01-install.md

Lines changed: 99 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@ order: 2
88

99
<!-- TODO The latest version of [BigBlueButton](/) is 2.5 (referred hereafter as simply BigBlueButton). -->
1010

11-
From the user's point of view, BigBlueButton is a virtual classroom for online teaching and learning. It was built for online learning, has a large community of teachers and developers that constantly work to improve it, and is deeply embedded into the world's major learning management system. Users run BigBlueButton within their [browsers](/support/faq.html#what-are-the-minimum-bandwidth-requirements-for-a-user) with no additional software to install.
12-
13-
From the administrator's point of view, BigBlueButton web-based application. The BigBlueButton server runs a number of back-end processes to handle media, incoming [API calls](/dev/api.html), processing of uploaded slides, and conversion of captured media into [recordings](/dev/recording.html). Administrators install BigBlueButton on an Ubuntu 20.04 64-bit server. This document shows you how to install.
11+
BigBlueButton 2.5 is under active development. We have tools to make it easy for you, a system administrator, to install BigBlueButton on a dedicated linux server. This document shows you how to install.
1412

1513
# Before you install
1614

@@ -34,9 +32,7 @@ For production, we recommend the following minimum requirements
3432
- A hostname (such as bbb.example.com) for setup of a SSL certificate
3533
- IPV4 and IPV6 addres
3634

37-
We also recommend installing on a bare metal server if possible. BigBlueButton uses FreeSWITCH for processing of incoming audio packets and FreeSWITCH works best in a non-virtualized environment (also see [FreeSWITCH recommended configurations](https://freeswitch.org/confluence/display/FREESWITCH/Performance+Testing+and+Configurations#PerformanceTestingandConfigurations-RecommendedConfigurations)). Additonally, Kurento is used for routing audio-only streams and video streams.
38-
39-
You can also install BigBlueButton on a virtualized environment or the cloud. For installing in virtual environments we recommend choosing a compute-intensive instance. For Amazon, choose a c5.2xlarge instance (or larger). On Digital Ocean we recommend the c-8 compute intensive instances (or larger). On Hetzner we recommend the AX51 servers or CCX32 instances.
35+
If you install BigBlueButton on a virtual machine in the cloud, we recommend you choose an instance type that has dedicated CPU. These are usually called "compute-intensive" instances. On Digital Ocean we recommend the c-8 compute intensive instances (or larger). On AWS we recommend c5a.2xlarge (or larger). On Hetzner we recommend the AX51 servers or CCX32 instances.
4036

4137
If you are setting up BigBlueButton for local development on your workstation, you can relax some of the above requirements as there will only be few users on the server. Starting with the above requirements, you can reduce them as follows
4238

@@ -45,11 +41,11 @@ If you are setting up BigBlueButton for local development on your workstation, y
4541
- 50G of disk space
4642
- IPV4 address only
4743

48-
Regardless of your environment, you'll need to setup a SSL certificate on the server. Why? For users to share audio/video from their computer, all browsers require a valid SSL certificate from the server to grant access to the user's webcam or microphone via web real-time communications (WebRTC). If you try to access a BigBlueButton server with an IP address only, the browsers will block BigBlueButton client from accessing your webcam or microhone.
44+
Regardless of your environment, the setup steps will include configuring a SSL certificate on the nginx server. Why? All browsers now require a valid SSL certificate from the web server when a page requests access to the user's webcam or microphone via web real-time communications (WebRTC). If you try to access a BigBlueButton server with an IP address only, the browsers will block BigBlueButton client from accessing your webcam or microhone.
4945

5046
## Pre-installation checks
5147

52-
Got a Ubuntu 20.04 64-bit server ready for installation? Great! But, before jumping into the installation section below, let's do a few quick configuration checks to make sure your server meets the minimum requirements.
48+
Got a Ubuntu 20.04 64-bit server ready for installation? Great! But, before jumping into the installation section below, let's do a few quick configuration checks to make sure your server meets the minimum requirements.
5349

5450
Doing these checks will significantly reduce the chances you'll hit a problem during installation.
5551

@@ -128,8 +124,6 @@ $ uname -r
128124
5.4.x-xx-generic
129125
```
130126

131-
Note: BigBlueButton will **not** run on a 2.6 Kernel (such as Linux 2.6.32-042stab133.2 on x86_64 on OpenVZ VPS).
132-
133127
Next, check that your server has (at least) 8 CPU cores
134128

135129
```bash
@@ -139,7 +133,7 @@ $ grep -c ^processor /proc/cpuinfo
139133

140134
Sometimes we get asked "Why are you only supporting Ubuntu 20.04 64-bit?". The answer is based on choosing quality over quantity. Long ago we concluded that its better for the project to have solid, well-tested, well-documented installation for a specific version of Linux that works really, really well than to try and support may variants of Linux and have none of them work well.
141135

142-
At the moment, the requirement for docker may preclude running 2.5 within some virtualized environments, such as LXC and containerd; however, it ensures libreoffice runs within a restricted sandbox for document conversion. We are exploring if we can run libreoffice within systemd (such as systemd-nspawn).
136+
At the moment, the requirement for docker may preclude running 2.5 within some virtualized environments; however, it ensures libreoffice runs within a restricted sandbox for document conversion. We are exploring if we can run libreoffice within systemd (such as systemd-nspawn).
143137

144138
# Install
145139

@@ -157,11 +151,83 @@ After the `bbb-install-2.5.sh` script finishes, you can check the status of your
157151

158152
```bash
159153
$ sudo bbb-conf --check
154+
BigBlueButton Server 2.5.0-alpha.5 (135)
155+
Kernel version: 5.4.0-97-generic
156+
Distribution: Ubuntu 20.04.4 LTS (64-bit)
157+
Memory: 16392 MB
158+
CPU cores: 8
159+
160+
/etc/bigbluebutton/bbb-web.properties (override for bbb-web)
161+
/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties (bbb-web)
162+
bigbluebutton.web.serverURL: https://bbb.example.com
163+
defaultGuestPolicy: ALWAYS_ACCEPT
164+
svgImagesRequired: true
165+
defaultMeetingLayout: SMART_LAYOUT
166+
167+
/etc/nginx/sites-available/bigbluebutton (nginx)
168+
server_name: bbb.example.com
169+
port: 80, [::]:80
170+
port: 443 ssl
171+
172+
/opt/freeswitch/etc/freeswitch/vars.xml (FreeSWITCH)
173+
local_ip_v4: 133.203.31.211
174+
external_rtp_ip: 133.203.31.211
175+
external_sip_ip: 133.203.31.211
176+
177+
/opt/freeswitch/etc/freeswitch/sip_profiles/external.xml (FreeSWITCH)
178+
ext-rtp-ip: $${local_ip_v4}
179+
ext-sip-ip: $${local_ip_v4}
180+
ws-binding: 133.203.31.211:5066
181+
wss-binding: 133.203.31.211:7443
182+
183+
/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback)
184+
playback_host: bbb.example.com
185+
playback_protocol: https
186+
ffmpeg: 4.2.4-1ubuntu0.1
187+
188+
/usr/share/bigbluebutton/nginx/sip.nginx (sip.nginx)
189+
proxy_pass: 133.203.31.211
190+
protocol: http
191+
192+
/usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml (Kurento SFU)
193+
/etc/bigbluebutton/bbb-webrtc-sfu/production.yml (Kurento SFU - override)
194+
kurento.ip: 133.203.31.211
195+
kurento.url: ws://127.0.0.1:8888/kurento
196+
kurento.sip_ip: 133.203.31.211
197+
recordScreenSharing: true
198+
recordWebcams: true
199+
codec_video_main: VP8
200+
codec_video_content: VP8
201+
202+
/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml (HTML5 client)
203+
/etc/bigbluebutton/bbb-html5.yml (HTML5 client config override)
204+
build: 19
205+
kurentoUrl: wss://bbb.example.com/bbb-webrtc-sfu
206+
enableListenOnly: true
207+
sipjsHackViaWs: true
208+
209+
/usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml (STUN Server)
210+
stun: coturn8.example.com
211+
212+
213+
# Potential problems described below
214+
# The following properties in /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties have no value:
215+
#
216+
........
217+
# Warning: The API demos are installed and accessible from:
218+
#
219+
# https://bbb.example.com
220+
#
221+
# and
222+
#
223+
# https://bbb.example.com/demo/demo1.jsp
224+
#
225+
# These API demos allow anyone to access your server without authentication
226+
# to create/manage meetings and recordings. They are for testing purposes only.
227+
# If you are running a production system, remove them by running:
228+
#
229+
# apt-get purge bbb-demo
160230

161-
___ TODO__
162-
___ TODO__
163-
___ TODO__
164-
___ TODO__
165231
```
166232

167233
Any output that followed `Potential problems` **may** indicate configuration errors or installation errors. In many cases, the messages will give you recommendations on how to resolve the issue.
@@ -195,24 +261,24 @@ You can also use `dpkg -l | grep bbb-` to list all the core BigBlueButton packag
195261

196262
```bash
197263
# dpkg -l | grep bbb-
264+
ii bbb-apps-akka 2.5-12 all BigBlueButton Apps (Akka)
265+
ii bbb-config 1:2.5-25 amd64 BigBlueButton configuration utilities
266+
ii bbb-demo 1:2.5-10 amd64 BigBlueButton API demos
267+
ii bbb-etherpad 1:2.5-6 amd64 The EtherPad Lite components for BigBlueButton
268+
ii bbb-freeswitch-core 2:2.5-8 amd64 BigBlueButton build of FreeSWITCH
269+
ii bbb-freeswitch-sounds 1:2.5-5 amd64 FreeSWITCH Sounds
270+
ii bbb-fsesl-akka 2.5-11 all BigBlueButton FS-ESL (Akka)
271+
ii bbb-html5 1:2.5-19 amd64 The HTML5 components for BigBlueButton
272+
ii bbb-learning-dashboard 1:2.5-6 amd64 BigBlueButton bbb-learning-dashboard
273+
ii bbb-libreoffice-docker 1:2.5-4 amd64 BigBlueButton setup for LibreOffice running in docker
274+
ii bbb-mkclean 1:2.5-5 amd64 Clean and optimize Matroska and WebM files
275+
ii bbb-pads 1:2.5-3 amd64 BigBlueButton Pads
276+
ii bbb-playback 1:2.5-4 amd64 BigBlueButton playback
277+
ii bbb-playback-presentation 1:2.5-7 amd64 BigBluebutton playback of presentation
278+
ii bbb-record-core 1:2.5-8 amd64 BigBlueButton record and playback
279+
ii bbb-web 1:2.5-18 amd64 BigBlueButton API
280+
ii bbb-webrtc-sfu 1:2.5-14 amd64 BigBlueButton WebRTC SFU
198281

199-
ii bbb-apps-akka 2.5 all BigBlueButton Apps (Akka)
200-
ii bbb-config 1:2.5-9 amd64 BigBlueButton configuration utilities
201-
ii bbb-demo 1:2.5-2 amd64 BigBlueButton API demos
202-
ii bbb-etherpad 1:2.5-3 amd64 The EtherPad Lite components for BigBlueButton
203-
ii bbb-freeswitch-core 2:2.5-4 amd64 BigBlueButton build of FreeSWITCH
204-
ii bbb-freeswitch-sounds 1:2.5-2 amd64 FreeSWITCH Sounds
205-
ii bbb-fsesl-akka 2.5 all BigBlueButton FS-ESL (Akka)
206-
ii bbb-html5 1:2.5-12 amd64 The HTML5 components for BigBlueButton
207-
ii bbb-learning-dashboard 1:2.5-2 amd64 BigBlueButton bbb-learning-dashboard
208-
ii bbb-libreoffice-docker 1:2.5-2 amd64 BigBlueButton setup for LibreOffice running in docker
209-
ii bbb-mkclean 1:0.8.7-1 amd64 Clean and optimize Matroska and WebM files
210-
ii bbb-pads 1:2.5-2 amd64 BigBlueButton Pads
211-
ii bbb-playback 1:2.5-2 amd64 BigBlueButton playback
212-
ii bbb-playback-presentation 1:2.5-2 amd64 BigBluebutton playback of presentation
213-
ii bbb-record-core 1:2.5-3 amd64 BigBlueButton record and playback
214-
ii bbb-web 1:2.5-6 amd64 BigBlueButton API
215-
ii bbb-webrtc-sfu 1:2.5-6 amd64 BigBlueButton WebRTC SFU
216282

217283
```
218284
@@ -454,4 +520,4 @@ For more details see [this issue](https://github.com/bigbluebutton/bbb-install/i
454520
455521
# Feedback and reporting bugs
456522
457-
If you found a reproducible bug, please report it in the [GitHub Issues section](https://github.com/bigbluebutton/bigbluebutton/issues) with steps to reproduce (this will make it easier for the developers to fix the bug). Indicate in the body of the bug report that this applies to BigBlueButton 2.5 and give us the client build number, which you can find either with `dpkg -l | grep bbb-html5` or within the client in the `Settings -> About` menu.
523+
If you found a reproducible bug, please report it in the [GitHub Issues section](https://github.com/bigbluebutton/bigbluebutton/issues) with steps to reproduce (this will make it easier for the developers to fix the bug). Indicate in the body of the bug report that this applies to BigBlueButton 2.5 and give us the client build number, which you can find either with `dpkg -l | grep bbb-html5` or within the client in the `Settings -> About` menu..

0 commit comments

Comments
 (0)