--- 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: "").update_attribute(:password,"") ```