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

Commit cb34fc5

Browse files
authored
Merge pull request #226 from mariogasparoni/master
Add documentation for creating development environment for BigBlueButton 2.3
2 parents d14d788 + 06fbc68 commit cb34fc5

File tree

1 file changed

+128
-6
lines changed

1 file changed

+128
-6
lines changed

_posts/2020-07-10-dev23.md

Lines changed: 128 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,131 @@ 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. One difference is that we
327+
encapsulated Libreoffice in docker for increased security.
328+
- For public/production servers, we recommend installing BigBlueButton using
329+
[bbb-install.sh](https://github.com/bigbluebutton/bbb-install)
323330
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).
325331
332+
333+
We'll do this in 3 steps:
334+
* [Install BBB **2.3-dev** (detailed below)](#installl-bbb-23-dev)
335+
* [Setup SSL (same as 2.2)](#setup-https)
336+
* [Setup development environment (same as 2.2)](#setup-development-environment-1)
337+
338+
339+
## Installl BBB 2.3-dev
340+
341+
### Install basic deps
342+
Install needed tools
343+
```bash
344+
sudo apt-get update && sudo apt-get install curl wget net-tools software-properties-common haveged apt-transport-https openjdk-8-jdk -y
345+
```
346+
Add needed repositories
347+
```bash
348+
sudo add-apt-repository ppa:bigbluebutton/support -y
349+
```
350+
```bash
351+
sudo add-apt-repository ppa:rmescandon/yq -y
352+
```
353+
```bash
354+
sudo add-apt-repository ppa:libreoffice/ppa
355+
```
356+
Upgrade packages
357+
```bash
358+
sudo apt-get update && sudo apt-get dist-upgrade
359+
```
360+
361+
### Install MongoDB
362+
##### (Note: BBB 2.3-dev uses MongoDB 4.2, while BBB 2.2 uses MongoDB 3.4)
363+
Add key for MongoDB's repository
364+
```bash
365+
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
366+
```
367+
Add APT's source for MongoDB
368+
```bash
369+
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
370+
```
371+
Install MongoDB
372+
```bash
373+
sudo apt-get update && sudo apt-get install -y mongodb-org
374+
```
375+
376+
377+
### Install Node.js
378+
##### (Note: BBB 2.3-dev uses Node.js 12.x, while BBB 2.2 uses Node.js 8.x)
379+
```bash
380+
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
381+
```
382+
```bash
383+
sudo apt-get install nodejs
384+
```
385+
386+
387+
### Install Kurento Media Server
388+
##### (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)
389+
Add key for Kurento
390+
391+
```bash
392+
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5AFA7A83
393+
```
394+
Add APT's source
395+
```bash
396+
sudo tee "/etc/apt/sources.list.d/kurento.list" >/dev/null <<EOF
397+
# Kurento Media Server - Release packages
398+
deb [arch=amd64] http://ubuntu.openvidu.io/6.15.0 bionic kms6
399+
EOF
400+
```
401+
Install it
402+
```bash
403+
sudo apt-get update && sudo apt-get install kurento-media-server
404+
```
405+
406+
407+
### Install BigBlueButton
408+
Add key for BigBlueButton
409+
```bash
410+
wget https://ubuntu.bigbluebutton.org/repo/bigbluebutton.asc -O- | sudo apt-key add -
411+
```
412+
Add APT's source for BigBlueButton
413+
```bash
414+
echo "deb https://ubuntu.bigbluebutton.org/bionic-23-dev bigbluebutton-bionic main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list
415+
```
416+
Install it
417+
```bash
418+
sudo apt-get update && sudo apt-get install bigbluebutton
419+
```
420+
421+
### (Optional) Install bbb-demo
422+
If you want to test the installation, you can install demos:
423+
```bash
424+
sudo apt-get install bbb-demo
425+
```
426+
Before testing, make sure you have set `secure: false` in `/usr/share/bbb-web/WEB-INF/classes/application.yml` file:
427+
```yml
428+
# ...
429+
server:
430+
session:
431+
cookie:
432+
secure: false
433+
# ...
434+
435+
```
436+
You can access http://BBB_IP_ADDRESS , and you will be able to join bbb-demo
437+
(probably WebRTC media won't work because it needs HTTPS to be set).
438+
BBB_IP_ADDRESS is the ip address of your container/machine running this
439+
installation.
440+
441+
## Setup HTTPS
442+
Follow [2.2's Configure SSL on your BigBlueButton server](https://docs.bigbluebutton.org/2.2/install.html#configure-ssl-on-your-bigbluebutton-server)
443+
444+
## Setup development environment
445+
Follow [2.2's Setup a Development Environment](https://docs.bigbluebutton.org/2.2/dev.html#setup-a-development-environment)
446+
447+
## Known Problems
326448
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:
327449
328450
```

0 commit comments

Comments
 (0)