Outils pour utilisateurs

Outils du site


admin:services:mumble.chapril.org

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
admin:services:mumble.chapril.org [2020/03/28 04:02] – [Configuration du Nginx bastion] cpmadmin: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 ====
 <code> <code>
 apt-get install mumble-server apt-get install mumble-server
Ligne 16: Ligne 17:
 Le fichier de configuration est ''/etc/mumble.ini''. Le fichier de configuration est ''/etc/mumble.ini''.
  
-===== Personnalisation ======+==== Personnalisation ====
  
 Modification du fichier ''/etc/mumble.ini'' : Modification du fichier ''/etc/mumble.ini'' :
Ligne 26: Ligne 27:
 </code> </code>
  
-===== Configuration routage flux =====+==== Configuration routage flux ====
  
 Sur ''maine'' et ''coon'' : Sur ''maine'' et ''coon'' :
Ligne 49: Ligne 50:
 </code> </code>
  
-===== Configuration pare-feu local =====+==== Configuration pare-feu local ====
 Sur la vm ''allo'' : Sur la vm ''allo'' :
   * créer le fichier ''/etc/firehol/services/mumble.conf'' :   * créer le fichier ''/etc/firehol/services/mumble.conf'' :
Ligne 86: Ligne 87:
 </code> </code>
  
-===== Test de connexion =====+==== Test de connexion ====
  
 À cette étape, le serveur Mumble est joignable à condition d'accepter le certificat. À cette étape, le serveur Mumble est joignable à condition d'accepter le certificat.
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'utilisateur : Superuser +
-    * 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'utiliser un certificat auto-signé. Mais alors une boite de dialogue technique apparaît et demande une confirmation. Cela représente une barrière aux utilisateurs. Donc l'utilisation d'un certificat validé par une autorité reconnue est la bienvenue. Par défaut, il est possible d'utiliser un certificat auto-signé. Mais alors une boite de dialogue technique apparaît et demande une confirmation. Cela représente une barrière aux utilisateurs. Donc l'utilisation d'un certificat validé par une autorité reconnue est la bienvenue.
  
Ligne 226: Ligne 211:
  
 <code>chmod +x /etc/cron.weekly/acme-renew</code> <code>chmod +x /etc/cron.weekly/acme-renew</code>
