205 lines
5.6 KiB
Markdown
205 lines
5.6 KiB
Markdown
# 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="<br />Bienvenue sur le service d'audio-conférence de <b>Chalec</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 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
|
|
- racine > souris bouton droit > onglet `LCA`
|
|
- cadre `LCAs Actifs`, sélectionner `@all` non italique
|
|
- 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`.
|