[technique] Note d'installation : bigbluebutton 2.2 avec greenlight sur ubuntu 16.04 (xenial)

Matthieu Herrb matthieu at herrb.eu
Mer 22 Avr 09:59:31 CEST 2020


On Wed, Apr 22, 2020 at 08:41:21AM +0200, Laurent GUERBY via technique wrote:
> Bonjour,
> 
> Comme mentionné sur les Note d'installation bigbluebutton ici :
> 
> https://lists.tetaneutral.net/pipermail/technique/2020-March/003832.html
> 
> Changer "-a" en "-g" dans le script d'installation permet d'installer
> greenlight, un logiciel de gestion de bigbluebutton , plutot
> que la version demo.
> 
> Sur la VM bbb2 (meme creation openstack que bbb1) :
> 
> apt-get install --no-install-recommends emacs-nox
> wget  https://ubuntu.bigbluebutton.org/bbb-install.sh
> chmod 755 bbb-install.sh
> # copie turn-secret.txt depuis la VM turn
> ./bbb-install.sh -v xenial-220 -s bbb2.tetaneutral.net -e laurent at guerby.net -g -c turn.tetaneutral.net:$(cat /root/turn-secret.txt)
> cd /root/greenlight
> docker exec greenlight-v2 bundle exec rake user:create["LeUserAdmin","LeMailAdmin at example.org","LeSuperPassword","admin"]
> 
> Et https://bbb2.tetaneutral.net/ est operationnel 
> dans un mode inscription (ouverte a tou-te-s) sur greenlight,
> et avec le compte LeUserAdmin qui a les droits maximaux.
> 
> Informations sur greenlight :
> 
> https://www.youtube.com/watch?v=Hso8yLzkqj8
> Creating your own personal rooms with GreenLight
> 

Salut,

j'ai expérimenté avec l'authentification des itilisatrices et
utilisateurs via LDAP dans Greenlight pour l'instance que je mets en
place pour les besoin de mon boulot. C'est pas super souple, mais au
final j'ai réussi à faire ce que je voulais. Explications:

(TL;DR: on peut activer l'authentification via LDAP et remplacer
complètement les comptes locaux greenlight par ceux de l'annuaire LDAP)

Greenlight supporte plusieurs modes d'authentification qui par défaut
sont additionnés. Le mode "greenlight" ce sont des compte locaux dans
la base de greenlight. On peut ajouter LDAP, mais aussi Twitter,
Google ou d'autres via Oauth2.

Par ailleurs l'inscription sur greenlight/BBB est possible selon 3
modes (que l'on choisi via l'interface d'admin, ou, pour le mode
initial dans le fichier `.env` de greenlight):
- ouvert : n'importe qui peut s'inscrire (ou s'authentifier via un
  module externe)
- sur invitation : il faut avoir reçu une invitation avec un lien pour
  pouvoir valider l'inscription
- sur validation de l'admin : il faut que l'admin de greenlight valide
  le compte via l'interface web d'admin.

Le problème c'est que ça s'applique à toutes les sources
d'authentification. Donc dans mon cas où on voudrait que les personnes
présentes dans l'annuaire LDAP puisse toutes (et elles seules)
s'authentifier directement, il faut choisir le mode ouvert.

Mais ce mode permet aussi par défaut à n'importe qui de se créer un
compte "greenlight" sans validatiion :( Il faut donc désactiver les
comptes greenlight. Oui mais le compte d'admin crée selon la manip
décrite par Laurent ci-dessus est un compte greenlight...

Il faut donc procéder par étapes:

1. Le plus vite possible après l'installtion (ou avant d'ouvrir le
port https sur le firewall) passer en mode comptes validés uniquement
pour ne pas avoir de comptes greenlight parasites crées sur la
plateforme pendant qu'on teste C'est possible de le faire via
l'interface d'admin sans re-démarrer BBB (site parameters ->
registration method).

ou alors dans `greenlight/.env`: `DEFAULT_REGISTRATION=approval` puis
redémarrer greenlight.

2. Ajouter l'auth LDAP en renseignant:
```
LDAP_SERVER=ldap.example.com
LDAP_PORT=389
LDAP_METHOD=plain
LDAP_UID=uid
LDAP_BASE=dc=example,dc=com
LDAP_BIND_DN=cn=admin,dc=example,dc=com
LDAP_PASSWORD=password
```
dans `greenlight/.env`

(apparement il faut obligatoirement un compte LDAP pour valider
l'auth, greenlight n'a pas l'air de savoir faire du bind anonyme et
d'utiliser un bind avec le login pour valider le mot de passe. Ça
serait préférable à mon avis, mais je n'ai pas insisté beaucoup).

Re-démarrer greenlight
```
docker-compose down
docker-compose up -d
```

3. Se connecter via un compte LDAP auquel on va donner les droits d'admin
sur la greenlight. Le compte attend une validation.

4. Se re-connecter avec le compte d'admin initial et dans la gestion
des utilisateurs, valider le compte LDAP, et lui donner le rôle
d'admin.

5. Se re-connecter avec le compte LDAP, vérifier qu'on a bien les
droits d'admin (le sous-menu 'Organisation' apparait sous le profil).

6. Désactiver les comptes greenlight : éditer `greenlight/.env`:
```
ALLOW_GREENLIGHT_ACCOUNTS=false
```
et redémarrer greenlight.

7. On peut maintenant re-passer en mode d'enregistrement ouvert pour
ne plus avoir à valider les comptes LDAP un à un. Le bouton 'Sign up'
a disparu de la page d'accueil.

8. On peut donner le rôle admin à plusieurs comptes LDAP. le compte
greenlight initial n'est plus accessible.

Voilà c'est pas super pratique à mettre en place. Et ça m'embète un
peu de ne pas avoir de solution pour avoir des comptes extérieurs en
plus via invitation ou validation des admins. (Pour cela il
faudrait aussi inviter ou valider à la main tous les comptes
LDAP -- pour celleux qui sont dans des structures associeées au CNRS
c'est le même genre de pb que l'inscription à Citadel et Tixeo).

Et dans tous les cas, seule une personne qui a un compte peut créer des
salles mais ensuite avec le lien de la salle, n'importe qui peut
joindre cette salle, sauf si la personne a configuré la salle
autrement (mot de passe ou limité aux personnes qui ont un compte).

-- 
Matthieu Herrb
-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: signature.asc
Type: application/pgp-signature
Taille: 833 octets
Desc: non disponible
URL: <http://lists.tetaneutral.net/pipermail/technique/attachments/20200422/2e8fbeb9/attachment.sig>


Plus d'informations sur la liste de diffusion technique