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
Prochaine révisionLes deux révisions suivantes
admin:services:mumble.chapril.org [2020/03/21 08:04] – [Configuration certificat] pitchumadmin:services:mumble.chapril.org [2020/03/28 04:27] – [Installation] cpm
Ligne 1: Ligne 1:
 ====== Service mumble.chapril.org ======= ====== Service mumble.chapril.org =======
  
-===== Installation =====+===== Déploiement =====
  
 +==== 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. +Marche à suivre 
- +  * se connecter en tant que Superuser ; 
-Pour créer des salons +  bouton droit sur la racine puis modifier ; 
-  * se connecter avec : +  onglet CLA ; 
-    adresse : mumble.chapril.org +  sélectionner ''@all'non italique ; 
-    port : 64738 (celui par défaut) +  * cocher la colonne ''Autoriser'' pour la ligne ''Créer des temporaires'' ; 
-    nom d'utilisateur : Superuser +  * cliquer sur ''OK''.
-    * nom : Chapril-SU +
-  * dans l’arborescence des salons : +
-    * cliquer bouton droit sur « root » +
-    * cliquer sur « Ajouter… » +
-    * remplir le formulaire +
-    * …+
  
  
-===== 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 120: Ligne 115:
 Temporairement, le temps de tester la configuration on va utiliser le serveur ACME de staging. Temporairement, le temps de tester la configuration on va utiliser le serveur ACME de staging.
  
-<code>echo 'CA="https://acme-staging-v02.api.letsencrypt.org/directory"' > /etc/dehydrated/conf.d/staging.sh</code>+<code bash>echo 'CA="https://acme-staging-v02.api.letsencrypt.org/directory"' > /etc/dehydrated/conf.d/staging.sh</code>
  
 On configure dehydrated pour faire de la validation DNS-01 dans le fichier ///etc/dehydrated/conf.d/auth-dns.sh// : On configure dehydrated pour faire de la validation DNS-01 dans le fichier ///etc/dehydrated/conf.d/auth-dns.sh// :
  
-<file /etc/dehydrated/conf.d/auth-dns.sh>+<file bash /etc/dehydrated/conf.d/auth-dns.sh>
 CHALLENGETYPE="dns-01" CHALLENGETYPE="dns-01"
 HOOK=/etc/dehydrated/hook-custom-chapril.sh HOOK=/etc/dehydrated/hook-custom-chapril.sh
Ligne 135: Ligne 130:
 Et la valeur de la variable //KEY// est ici évidemment fausse. La bonne valeur à utiliser se trouve sur le serveur DNS chapril dans le fichier ///etc/bind/rndc-acme.key//. Et la valeur de la variable //KEY// est ici évidemment fausse. La bonne valeur à utiliser se trouve sur le serveur DNS chapril dans le fichier ///etc/bind/rndc-acme.key//.
  
-<file /etc/dehydrated/hook-custom-chapril.sh>+<file bash /etc/dehydrated/hook-custom-chapril.sh>
 #!/usr/bin/env bash #!/usr/bin/env bash
  
Ligne 208: Ligne 203:
 Il faut maintenant automatiser le renouvellement des certificats avec une tâche cron. On créé le fichier ///etc/cron.weekly/acme-renew// suivant : Il faut maintenant automatiser le renouvellement des certificats avec une tâche cron. On créé le fichier ///etc/cron.weekly/acme-renew// suivant :
  
-<file /etc/cron.weekly/acme-renew>+<file bash /etc/cron.weekly/acme-renew>
 #! /bin/bash #! /bin/bash
 /usr/bin/dehydrated -c /usr/bin/dehydrated -c
