audio/README.md

197 lines
5.3 KiB
Markdown

# 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="<br />Bienvenue sur le service d'audio-conférence de <b>Libre en communs</b>.<br />https://audio.a-lec.org/<br />"
```
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 `<center><img src='data:image/png;base64,ICIIIIIIII' /><center>`
### 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`.