-===== 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'utilisateur : Superuser
 +    * nom : Chapril-SU
 +  * dans l’arborescence des salons :
 +    * cliquer bouton droit sur « root »
 +    * cliquer sur « Ajouter… »
 +    * remplir le formulaire
 +    * …
  
 ===== Mumble-web ===== ===== Mumble-web =====
  
 +==== Principe ====
 +
 +Mumble-web peut être installé en mode //standalone// ou //proxied//. Pour le Chapril, le mode //proxied// a été retenu car il permet :
 +  * 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://mumble.chapril.org/, le code Javascript ouvre un flux Webrtc,
 +    * le fichier //config.local.js// de Mumble-web contient une adresse spéciale pour le flux web :
 +      * config.defaults.address = 'mumble.chapril.org/ws';
 +    * donc le navigateur de l'utilisateur ouvre deux flux : un flux web statique et un flux Webrtc,
 +
 +  * 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 //Systemd//,
 +    * lit tout ce qui arrive sur le port 64737,
 +    * redirige tout vers le port 64738 (c'est celui de notre serveur Mumble),
 +    * s'occupe de rediriger correctement les réponses,
 +
 +  * serveur Mumble :
 +    * traite toutes les connexions sur le port 64738.
 +
 + 
 ==== Configuration du Nginx bastion ==== ==== Configuration du Nginx bastion ====
  
Ligne 282: Ligne 321:
     include /etc/nginx/sexy-chapril;     include /etc/nginx/sexy-chapril;
     #include /etc/nginx/chapril-banner-location;     #include /etc/nginx/chapril-banner-location;
- 
-    # location / { 
-    #     return 301 https://www.chapril.org/; 
-    # } 
  
     location / {     location / {
Ligne 295: Ligne 330:
 } }
 </code> </code>
-==== Installation ====+==== Installation code et build ====
  
 Installation de ''npm'' : Installation de ''npm'' :
 <code> <code>
 apt-get install npm apt-get install npm
 +
 +Oui, ça installe 251 paquets node-*…
 </code> </code>
-Oui, ça installe 251 paquest node-*… 
  
 Clonage : Clonage :
Ligne 310: Ligne 346:
 npm install npm install
 npm run build npm run build
-cp -a /srv/mumble.chapril.org/mumble-web/dist /var/www/mumble.chapril.org 
-chown -R www-data /var/www/mumble.chapril.org/ 
 </code> </code>
 +
 +==== Déploiement ====
  
 Note : pour le premier déploiement, on a utilisé le commit ''9945bc5f767eafb0fb82040c4ab38ecf24d99cbc''. Note : pour le premier déploiement, on a utilisé le commit ''9945bc5f767eafb0fb82040c4ab38ecf24d99cbc''.
  
-Paramétrer le fichier ''config.local.js'' :+Créer la branche officielle : 
 +<code> 
 +mkdir /var/www/mumble.chapril.org/ 
 +cd /var/www/mumble.chapril.org/ 
 +git init . 
 +cp -a /srv/mumble.chapril.org/mumble-web/dist/* . 
 +chown -R www-data /var/www/mumble.chapril.org/ 
 +git add . 
 +git commit -m "Build 9945bc5f7" 
 +</code> 
 + 
 +Créer la branche Chapril : 
 +<code> 
 +cd /var/www/mumble.chapril.org/ 
 +git branch chapril-9945bc5f7 
 +git checkout chapril-9945bc5f7 
 +</code> 
 + 
 +Paramétrer le fichier ''/var/www/mumble.chapril.org/config.local.js'' :
 <code> <code>
-pas forcément utile+echo "config.settings.address     = 'mumble.chapril.org/ws';" >> config.local.js 
 +git add -p 
 +git commit -m "First settings."
 </code> </code>
  
 +==== Installation de websockify ====
  
 Installation de websockify : Installation de websockify :
Ligne 355: Ligne 412:
 <code> <code>
 touch /etc/nginx/sites-available/mumble.chapril.org touch /etc/nginx/sites-available/mumble.chapril.org
-cd /etc/nginx/sites-available/ +ln -s /etc/nginx/sites-available/mumble.chapril.org etc/nginx/sites-enabled/
-ln -s ../sites-available/mumble.chapril.org+
 </code> </code>
  
Ligne 364: Ligne 420:
         listen 80;         listen 80;
         server_name mumble.chapril.org;         server_name mumble.chapril.org;
 +
 +        access_log /var/log/nginx/mumble.chapril.org/mumble.chapril.org-access.log;
 +        error_log /var/log/nginx/mumble.chapril.org/mumble.chapril.org-error.log;
  
         location / {         location / {
-                root /path/to/dist;+                root /var/www/mumble.chapril.org/;
         }         }
  
-        location /demo {+        location /ws {
                 proxy_pass http://localhost:64737;                 proxy_pass http://localhost:64737;
                 proxy_http_version 1.1;                 proxy_http_version 1.1;
Ligne 383: Ligne 442:
 </code> </code>
  
-==== Personnalisation ==== +==== Personnalisation : la boite de dialogue ==== 
-From Fed :+Éditer le fichier ''/var/www/mumble.chapril.org/config.local.js'' :
 <code> <code>
-cd /var/www/mumble-web/dist+config.connectDialog.address  = false; 
 +config.connectDialog.port     = false; 
 +config.connectDialog.token    = false; 
 +config.connectDialog.password = false; 
 +config.connectDialog.channel  = false;
  
-vi config.local.js +config.settings.voiceMode     = 'ptt';
- +
-config.connectDialog.password = false;                                                                                             +
-config.connectDialog.token = false;                                                                                             +
-config.settings.voiceMode     = 'ptt';                                                                                            +
 config.settings.joinDialog    = true; config.settings.joinDialog    = true;
 +</code>
  
-Pour franciser un peu : 
  
-vi index.html 
-</code> 
  
 +==== Personnalisation : ajouter un favicon ====
  
 +TODO
 +
 +==== Personnalisation : remplacer l'icône GitHub ====
 +TODO
 +
 +==== Personnalisation : remplacer le lien GitHub ====
 +TODO
 +
 +==== Personnalisation : franciser un peu ====
 +
 +Éditer le fichier ''/var/www/mumble.chapril.org/index.html'' :
 +<code>
 +TODO
 +</code>
 ==== Procédure de mise à jour ==== ==== Procédure de mise à jour ====
  
admin/services/mumble.chapril.org.1585368126.txt.gz · Dernière modification : 2020/03/28 04:02 de cpm