audio/README.md

205 lines
5.6 KiB
Markdown
Raw Normal View History

2021-12-05 12:36:09 +01:00
# Service audio.chalec.org
2021-12-04 22:21:39 +01:00
Service d'audio-conférence du candidat chaton de Libre en communs basé sur le logiciel libre Mumble : https://www.mumble.info/.
2021-12-05 12:36:09 +01:00
2021-12-08 23:17:08 +01:00
Responsable : Christian Momon (@cpm)
2021-12-05 12:36:09 +01:00
2021-12-08 23:17:08 +01:00
Anciens responsables : n/a.
2021-12-05 12:36:09 +01:00
# 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/`.
2021-12-06 03:12:20 +01:00
## 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 ;
-
2021-12-06 03:18:55 +01:00
Installer les paquets :
2021-12-06 03:12:20 +01:00
```
2021-12-06 03:18:55 +01:00
apt-get install nginx python3-certbot-nginx
2021-12-06 03:12:20 +01:00
```
2021-12-06 03:18:55 +01:00
Ouvrir les ports http (80) et https (443) :
2021-12-06 03:12:20 +01:00
```
2021-12-06 03:18:55 +01:00
ufw allow 'Nginx HTTP'
ufw allow 'Nginx HTTPS'
2021-12-06 03:12:20 +01:00
```
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 :
```
2021-12-06 03:20:26 +01:00
cd /etc/nginx/sites-enabled/
2021-12-06 03:12:20 +01:00
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;
2021-12-08 13:07:33 +01:00
#return 302 https://$host$request_uri;
return 302 https://audio.chalec.org$request_uri;
2021-12-06 03:12:20 +01:00
}
server
{
set_real_ip_from 192.169.1.1;
real_ip_header proxy_protocol;
listen [::]:443 ssl ipv6only=on;
2022-01-17 13:00:52 +01:00
listen 443 ssl proxy_protocol;
2021-12-06 03:12:20 +01:00
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
```
2021-12-05 12:36:09 +01:00
# 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*
2021-12-08 13:14:22 +01:00
chmod g+r /etc/letsencrypt/archive/audio.chalec.org/privkey*
2021-12-05 12:36:09 +01:00
```
À 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` :
```
2022-11-01 16:02:09 +01:00
welcometext="<br />Bienvenue sur le service d'audio-conférence de <b>Chalec</b>.<br />https://audio.chalec.org/<br />"
2021-12-05 12:36:09 +01:00
```
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 `<center><img src='data:image/png;base64,0123456789ABCDEF' /><center>`
### Renommer la racine
Par défaut, la racine est nommée « Root ». Pour la renommer, éditer `/etc/mumble-server.ini` :
```
registerName=Chalec
```
### Salons temporaires
Pour autoriser la création de salons temporaires :
- se connecter en tant que SuperUser
2021-12-08 13:26:38 +01:00
- racine > souris bouton droit > onglet `LCA`
- cadre `LCAs Actifs`, sélectionner `@all` non italique
- cadre `Permissions` : cocher « Créer des temporaires »
2021-12-05 12:36:09 +01:00
- 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`.