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

Commit 1b09d9a

Browse files
Add documentation for creating development environment for BigBlueButton 2.3
A few things changed on how we install and setup 2.3, so i decided start it from zero and documented this trying to keep it consistent to docs format. I spent some time reading bbb-install.sh script to keep this process also consistent to current default installation of BBB.
1 parent 640317d commit 1b09d9a

File tree

1 file changed

+129
-6
lines changed

1 file changed

+129
-6
lines changed

_posts/2020-07-10-dev23.md

Lines changed: 129 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,11 @@ The player is a complete rewrite that gives the user much more control and navig
5959

6060
The react-based player will playback on iOS and Android phones and tablets.
6161

62-
The presentation area displays the current slide or screenshare.
62+
The presentation area displays the current slide or screenshare.
6363

6464
### Layout controls
6565

66-
The layout controls in the upper right-hand corner
66+
The layout controls in the upper right-hand corner
6767

6868
<img src="/images/22-playback-layout.png" alt="Layout" />
6969

@@ -210,14 +210,14 @@ We are now providing presenters with the option to randomly pick a student in th
210210

211211
# Installation
212212

213-
BigBlueButton 2.3-dev requires the same [minimum server requirements](https://docs.bigbluebutton.org/2.2/install.html#minimum-server-requirements) as 2.2, with the following notable differences
213+
BigBlueButton 2.3-dev requires the same [minimum server requirements](https://docs.bigbluebutton.org/2.2/install.html#minimum-server-requirements) as 2.2, with the following notable differences
214214

215215
* Ubuntu 18.04 64-bit
216216
* docker (Libreoffice now runs within a docker container)
217217

218218
The requirement for docker may preclude running 2.3-dev within some virtualized environments, such as LXC and containerd; however, it ensures libreoffice runs within a restrited sandbox for document conversion.
219219

220-
Use the [bbb-install.sh](https://github.com/bigbluebutton/bbb-install) script to install BigBlueButton 2.3-dev on an Ubuntu 18.04 server with a single command, such as
220+
Use the [bbb-install.sh](https://github.com/bigbluebutton/bbb-install) script to install BigBlueButton 2.3-dev on an Ubuntu 18.04 server with a single command, such as
221221

222222
For example, if the external hostname of your server was `bbb.example.com` and your e-mail address was `[email protected]`, you can install BigBlueButton 2.3-dev with the command
223223

@@ -289,7 +289,7 @@ RestartSec=3
289289
WantedBy=multi-user.target
290290
```
291291
292-
If you want 3 recording workers, for example, the steps below show how to add a systemd override file in `/etc/systemd/system/bbb-rap-resque-worker.service.d/override.conf` that sets `Environment=COUNT=3` and restarts the `bbb-rap-resque-worker.service` service.
292+
If you want 3 recording workers, for example, the steps below show how to add a systemd override file in `/etc/systemd/system/bbb-rap-resque-worker.service.d/override.conf` that sets `Environment=COUNT=3` and restarts the `bbb-rap-resque-worker.service` service.
293293
294294
295295
```
@@ -320,9 +320,132 @@ HERE
320320
`systemctl status bbb-rap-resque-worker.service` shows three resque workers ready to process upto three recordings in parallel.
321321
322322
# Setup development environment
323+
A few considerations before we start:
324+
- Required OS: Ubuntu 18.04 (bionic)
325+
- This is intended to run on containers/local-machine setup, such as LXC.
326+
- This process is similar to BBB 2.2's install. Since **this is not intended
327+
to run on production/public machine**, we won't use libreoffice's docker version,
328+
but you can manually install docker and then reconfigure bbb-libreoffice-docker
329+
to use 'dockerized' version. **!! Do not run BigBlueButton in a public server
330+
without the docker version of libreoffice !! There are security issues related
331+
to this. See this [CVE link](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-25820)**
323332
324-
To set up a development environment for 2.3-dev, follow the [steps from 2.2](https://docs.bigbluebutton.org/2.2/dev.html).
325333
334+
We'll do this in 3 steps:
335+
* [Install BBB **2.3-dev** (detailed below)](#installl-bbb-23-dev)
336+
* [Setup SSL (same as 2.2)](#setup-https)
337+
* [Setup development environment (same as 2.2)](#setup-development-environment-1)
338+
339+
340+
## Installl BBB 2.3-dev
341+
342+
### Install basic deps
343+
Install needed tools
344+
```bash
345+
sudo apt-get update && sudo apt-get install curl wget net-tools software-properties-common haveged apt-transport-https openjdk-8-jdk -y
346+
```
347+
Add needed repositories
348+
```bash
349+
sudo add-apt-repository ppa:bigbluebutton/support -y
350+
```
351+
```bash
352+
sudo add-apt-repository ppa:rmescandon/yq -y
353+
```
354+
```bash
355+
sudo add-apt-repository ppa:libreoffice/ppa
356+
```
357+
Upgrade packages
358+
```bash
359+
sudo apt-get update && sudo apt-get dist-upgrade
360+
```
361+
362+
### Install MongoDB
363+
##### (Note: BBB 2.3-dev uses MongoDB 4.2, while BBB 2.2 uses MongoDB 3.4)
364+
Add key for MongoDB's repository
365+
```bash
366+
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
367+
```
368+
Add APT's source for MongoDB
369+
```bash
370+
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
371+
```
372+
Install MongoDB
373+
```bash
374+
sudo apt-get update && sudo apt-get install -y mongodb-org
375+
```
376+
377+
378+
### Install Node.js
379+
##### (Note: BBB 2.3-dev uses Node.js 12.x, while BBB 2.2 uses Node.js 8.x)
380+
```bash
381+
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
382+
```
383+
```bash
384+
sudo apt-get install nodejs
385+
```
386+
387+
388+
### Install Kurento Media Server
389+
##### (Note: BBB 2.3-dev uses Kurento Media Server official's repository, instead of forked version. The current version used by BBB 2.3-dev is 6.15.0)
390+
Add key for Kurento
391+
392+
```bash
393+
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5AFA7A83
394+
```
395+
Add APT's source
396+
```bash
397+
sudo tee "/etc/apt/sources.list.d/kurento.list" >/dev/null <<EOF
398+
# Kurento Media Server - Release packages
399+
deb [arch=amd64] http://ubuntu.openvidu.io/6.15.0 bionic kms6
400+
EOF
401+
```
402+
Install it
403+
```bash
404+
sudo apt-get update && sudo apt-get install kurento-media-server
405+
```
406+
407+
408+
### Install BigBlueButton
409+
Add key for BigBlueButton
410+
```bash
411+
wget https://ubuntu.bigbluebutton.org/repo/bigbluebutton.asc -O- | sudo apt-key add -
412+
```
413+
Add APT's source for BigBlueButton
414+
```bash
415+
echo "deb https://ubuntu.bigbluebutton.org/bionic-23-dev bigbluebutton-bionic main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list
416+
```
417+
Install it
418+
```bash
419+
sudo apt-get update && sudo apt-get install bigbluebutton
420+
```
421+
422+
### (Optional) Install bbb-demo
423+
If you want to test the installation, you can install demos:
424+
```bash
425+
sudo apt-get install bbb-demo
426+
```
427+
Before testing, make sure you have set `secure: false` in `/usr/share/bbb-web/WEB-INF/classes/application.yml` file:
428+
```yml
429+
# ...
430+
server:
431+
session:
432+
cookie:
433+
secure: false
434+
# ...
435+
436+
```
437+
You can access http://BBB_IP_ADDRESS , and you will be able to join bbb-demo
438+
(probably WebRTC media won't work because it needs HTTPS to be set).
439+
BBB_IP_ADDRESS is the ip address of your container/machine running this
440+
installation.
441+
442+
## Setup HTTPS
443+
Follow [2.2's Configure SSL on your BigBlueButton server](https://docs.bigbluebutton.org/2.2/install.html#configure-ssl-on-your-bigbluebutton-server)
444+
445+
## Setup development environment
446+
Follow [2.2's Setup a Development Environment](https://docs.bigbluebutton.org/2.2/dev.html#setup-a-development-environment)
447+
448+
## Known Problems
326449
BigBlueButton 2.3-dev uses Java 8; however, Ubuntu 18.04 ships with Java 11 set as default option. If you see something similar while trying to compile bbb-common-messages or bbb-apps-akka:
327450
328451
```

0 commit comments

Comments
 (0)