Ligne 216: 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 234: 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 =====
 +
 +==== Configuration du Nginx bastion ====
 +
 +Gère le certificat SSL.
 +Redirige en proxy vers la vm allo.
 +
 +<code>
 +server {
 +    listen 80;
 +    listen [::]:80;
 + 
 +    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;
 + 
 +    include /etc/nginx/acme-challenge;
 +    include /etc/nginx/sexy-chapril;
 +    include /etc/nginx/force-ssl.conf;
 +}
 +
 +server {
 +    listen 443 ssl;
 +    listen [::]:443 ssl;
 + 
 +    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;
 + 
 +    ssl_certificate     /var/lib/dehydrated/certs/mumble.chapril.org/fullchain.pem;
 +    ssl_certificate_key /var/lib/dehydrated/certs/mumble.chapril.org/privkey.pem;
 + 
 +    include /etc/nginx/acme-challenge;
 +    include /etc/nginx/sexy-chapril;
 +    #include /etc/nginx/chapril-banner-location;
 +
 +    location / {
 +        proxy_http_version      1.1;
 +        proxy_set_header        Upgrade $http_upgrade;
 +        include proxy_params;
 +        proxy_pass http://allo.cluster.chapril.org;
 +    }
 +}
 +</code>
 +==== Installation code et build ====
 +
 +Installation de ''npm'' :
 +<code>
 +apt-get install npm
 +
 +Oui, ça installe 251 paquets node-*…
 +</code>
 +
 +Clonage :
 +<code>
 +cd /srv/mumble.chapril.org
 +git clone https://github.com/johni0702/mumble-web
 +cd mumble-web
 +npm install
 +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>
 +
 +Note : pour le premier déploiement, on a utilisé le commit ''9945bc5f767eafb0fb82040c4ab38ecf24d99cbc''.
 +
 +Paramétrer le fichier ''config.local.js'' :
 +<code>
 +pas forcément utile
 +</code>
 +
 +==== Installation de websockify ====
 +
 +Installation de websockify :
 +<code>
 +apt install websockify
 +</code>
 +
 +Configuration systemd :
 +<code>
 +[Unit]
 +Description=Mumble web interface
 +Documentation=https://github.com/johni0702/mumble-web
 +Requires=network.target mumble-server.service
 +After=network.target mumble-server.service
 +
 +[Service]
 +Type=simple
 +User=www-data
 +ExecStart=/usr/bin/websockify --ssl-target localhost:64737 localhost:64738
 +
 +[Install]
 +WantedBy=multi-user.target
 +</code>
 +
 +Activation :
 +<code>
 +systemctl daemon-reload
 +systemctl start mumble-web
 +systemctl enable mumble-web
 +</code>
 +==== Configuration du Nginx allo ====
 +
 +Créer les fichiers Nginx :
 +<code>
 +touch /etc/nginx/sites-available/mumble.chapril.org
 +ln -s /etc/nginx/sites-available/mumble.chapril.org etc/nginx/sites-enabled/
 +</code>
 +
 +Remplir le fichier :
 +<code>
 +server {
 +        listen 80;
 +        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 / {
 +                root /var/www/mumble.chapril.org/;
 +        }
 +
 +        location /ws {
 +                proxy_pass http://localhost:64737;
 +                proxy_http_version 1.1;
 +                proxy_set_header Upgrade $http_upgrade;
 +                proxy_set_header Connection $connection_upgrade;
 +        }
 +}
 +
 +map $http_upgrade $connection_upgrade {
 +        default upgrade;
 +        '' close;
 +}
 +</code>
 +
 +==== Personnalisation : la boite de dialogue ====
 +Éditer le fichier ''/var/www/mumble.chapril.org/config.local.js'' :
 +<code>
 +config.connectDialog.address  = false;
 +config.connectDialog.port     = false;
 +config.connectDialog.token    = false;
 +config.connectDialog.password = false;
 +config.connectDialog.channel  = false;
 +config.settings.voiceMode     = 'ptt';
 +config.settings.joinDialog    = true;
 +</code>
 +
 +==== Personnalisation : franciser un peu ====
 +
 +Éditer le fichier ''/var/www/mumble.chapril.org/index.html'' :
 +<code>
 +TODO
 +</code>
 +
 +==== Personnalisation : ajouter un favicon ====
 +
 +TODO
 +
 +==== Personnalisation : remplacer l'icône GitHub ====
 +TODO
 +
 +==== Personnalisation : remplacer le lien GitHub ====
 +TODO
 +
 +==== Procédure de mise à jour ====
 +
 +Les fichiers de Mumble-web sont statiques.
 +
 +Builder les fichiers :
 +<code>
 +cd /srv/mumble.chapril.org/mumble-web
 +git fetch --all 
 +npm install
 +npm run build
 +</code>
 +
 +Désactiver mumble-web :
 +<code>
 +rm /etc/nginx/sites-enabled/mumble.chapril.org
 +systemctrl restart nginx
 +</code>
 +
 +Intégrer la nouvelle version :
 +<code>
 +cd /var/www/mumble.chapril.org/
 +git checkout master
 +git branch master-hashducommit
 +rm -f *
 +cp -a /srv/mumble-chapril.org/dist/* .
 +chown -R www-data .
 +git add .
 +git commit -m "Build hashducommit"
 +git checkout chapril-derniereversion
 +git merge master-hashducommit
 +</code>
 +
 +Ré-activer mumble-web :
 +<code>
 +ln -s /etc/nginx/sites-available/mumble.chapril.org /etc/nginx/sites-enabled/
 +systemctrl restart nginx
 +</code>
  
admin/services/mumble.chapril.org.txt · Dernière modification : 2020/03/31 23:51 de cpm