# Service audio.chalec.org
Service d'audio-conférence du candidat chaton de Libre en communs basé sur le logiciel libre Mumble : https://www.mumble.info/.
Responsable : Christian Momon (@cpm)
Anciens responsables : n/a.
# 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.chalec.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.chalec.org/`.
## Installation basique
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 ;
- …
Installer les paquets :
```
apt-get install nginx python3-certbot-nginx
```
Ouvrir les ports http (80) et https (443) :
```
ufw allow 'Nginx HTTP'
ufw allow 'Nginx HTTPS'
```
Configurer a minima le site web dans `/etc/nginx/sites-available/audio.chalec.org` :
```
server
{
listen 80;
listen [::]:80;
server_name audio.chalec.org;
access_log /var/log/nginx/audio.chalec.org-access.log;
error_log /var/log/nginx/audio.chalec.org-error.log;
}
```
Activer la configuration :
```
cd /etc/nginx/sites-enabled/
ln -s ../sites-available/audio.chalec.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.chalec.org` :
```
server
{
listen 80;
listen [::]:80;
server_name audio.chalec.org;
access_log /var/log/nginx/audio.chalec.org-access.log;
error_log /var/log/nginx/audio.chalec.org-error.log;
#return 302 https://$host$request_uri;
return 302 https://audio.chalec.org$request_uri;
}
server
{
set_real_ip_from 192.169.1.1;
real_ip_header proxy_protocol;
listen [::]:443 ssl ipv6only=on;
listen 443 ssl proxy_protocol;
server_name audio.chalec.org;
access_log /var/log/nginx/audio.chalec.org-access.log;
error_log /var/log/nginx/audio.chalec.org-error.log;
ssl_certificate /etc/letsencrypt/live/audio.chalec.org/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/audio.chalec.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.chalec.org;
location = /
{
index index.xhtml;
}
}
```
Vérifier que c'est bon et recharger :
```
nginx -t && systemctl reload nginx
```
# 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.
## Gestion du certificat
Utiliser le certificat SSL du site web `audio.chalec.org` pour enrichir le fichier `/etc/mumble-server.ini` :
```
sslCert=/etc/letsencrypt/live/audio.chalec.org/fullchain.pem
sslKey=/etc/letsencrypt/live/audio.chalec.org/privkey.pem
```
Rendre les certificats lisibles par Mumble :
```
chgrp mumble-server /etc/letsencrypt/archive/audio.chalec.org/privkey*
chmod g+r /etc/letsencrypt/archive/audio.chalec.org/privkey*
```
À noter que cela suffit même en cas de regénération du certificat. En effet, Certbot a l'intelligence de propager le groupe et les permissions du groupe des certificats précédents ! C'est même indiqué dans la documentation officielle, https://eff-certbot.readthedocs.io/en/stable/using.html :
```
privkey.pem
Private key for the certificate […]
Note: As of Certbot version 0.29.0, private keys for new certificate
default to 0600. Any changes to the group mode or group owner (gid)
of this file will be preserved on renewals.
```
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 Chalec.
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 chalec-logo.png | base64 -w 0 > t`
- insérer le contenu de `t` dans le code `