Big Blue Button
Ce service sera installé sur un serveur Ubuntu 16.04 fraîchement installé.
Les caractéristiques du serveur sont :
- Machine virtuelle Ubuntu 16.04 LTS
- Langue : Anglais
- Processeur : 2 vCore(s)
- RAM : 8 Go
- Disque : 80 Go SSD
Changement du mot de passe root
Mises à jour du système
puis..
Si nécessaire, mettre à jour le kernel :
sudo apt-get dist-upgrade
Installation de BigBlueButton
Ici, je vais suivre
la documentation officielle
.
Installation via le script
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-220 -a
Gestion du certificat
Sur
cette partie de la doc
.
En suivant les commandes suivantes :
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get install certbot
Puis
sudo mkdir -p /etc/nginx/ssl
sudo openssl dhparam -out /etc/nginx/ssl/dhp-4096.pem 4096
Attention c'est long... Ensuite :
sudo bbb-conf --setip meet.florentmerlet.org
Puis,
sudo certbot --webroot -w /var/www/bigbluebutton-default/ -d meet.florentmerlet.org certonly
Je vérifie :
ls /etc/letsencrypt/live/meet.florentmerlet.org/
Je reçois comme réponse :
cert.pem chain.pem fullchain.pem privkey.pem README
Tout est OK.
Maintenant j'édite le fichier /etc/nginx/sites-available/bigbluebutton
Pour y avoir :
server {
server_name meet.florentmerlet.org;
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate /etc/letsencrypt/live/meet.florentmerlet.org/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/meet.florentmerlet.org/privkey.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS:!AES256";
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/ssl/dhp-4096.pem;
Configurer FreeSWITCH? pour utiliser SSL
J'édite le fichier /etc/bigbluebutton/nginx/sip.nginx pour changer les deux paramètres : "https" et "7443" :
location /ws {
proxy_pass https://54.38.188.11:7443;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_read_timeout 6h;
proxy_send_timeout 6h;
client_body_timeout 6h;
send_timeout 6h;
}
Configurer Bigbulebutton pour utiliser le ssl
J'édite /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties pour ajouter le "s" après "http" :
#----------------------------------------------------
# This URL is where the BBB client is accessible. When a user sucessfully
# enters a name and password, she is redirected here to load the client.
# Do not commit changes to this field.
bigbluebutton.web.serverURL=https://meet.florentmerlet.org
Puis ce fichier : /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties pour ajouter le "s" sur ces deux valeurs :
jnlpUrl=https://meet.florentmerlet.org/screenshare
jnlpFile=https://meet.florentmerlet.org/screenshare/screenshare.jnlp
Puis,
sudo sed -e 's|http://|https://|g' -i /var/www/bigbluebutton/client/conf/config.xml
Et éditer /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml pour changer "ws" en "wss" sur cette variable :
wsUrl: wss://meet.florentmerlet.org/bbb-webrtc-sfu
et aussi (dans le même fichier), http vers https :
note:
enabled: true
url: https://bbb.example.com/pad
Puis on édite /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml, toujours pour ajouter le s :
encore une édition : /var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp :
String BigBlueButtonURL = "https://meet.florentmerlet.org/bigbluebutton/";
Puis on relance bigbluebutton :
Greenlight
Pour le moment, le serveur est fonctionnel avec une salle démo.
Avec Greenlight il sera possible d'avoir des utilisateurs enregistrés qui créent leur propres salles.
Je vais suivre ici cette
documentation
.
Installation d'un docker
Il est très fortement recommandé d'installer Greenlight dans un docker.
Je suis pour cela
cette documentation
.
Et je choisis l'installation via le dépot docker.
Et suis la doc.