---
weight: 4
title: "Instalación de Big Blue Button"
date: 2021-11-15T10:11:01+0100
draft: false
summary: "Desplegar un Big Blue Button"
categories:
  - pildoras
tags:
  - bbb
---

## Big Blue Button

### Instalación

Escogemos como imagen un Ubuntu 18.04 (es lo que recomiendan en la página oficial)

Una vez instalado nuestro VPS con Ubuntu 18.04 abrimos sesión y dejamos el sistema actualizado

```bash
apt update
apt upgrade
```

Es **super importante** que nuestro nuevo servidor tenga IPV6 activado. En mi caso basta con ejecutar `enable_ip6`. No sigas hasta tener esto activado por que fallará.

Deja instalado el `redis-server` con `sudo apt install redis-server`

Podemos comprobar el estado del servicio con `sudo service redis-server status`

Yo siempre añado un usuario para administración del sistema (vamos a prohibir el login de `root` más tarde)

```bash
adduser --uid=1111 hostadmin
gpasswd -a hostadmin sudo
```

Asegúrate de ser `root` y ejecuta:

```bash
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v bionic-24 -s bbb.example.com -e correoCertificados@provider.com -w -g -a
```

Con este comando le estamos diciendo:

`-v bionic-24`

:    Instalar la última version (2.4) en nuestro Ubuntu Bionic (18.04)

`-s bbb.example.com`

:    Nuestro _site_ va a tener esta URL

`-e correoCertificados@provider.com`

:    Correo de referencia para negociar los certificados con _Let's Encrypt_

`-w`

:    Instalar y configurar UFW (_Uncomplicated FireWall_)

`-g`

:    Instalar _Greenlight_: el interfaz web de nuestro servicio BBB

`-a`

:    Instalar la API de pruebas de _Big Blue Button_

La instalación puede llevar hasta media hora, todo depende de lo rápido que sea tu servidor y tu proveedor.

Una vez terminada nos indica direcciones URL para hacer pruebas sin necesidad de hacer login. Comprobamos que podemos establecer conferencias.

Podemos sacar la lista de programas instalados:

```bash
dpkg -l | grep bbb-
ii  bbb-apps-akka               2.4.0-103        all          BigBlueButton Apps (Akka)
ii  bbb-config                  1:2.4.0-53       amd64        BigBlueButton configuration utilities
ii  bbb-demo                    1:2.4.0-3        amd64        BigBlueButton API demos
ii  bbb-etherpad                1:2.4.0-14       amd64        The EtherPad Lite components for BigBlueButton
ii  bbb-freeswitch-core         2:2.4.0-28       amd64        BigBlueButton build of FreeSWITCH
ii  bbb-freeswitch-sounds       1:1.6.7-5        amd64        FreeSWITCH Sounds
ii  bbb-fsesl-akka              2.4.0-43         all          BigBlueButton FS-ESL (Akka)
ii  bbb-html5                   1:2.4.0-2561     amd64        The HTML5 components for BigBlueButton
ii  bbb-learning-dashboard      1:2.4.0-29       amd64        BigBlueButton bbb-learning-dashboard
ii  bbb-libreoffice-docker      1:2.4.0-9        amd64        BigBlueButton setup for LibreOffice running in docker
ii  bbb-mkclean                 1:0.8.7-1        amd64        Clean and optimize Matroska and WebM files
ii  bbb-playback                1:2.4.0-19       amd64        BigBlueButton playback
ii  bbb-playback-presentation   1:2.4.0-9        amd64        BigBluebutton playback of presentation
ii  bbb-record-core             1:2.4.0-14       amd64        BigBlueButton record and playback
ii  bbb-web                     1:2.4.0-99       amd64        BigBlueButton API
ii  bbb-webrtc-sfu              1:2.4.0-65       amd64        BigBlueButton WebRTC SFU

```

Cuando estemos satisfechos con las pruebas, eliminamos la API de pruebas con:

```bash
apt purge bbb-demo
bbb-conf --restart
bbb-conf --status
```




Creamos un usuario administrador para nuestra instancia de BBB:

```bash
docker exec greenlight-v2 bundle exec rake admin:create

Account successfully created.
Email: admin@example.com
Password: administrator
Role: admin
PLEASE CHANGE YOUR PASSWORD IMMEDIATELY
```

Hacemos caso del aviso y nos conectamos enseguida al BBB para cambiar la password del usario administrador.

Los comandos para crear nuevos administradores y/o usuarios con todos los datos son:

```bash
docker exec greenlight-v2 bundle exec rake user:create["name","email","password","admin"]
docker exec greenlight-v2 bundle exec rake user:create["name","email","password","user"]
```

Importante cambiar el registro a cualquier modalidad que no sea `Open Registration`, salvo que queramos gestionar las peticiones de registro claro.

Puede ser interesante añadir al usuario administrador al grupo `docker`:

```bash
gpasswd -a administrator docker
```

{{< admonition type=warning title="¡Asegura el servidor!" open=true >}}
Solo hemos descrito la instalación de BBB. Es responsabilidad tuya asegurar el servidor.

La instalación descrita se encarga de instalar el UFW (Uncomplicated Firewall) pero como mínimo deberías:

1. Prohibir el login de root en el sistema a través de ssh
2. Prohibir el login a través de ssh con contraseña y exigir certificados ssh
3. Instalar y configurar `fail2ban` o alguna herramienta similar.

{{< /admonition >}}


### Referencias para optimizar nuestro servidor:

- [Documentación Oficial: Custom Settings](https://gitlab.com/MaadiX/bbb-tuning/-/wikis/Big-Blue-Button-Custom-settings)
- [Multiples optimizaciones por Manish Katyan](https://github.com/manishkatyan/bbb-optimize)
- [Guía de BBB (por Higher Ed Lab)](https://higheredlab.com/bigbluebutton-guide/)


### Recetas

#### Resetear password de usuario

Nos conectamos al servidor de BBB

```bash
docker exec -it greenlight-v2 bash
bundle exec rails c
User.find_by(email: "<email of user to reset>").update_attribute(:password,"<new password>")
```
