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
sudo passwd root
Mises à jour du système
sudo apt-get update
puis..
sudo apt-get upgrade
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 :
playback_protocol: https
encore une édition : /var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp :
String BigBlueButtonURL = "https://meet.florentmerlet.org/bigbluebutton/";
Puis on relance bigbluebutton :
sudo bbb-conf --restart
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.