admin:services:mumble.chapril.org
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
admin:services:mumble.chapril.org [2020/03/22 14:09] – [Organiser des salons] admin | admin:services:mumble.chapril.org [2020/03/31 23:51] (Version actuelle) – [Mumble-web] cpm | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Service mumble.chapril.org ======= | ====== Service mumble.chapril.org ======= | ||
- | ===== Installation | + | ===== Déploiement du serveur Mumble |
+ | ==== Installation ==== | ||
< | < | ||
apt-get install mumble-server | apt-get install mumble-server | ||
Ligne 16: | Ligne 17: | ||
Le fichier de configuration est ''/ | Le fichier de configuration est ''/ | ||
- | ===== Personnalisation | + | ==== Personnalisation ==== |
Modification du fichier ''/ | Modification du fichier ''/ | ||
Ligne 26: | Ligne 27: | ||
</ | </ | ||
- | ===== Configuration routage flux ===== | + | ==== Configuration routage flux ==== |
Sur '' | Sur '' | ||
Ligne 49: | Ligne 50: | ||
</ | </ | ||
- | ===== Configuration pare-feu local ===== | + | ==== Configuration pare-feu local ==== |
Sur la vm '' | Sur la vm '' | ||
* créer le fichier ''/ | * créer le fichier ''/ | ||
Ligne 86: | Ligne 87: | ||
</ | </ | ||
- | ===== Test de connexion | + | ==== Test de connexion ==== |
À cette étape, le serveur Mumble est joignable à condition d' | À cette étape, le serveur Mumble est joignable à condition d' | ||
Ligne 96: | Ligne 97: | ||
* nom : Chapril | * nom : Chapril | ||
- | ===== Organiser des salons ===== | + | ==== Permettre la création de salons temporaires ==== |
- | + | ||
- | Par défaut, aucun salon n'est présent. | + | |
- | + | ||
- | Pour créer des salons : | + | |
- | * se connecter avec : | + | |
- | * adresse : mumble.chapril.org | + | |
- | * port : 64738 (celui par défaut) | + | |
- | * nom d' | + | |
- | * nom : Chapril-SU | + | |
- | * dans l’arborescence des salons : | + | |
- | * cliquer bouton droit sur « root » | + | |
- | * cliquer sur « Ajouter… » | + | |
- | * remplir le formulaire | + | |
- | * … | + | |
- | + | ||
- | ===== Permettre la création de salons temporaires | + | |
Marche à suivre : | Marche à suivre : | ||
Ligne 123: | Ligne 108: | ||
- | ===== Configuration certificat | + | ==== Configuration certificat ==== |
Par défaut, il est possible d' | Par défaut, il est possible d' | ||
Ligne 226: | Ligne 211: | ||
< | < | ||
- | ===== Configuration web sur Bastion | + | |
+ | ==== Configuration web sur Bastion ==== | ||
Créer le dossier des logs Nginx : | Créer le dossier des logs Nginx : | ||
Ligne 244: | Ligne 230: | ||
* réactiver la redirection SSL et la partie SSL dans le fichier web. | * réactiver la redirection SSL et la partie SSL dans le fichier web. | ||
+ | |||
+ | ===== Organiser les salons ===== | ||
+ | |||
+ | Par défaut, aucun salon n'est présent. | ||
+ | |||
+ | Pour créer des salons : | ||
+ | * se connecter avec : | ||
+ | * adresse : mumble.chapril.org | ||
+ | * port : 64738 (celui par défaut) | ||
+ | * nom d' | ||
+ | * nom : Chapril-SU | ||
+ | * dans l’arborescence des salons : | ||
+ | * cliquer bouton droit sur « root » | ||
+ | * cliquer sur « Ajouter… » | ||
+ | * remplir le formulaire | ||
+ | * … | ||
+ | |||
+ | ===== Mumble-web ===== | ||
+ | |||
+ | ==== Principe ==== | ||
+ | |||
+ | Mumble-web peut être installé en mode // | ||
+ | * une gestion du certificat web sur notre vm bastion ; | ||
+ | * la génération de log HTTP pour suivre la fréquentation du service. | ||
+ | |||
+ | Voici le chemin romancé des requêtes : | ||
+ | * côté utilisateur : | ||
+ | * Mumble-web consiste en des fichiers statiques : HTML, Javascript et images, | ||
+ | * une fois ces fichiers chargés dans le navigateur depuis https:// | ||
+ | * le fichier // | ||
+ | * config.defaults.address = ' | ||
+ | * donc le navigateur de l' | ||
+ | |||
+ | * Nginx sur la vm bastion : | ||
+ | * tout le trafic web du SI Chapril passe par un bastion web, | ||
+ | * les deux flux arrivent sur le même Nginx, | ||
+ | * c'est à ce niveau là qu'est géré le certificat web, | ||
+ | * ensuite tout est envoyé au Nginx de la vm allo sans chiffrement, | ||
+ | |||
+ | * Nginx sur la vm allo : | ||
+ | * les deux flux arrivent sur le même Nginx, | ||
+ | * si le chemin de requête est ///// alors : | ||
+ | * on sert les pages web demandées, | ||
+ | * si le chemin demandé est /ws alors : | ||
+ | * on redirige vers le port 64737 du processus websockify | ||
+ | |||
+ | * Websockify sur la vm allo : | ||
+ | * lancé en tâche de fond via // | ||
+ | * lit tout ce qui arrive sur le port 64737, | ||
+ | * redirige tout vers le port 64738 (c'est celui de notre serveur Mumble), | ||
+ | * s' | ||
+ | |||
+ | * serveur Mumble : | ||
+ | * traite toutes les connexions sur le port 64738. | ||
+ | |||
+ | |||
+ | ==== Configuration du Nginx bastion ==== | ||
+ | |||
+ | Gère le certificat SSL. | ||
+ | Redirige en proxy vers la vm allo. | ||
+ | |||
+ | < | ||
+ | server { | ||
+ | listen 80; | ||
+ | listen [::]:80; | ||
+ | |||
+ | server_name mumble.chapril.org; | ||
+ | |||
+ | access_log / | ||
+ | error_log / | ||
+ | |||
+ | include / | ||
+ | include / | ||
+ | include / | ||
+ | } | ||
+ | |||
+ | server { | ||
+ | listen 443 ssl; | ||
+ | listen [::]:443 ssl; | ||
+ | |||
+ | server_name mumble.chapril.org; | ||
+ | |||
+ | access_log / | ||
+ | error_log / | ||
+ | |||
+ | ssl_certificate | ||
+ | ssl_certificate_key / | ||
+ | |||
+ | include / | ||
+ | include / | ||
+ | #include / | ||
+ | |||
+ | location / { | ||
+ | proxy_http_version | ||
+ | proxy_set_header | ||
+ | include proxy_params; | ||
+ | proxy_pass http:// | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | ==== Installation code et build ==== | ||
+ | |||
+ | Installation de '' | ||
+ | < | ||
+ | apt-get install npm | ||
+ | |||
+ | Oui, ça installe 251 paquets node-*… | ||
+ | </ | ||
+ | |||
+ | Clonage : | ||
+ | < | ||
+ | cd / | ||
+ | git clone https:// | ||
+ | cd mumble-web | ||
+ | npm install | ||
+ | npm run build | ||
+ | </ | ||
+ | |||
+ | ==== Déploiement ==== | ||
+ | |||
+ | Note : pour le premier déploiement, | ||
+ | |||
+ | Créer la branche officielle : | ||
+ | < | ||
+ | mkdir / | ||
+ | cd / | ||
+ | git init . | ||
+ | cp -a / | ||
+ | chown -R www-data / | ||
+ | git add . | ||
+ | git commit -m "Build 9945bc5f7" | ||
+ | </ | ||
+ | |||
+ | Créer la branche Chapril : | ||
+ | < | ||
+ | cd / | ||
+ | git branch chapril-9945bc5f7 | ||
+ | git checkout chapril-9945bc5f7 | ||
+ | </ | ||
+ | |||
+ | Paramétrer le fichier ''/ | ||
+ | < | ||
+ | echo " | ||
+ | git add -p | ||
+ | git commit -m "First settings." | ||
+ | </ | ||
+ | |||
+ | ==== Installation de websockify ==== | ||
+ | |||
+ | Installation de websockify : | ||
+ | < | ||
+ | apt install websockify | ||
+ | </ | ||
+ | |||
+ | Configuration systemd : | ||
+ | < | ||
+ | [Unit] | ||
+ | Description=Mumble web interface | ||
+ | Documentation=https:// | ||
+ | Requires=network.target mumble-server.service | ||
+ | After=network.target mumble-server.service | ||
+ | |||
+ | [Service] | ||
+ | Type=simple | ||
+ | User=www-data | ||
+ | ExecStart=/ | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </ | ||
+ | |||
+ | Activation : | ||
+ | < | ||
+ | systemctl daemon-reload | ||
+ | systemctl start mumble-web | ||
+ | systemctl enable mumble-web | ||
+ | </ | ||
+ | ==== Configuration du Nginx allo ==== | ||
+ | |||
+ | Créer les fichiers Nginx : | ||
+ | < | ||
+ | touch / | ||
+ | ln -s / | ||
+ | </ | ||
+ | |||
+ | Remplir le fichier : | ||
+ | < | ||
+ | server { | ||
+ | listen 80; | ||
+ | server_name mumble.chapril.org; | ||
+ | |||
+ | access_log / | ||
+ | error_log / | ||
+ | |||
+ | location / { | ||
+ | root / | ||
+ | } | ||
+ | |||
+ | location /ws { | ||
+ | proxy_pass http:// | ||
+ | proxy_http_version 1.1; | ||
+ | proxy_set_header Upgrade $http_upgrade; | ||
+ | proxy_set_header Connection $connection_upgrade; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | map $http_upgrade $connection_upgrade { | ||
+ | default upgrade; | ||
+ | '' | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Personnalisation : la boite de dialogue ==== | ||
+ | Éditer le fichier ''/ | ||
+ | < | ||
+ | config.connectDialog.address | ||
+ | config.connectDialog.port | ||
+ | config.connectDialog.token | ||
+ | config.connectDialog.password = false; | ||
+ | config.connectDialog.channel | ||
+ | |||
+ | config.settings.voiceMode | ||
+ | config.settings.joinDialog | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Personnalisation : ajouter un favicon ==== | ||
+ | |||
+ | TODO | ||
+ | |||
+ | ==== Personnalisation : remplacer l' | ||
+ | TODO | ||
+ | |||
+ | ==== Personnalisation : remplacer le lien GitHub ==== | ||
+ | TODO | ||
+ | |||
+ | ==== Personnalisation : franciser un peu ==== | ||
+ | |||
+ | Éditer le fichier ''/ | ||
+ | < | ||
+ | TODO | ||
+ | </ | ||
+ | ==== Procédure de mise à jour ==== | ||
+ | |||
+ | Les fichiers de Mumble-web sont statiques. | ||
+ | |||
+ | Builder les fichiers : | ||
+ | < | ||
+ | cd / | ||
+ | git fetch --all | ||
+ | npm install | ||
+ | npm run build | ||
+ | </ | ||
+ | |||
+ | Désactiver mumble-web : | ||
+ | < | ||
+ | rm / | ||
+ | systemctrl restart nginx | ||
+ | </ | ||
+ | |||
+ | Intégrer la nouvelle version : | ||
+ | < | ||
+ | cd / | ||
+ | git checkout master | ||
+ | git branch master-hashducommit | ||
+ | rm -f * | ||
+ | cp -a / | ||
+ | chown -R www-data . | ||
+ | git add . | ||
+ | git commit -m "Build hashducommit" | ||
+ | git checkout chapril-derniereversion | ||
+ | git merge master-hashducommit | ||
+ | </ | ||
+ | |||
+ | Ré-activer mumble-web : | ||
+ | < | ||
+ | ln -s / | ||
+ | systemctrl restart nginx | ||
+ | </ | ||
admin/services/mumble.chapril.org.txt · Dernière modification : 2020/03/31 23:51 de cpm