commit 5d721836d76a47048a9fe1ea9f42a93ebe316b9d Author: Christian MOMON Date: Thu Nov 18 17:44:44 2021 +0000 Publication de la documentation rédigée pendant le déploiement. diff --git a/README.md b/README.md new file mode 100644 index 0000000..3907582 --- /dev/null +++ b/README.md @@ -0,0 +1,196 @@ +# Service audio.a-lec.org + +Service d'audio-conférence de l'association Libre en communs. + +Déployé sur la machine `audio.a-lec.org`. + +# Serveur web (installation élémentaire) +Installation d'un service nginx pour : +- la gestion des certificats SSL ; +- l'installation d'une page d'information sur comment se connecter au Mumble ; +- la possible installation d'un service client web pour Mumble ; +- l'éventuel déploiement de StatoolInfos ; +- … + +Ouvrir les ports http (80) et https (443) : +``` +ufw allow 'Nginx HTTP' +ufw allow 'Nginx HTTPS' +``` + +Installer les paquets : +``` +apt-get install nginx python3-certbot-nginx +``` + +Configurer a minima le site web dans `/etc/nginx/sites-available/audio.a-lec.org` : +``` +server +{ + listen 80; + listen [::]:80; + + server_name audio.a-lec.org; + + access_log /var/log/nginx/audio.a-lec.org-access.log; + error_log /var/log/nginx/audio.a-lec.org-error.log; +} +``` + +Activer la configuration : +``` +cd /etc/nginx/sites-enable/ +ln -s ../sites-available/audio.a-lec.org +``` + +Vérifier que c'est bon et recharger : +``` +nginx -t && systemctl reload nginx +``` + +Configurer le certificat SSl : +``` +certbot --nginx +``` + +Mettre beau le fichier `/etc/nginx/sites-enabled/audio.a-lec.org` : +``` +server +{ + listen 80; + listen [::]:80; + + server_name audio.a-lec.org; + + access_log /var/log/nginx/audio.a-lec.org-access.log; + error_log /var/log/nginx/audio.a-lec.org-error.log; + + return 302 https://$host$request_uri; +} + +server +{ + set_real_ip_from 192.169.1.1; + real_ip_header proxy_protocol; + listen [::]:443 ssl ipv6only=on; + listen 443 ssl; + + server_name audio.a-lec.org; + + access_log /var/log/nginx/audio.a-lec.org-access.log; + error_log /var/log/nginx/audio.a-lec.org-error.log; + + ssl_certificate /etc/letsencrypt/live/audio.a-lec.org/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/audio.a-lec.org/privkey.pem; # managed by Certbot + include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot + ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot + + root /var/www/audio.a-lec.org; + location = / + { + index index.xhtml; + } +} +``` + +Vérifier que c'est bon et recharger : +``` +nginx -t && systemctl reload nginx +``` + +# Site web + +Pour l'instant : +- le service Mumble n'a pas besoin de serveur web ; +- décision de ne pas installer une application de client web pour Mumble. + +Cela n'empêchera pas les gens d'essayer d'aller sur la page web https://audio.a-lec.org/. + +Donc une page d'information permet d'apporter une réponse à ce cas, par exemple en donnant des informations sur comment se connecter, comment configurer son client, où trouver un client… + +Il s'agit d'une simle page XHTML faite à la main et placée dans `/var/www/audio.a-lec.org/`. + +# Service Mumble + +Service d'audio-conférence basé sur le logiciel libre Mumble : https://www.mumble.info/ + +## Installation + +Ouvrir les ports nécessaires : +``` +ufw allow 64738/udp +ufw allow 64738/tcp +``` + +Installer le paquet : +``` +apt-get install mumble-server +``` + +Configurer, notamment le mot de passe de SuperUser : +``` +dpkg-reconfigure mumble-server +``` + +Transmettre le mot de passe à l'équipe adminsys. + +## Gestion du certificat + +Utiliser le certificat SSL du site web `audio.a-lec.org` pour enrichir le fichier `/etc/mumble-server.ini` : +``` +sslCert=/etc/letsencrypt/live/audio.a-lec.org/fullchain.pem +sslKey=/etc/letsencrypt/live/audio.a-lec.org/privkey.pem +``` + +Rendre les certificats lisibles par Mumble : +``` +chown mumble-server /etc/letsencrypt/archive/audio.a-lec.org/privkey* +``` + +Rendre persistante cette lisibilité lors du renouvellement de certificat en modifiant le cron (pas super élégant faute de trouer mieux): +``` +-0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew ++0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew && chown mumbler-server /etc/letsencrypt/archive/audio.a-lec.org/privkey* +``` + + +Redémarrer le service Mumble : +``` +systemctl restart mumble-server +``` + +## Personnalisation + +### Amélioration de la qualité + +Dans le fichier `/etc/mumble-server.ini` : +``` +bandwidth=100000 +``` + +### Modifier le message d'accueil à la connexion +Dans le fichier `/etc/mumble-server.ini` : +``` +welcometext="
Bienvenue sur le service d'audio-conférence de Libre en communs.
https://audio.a-lec.org/
" +``` + +Pour mettre une image dans le message de bienvenue : +- générer une image assez petite en format png ; +- la convertir en base64 : ` cat logo_a-lec.png | base64 -w 0 > t` +- insérer le contenu de `t` dans le code `
` + +### Renommer la racine +Par défaut, la racine est nommée « Root ». Pour la renommer, éditer `/etc/mumble-server.ini` : +``` +registerName=Libre en communs +``` + +### Salons temporaires +Pour autoriser la création de salons temporaires : +- se connecter en tant que SuperUser +- racine > souris bouton droit > onglet LCA +- cadre permissions : cocher « Créer des temporaires » +- cliquer sur « OK ». + +### Salons par défaut +Pour créer des salons par défaut, se connecter avec le compte `SuperUser` et faire clique-droit sur la racine puis `Ajouter`.