Project

General

Profile

Actions

BigBlueButton

Présentation

BigBlueButton est une solution de visio-conférence avec des fonctionnalités supplémentaires comme le partage d'écran, la diffusion et l'annotation de documents, ou l'intégration de pads dans la conférence entre tous les participants... https://bigbluebutton.org/

Installation

Serveur BigBlueButton

Le serveur de BigBlueButton d'Aquilenet est installé sur la vm "echo", une Ubuntu Server 16.04 (seule distribution supportée par BBB à l'heure actuelle). La méthode d'installation suivie a été celle décrite par la documentation. https://docs.bigbluebutton.org/2.2/install.html

BBB fournit un outil en ligne de commande pour gérer le serveur.

# État des composants
bbb-conf --status

# Redémarre, démarre et arrête le service
bbb-conf --restart
bbb-conf --start
bbb-conf --stop

# Plus de commandes
bbb-conf --help

Greenlight

Le serveur BigBlueButton fournit une API, il faut ensuite installer une interface web qui va pouvoir communiquer avec cette API et utiliser le serveur. La plus courante est Greenlight, supportée par le projet BigBlueButton. Elle a également été installée en suivant la documentation. https://docs.bigbluebutton.org/greenlight/gl-install.html

Greenlight est déployé dans un environnement docker. Tous les fichiers nécessaires sont présents sur /opt/greenlight.

Authentification

Greenlight gère l'authentification des utilisateurs. Elle se fait via l'utilisateur LDAP uid=bigbluebutton,dc=aquilenet,dc=fr qui a les droits de lecture sur les mots de passes des membres de l'association. Ansi, tous les membres ont la possibilité de créer des salons. Ils peuvent également fournir les liens de leurs conférences. Autrement dit, seuls les membres de l'association peuvent créer des salons, mais tout le monde peut rejoindre un salon créé.

Configuration de Greenlight

Le fichier de configuration se situe sur /opt/greenlight/.env

Service

Greenlight se gère dans un environnement docker grâce à docker-compose.

cd /opt/greenlight

# Arrêter le service
sudo docker-compose down

# Relancer le service
sudo docker-compose up -d

# État des conteneurs
sudo docker container ps

On peut voir que Greenlight intègre deux conteneurs docker:

  • L'application web qui écoute sur 127.0.0.1:5000
  • La base de données postgres qui écoute sur 127.0.0.1:5432

Serveur web

C'est nginx qui gère le service web. Le fichier de configuration se trouve sur /etc/nginx/sites-available/bigbluebutton. Une redirection 301 automatique vers https est activée pour toutes les connexions en http.

Les visiteurs sont redirigés vers /b, qui est un reverse proxy vers 127.0.0.1:5000, l'application web de Greenlight.

Certificat

Le certificat blabla.aquilenet.fr est géré par letsencrypt.

TODO: Réaliser une tâche cron pour le renouvellement du certificat

# Renouvellement du certificat
sudo certbot renew --standalone --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx"

Serveur coturn

Un serveur coturn , qui fournit le service TURN est également installé dur echo . Le service TURN implémente STUN et permet aux clients de contourner d'éventuelles règles de parefeu ou NAT sur les connexions UDP utilisées par WebRTC. Ce service joue donc le rôle de proxy pour utiliser BigBlueButton. (À noter qu'il pourrait tout aussi bien servir à d'autres services utilisant WebRTC dans l'infrastructure d'Aquilenet).

Il a été installé en suivant cette page: https://docs.bigbluebutton.org/2.2/setup-turn-server.html

Configuration

Le fichier de configuration de coturn se situe sur /etc/turnserver.conf. À noter que le service utilise le certificat letsencrypt echo.aquilenet.fr

# Redémarrer coturn
sudo systemctl restart coturn

Liaison avec BigBlueButton

La liaison entre coturn et BigBlueButton se fait grâce au fichier /usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml

il fuat redémarrer BigBlueButton à chaque changement avec sudo bbb-conf --restart.

Supervision

TODO

Updated by simon.crespeau about 2 months ago · 9 revisions