Outils pour utilisateurs

Outils du site


admin:services:visio.chapril.org

Service visio.chapril.org

Le service Visio du Chapril est une instance de Jitsi Meet.

Le dépôt d’outillage pour Visio est https://forge.april.org/Chapril/visio.chapril.org-tools.

Installation

Configuration DNS

Sur la VM DNS, ajouter le domaine visio.chapril.org. Voir ajout-record-dns.

Configuration Bastion

Créer dans la VM Bastion le fichier /etc/nginx/sites-available/visio.chapril.org.

Créer le lien symbolique :

cd /etc/nginx/sites-enabled/
ln -s ../sites-available/visio.chapril.org 

Créer le répertoire des logs HTTP :

mkdir /var/log/nginx/visio.chapril.org/

Désactiver le protocole HTTPS dans la configuration Nginx de Visio :

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
nginx -s reload

Étendre la liste des domaines gérée par Dehydrated :

echo "visio.chapril.org" >> /etc/dehydrated/domains.txt 

Lancer Dehydrated pour récupérer le certificat TLS du domaine :

dehydrated -c
# INFO: Using main config file /etc/dehydrated/config
# INFO: Using additional config file /etc/dehydrated/conf.d/test-ca.sh
Processing visio.chapril.org
 + Creating new directory /var/lib/dehydrated/certs/visio.chapril.org ...
 + Signing domains...
 + Generating private key...
 + Generating signing request...
 + Requesting new certificate order from CA...
 + Received 1 authorizations URLs from the CA
 + Handling authorization for visio.chapril.org
 + 1 pending challenge(s)
 + Deploying challenge tokens...
 + Responding to challenge for visio.chapril.org authorization...
 + Challenge is valid!
 + Cleaning challenge tokens...
 + Requesting certificate...
 + Checking certificate...
 + Done!
 + Creating fullchain.pem...
 + Done!

Activer le protocole HTTPS dans la configuration Nginx de Visio et recharger :

nginx -t
nginx -s reload

Configuration VM Allo

Prérequis

La documentation officielle d'installation cite quelques prérequis.

Installer certains paquets :

apt-get install gnupg2

Définir le domaine visio.chapril.org dans /etc/hosts :

127.0.2.1       visio.chapril.org       visio

Configuration des ports

Définir dans FireHOL une configuration pour Jitsi dans /etc/firehol/services/jitsi.conf :

#FHVER: 1:213
# La première ligne ci-dessus est nécessaire !!
server_jitsi_ports="udp/10000 tcp/4443"
client_jitsi_ports="default"

Activer cette configuration en ajoutant la ligne suivante dans /etc/firehol/firehol-ext2me.conf :

server jitsi accept

Tester :

firehol try

Si OK alors répondre oui à la proposition d'activer la nouvelle configuration de FireHOL.

Configuration du dépôt Jitsi

Ajouter le dépôt Jitsi :

echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-stable.list

Charger la clef du dépôt Jitsi :

wget -qO -  https://download.jitsi.org/jitsi-key.gpg.key | apt-key add -
OK

Installer un serveur Web

L'installation du paquet Jitsi va détecter la présence d'un serveur Web et y placer un fichier de configuration pour le domaine.

Installer Nginx…

Installation des paquets Jitsi

Mettre à jour la liste des paquets et installer le paquet jitsi :

apt-get update
Atteint :1 https://apt.chapril.org/debian buster InRelease
Réception de :2 http://security.debian.org/debian-security buster/updates InRelease [65,4 kB]           
Atteint :3 http://ftp.de.debian.org/debian buster InRelease                                             
Réception de :4 https://download.jitsi.org stable/ InRelease [2 415 B]
Réception de :5 https://download.jitsi.org stable/ Packages [36,4 kB]
104 ko réceptionnés en 0s (272 ko/s)
Lecture des listes de paquets... Fait
apt install jitsi-meet
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait

Configuration Nginx

À l'installation du paquet Jitsi, un serveur Web est détecté ou installé et une configuration est ajoutée pour le domaine déclaré.

Compléter le fichier /etc/nginx/sites-availabled/visio.chapril.org.

Créer le lien symbolique :

cd /etc/nginx/sites-enabled/
ln -s ../sites-available/visio.chapril.org 

Créer le dossier des logs HTTP :

mkdir /var/log/nginx/visio.chapril.org/

Relancer le site Web :

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
nginx -s reload

Configuration Videobridge

Éditer le fichier /etc/jitsi/videobridge/sip-communicator.properties :

#org.jitsi.videobridge.AUTHORIZED_SOURCE_REGEXP=focus@auth.visio.chapril.org/.*                                                                                                                                                                               
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=192.168.1.64
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=88.99.233.240
org.jitsi.videobridge.ENABLE_STATISTICS=true
org.jitsi.videobridge.STATISTICS_TRANSPORT=muc
org.jitsi.videobridge.xmpp.user.shard.HOSTNAME=localhost
org.jitsi.videobridge.xmpp.user.shard.DOMAIN=auth.visio.chapril.org
org.jitsi.videobridge.xmpp.user.shard.USERNAME=jvb
org.jitsi.videobridge.xmpp.user.shard.PASSWORD=XXXXXXXXXXXXXXXXXXX
org.jitsi.videobridge.xmpp.user.shard.MUC_JIDS=JvbBrewery@internal.auth.visio.chapril.org
org.jitsi.videobridge.xmpp.user.shard.MUC_NICKNAME=XXXXXX-XXXXXX-XXXXXXX-XXXXXXXXX

Limiter la mémoire de Videobridge

Par défaut, la valeur maximale de mémoire allouable est 3072 Mo, ce qui peut paraître beaucoup.

À modifier dans le fichier /usr/share/jitsi-videobridge/lib/videobridge.rc :

VIDEOBRIDGE_MAX_MEMORY=2048m

Activation des statistiques

Éditer le fichier /etc/jitsi/videobridge/config :

JVB_OPTS="--apis=rest, "

Redémarrer :

systemctl restart nginx.service  jicofo.service  jitsi-videobridge2.service

Tester dans la VM Allo :

cd ~/
curl http://localhost:8080/about/version
{"name":"JVB","version":"2.1.376-g9f12bfe2","os":"Linux"}
curl http://localhost:8080/colibri/conferences
[]
curl  http://localhost:8080/colibri/stats
{"inactive_endpoints":0,"inactive_conferences":0,"total_ice_succeeded_relayed"…
curl  http://localhost:8080/colibri/stats 2> /dev/null | jshon -e participants -u
9

Documentation :

Personnalisation

Espace de fichiers

La personnalisation va passer par plusieurs fichiers à délivrer sur demande.

Création de l'espace des fichiers de personnalisation :

mkdir /var/www/visio.chapril.org/

Copier le fichier de configuration de l'interface dans l'espace de fichiers personnalisés :

cd /var/www/visio.chapril.org/
cp /usr/share/jitsi-meet/interface_config.js .

Ajouter dans /etc/nginx/sites-enabled/visio.chapril.org (avant les autres directives location) :

   location = /interface_config.js {
       alias /var/www/visio.chapril.org/interface_config.js;
   }

Activer la nouvelle configuration :

nginx -t && nginx -s reload

Favicon Chapril

Le fichier favicon : Logotype Favicon de Visio.

Placer le fichier favicon dans l'espace qui va bien :

cd /var/www/visio.chapril.org/
mkdir images
cd images/
wget https://admin.chapril.org/lib/exe/detail.php?id=admin%3Aservices%3Avisio.chapril.org&media=admin:services:favicon-visiochaprilorg.ico
mv favicon-visiochaprilorg.ico favicon.ico

Ajouter dans /etc/nginx/sites-enabled/visio.chapril.org (avant les autres directives location) :

    location = /images/favicon.ico {
        alias /var/www/visio.chapril.org/images/favicon.ico;
    }

Activer la nouvelle configuration :

nginx -t && nginx -s reload

Watermark Chapril

Placer l'image dans l'espace qui va bien :

cd /var/www/visio.chapril.org/
mkdir images
cd images/
wget https://www.chapril.org/IMG/siteon0.png?1569921870
mv siteon0.png?1569921870 logo-chapril.png

Ajouter dans /etc/nginx/sites-enabled/visio.chapril.org (avant les autres directives location) :

    location = /images/watermark.png {
        alias /var/www/visio.chapril.org/images/logo-chapril.png;
    }

Activer la nouvelle configuration :

nginx -t && nginx -s reload

Modifier le fichier /var/www/visio.chapril.org/interface_config.js :

<     JITSI_WATERMARK_LINK: 'https://jitsi.org',
---
>     JITSI_WATERMARK_LINK: 'https://www.chapril.org/',

Parties tierces

Dans le fichier /etc/jitsi/meet/visio.chapril.org-config.js :

    disableThirdPartyRequests: true,

Titres et onglet

Modifier le fichier /var/www/visio.chapril.org/interface_config.js :

<     APP_NAME: 'Jitsi Meet',
<     NATIVE_APP_NAME: 'Jitsi Meet',
<     PROVIDER_NAME: 'Jitsi',
---
>     APP_NAME: 'Visio.chapril.org',
>     NATIVE_APP_NAME: 'Visio.chapril.org',
>     PROVIDER_NAME: 'Chapril',

Interface en Français

Réglages à faire pour imposer le Français comme langue d'interface1).

Dans le fichier /var/www/visio.chapril.org/interface_config.js :

LANG_DETECTION: false, // Allow i18n to detect the system language  

Dans le fichier /etc/jitsi/meet/visio.chapril.org-config.js :

    defaultLanguage: 'fr',

Dans le fichier /var/www/visio.chapril.org/interface_config.js, personnaliser les champs suivants :

<     DEFAULT_REMOTE_DISPLAY_NAME: 'Fellow Jitster',
<     DEFAULT_LOCAL_DISPLAY_NAME: 'me',
---
>     DEFAULT_REMOTE_DISPLAY_NAME: 'autre',
>     DEFAULT_LOCAL_DISPLAY_NAME: 'moi',

Textes page d'accueil

Copier le fichier français d'internalisation dans l'espace de fichiers personnalisés :

cd /var/www/visio.chapril.org/
mkdir lang
cd lang/
cp /usr/share/jitsi-meet/lang/main-fr.json .

Ajouter dans /etc/nginx/sites-enabled/visio.chapril.org (avant les autres directives location) :

   location = /lang/main-fr.json {
       alias /var/www/visio.chapril.org/lang/main-fr.json;
   }

Ajouter un lien vers la messagerie support sur la page d'accueil

Éditer le fichier /usr/share/jitsi-meet/static/welcomePageAdditionalContent.html comme suit :

<template id="welcome-page-additional-content-template">
  <span style="margin-left: 30%;padding: 10px; background: rgb(5%,5%,15%); color: rgb(95%,95%,100%);font-size:14pt;">En cas de probl&egrave;me vous pouvez contacter le support &agrave; cette adresse : <a href="mailto:visio-support@chapril.org">Message support</a>
  </span>
</template>

Activer la nouvelle configuration :

nginx -t && nginx -s reload

Modifier les entrées headerTitle et headerSubtitle comme suit :

<         "headerTitle": "Visio.chapril.org",
<         "headerSubtitle": "Visio.chapril.org est un service libre de visioconférence. Rien à installer, tout se passe dans votre navigateur. Pas de réglage à faire, le son est parfait par défaut.\nAnonyme, pas de besoin de compte. Chiffré, votre intimité numérique est préservée. Ouvert à tout le monde, invitez qui vous voulez, quand vous voulez. Recommandation : 5 personnes maximum par salon et éviter les connexions Internet faibles.",
---
>         "headerTitle": "Jitsi Meet",
>         "headerSubtitle": "Conférences sécurisées et de haute qualité",

Désactivation de la caméra par défaut

Dans le fichier /etc/jitsi/meet/visio.chapril.org-config.js :

    startWithVideoMuted: true,

Possibilité de désactiver automatiquement à partir d'un certain nombre de participants :

    // Every participant after the Nth will start video muted.
    // startVideoMuted: 10,

Abaisser la qualité vidéo par défaut

Dans /etc/jitsi/meet/visio.chapril.org-config.js :

     // Sets the preferred resolution (height) for local video. Defaults to 720.
-    // resolution: 720,
+    resolution: 360,


-    // constraints: {
-    //     video: {
-    //         aspectRatio: 16 / 9,
-    //         height: {
-    //             ideal: 720,
-    //             max: 720,
-    //             min: 240
-    //         }
-    //     }
-    // },
+    constraints: {
+        video: {
+            aspectRatio: 16 / 9,
+            height: {
+                ideal: 360,
+                max: 360,
+                min: 240
+            }
+        }
+    },

Retrait pub privateur

Dans le fichier /var/www/visio.chapril.org/interface_config.js :

<     OPTIMAL_BROWSERS: [ 'chrome', 'chromium', 'firefox', 'nwjs', 'electron', 'safari' ],
---
>     OPTIMAL_BROWSERS: [ 'chromium', 'firefox', 'nwjs', 'electron' ],

Retirer des entrées inutiles du menu

Actuellement, une fois dans un salon Jitsi, dans le menu sont proposées les entrées :

  • Démarrer la diffusion en direct ;
  • Commencer l'enregistrement ;
  • Partager une vidéo YouTube.

Sauf que quand on clique dessus, ça ne fonctionne pas.

Alors, en fait, ces fonctionnalités ne sont pas souhaitables dans le cadre du Chapril :

  • Techniquement, elles nécessitent l'installation de services supplémentaires (Jibri) potentiellement complexes et très consommateurs de ressources ;
  • Certaines font la promotion de plateformes non libres ;
  • Trop avancées pour le Chapril qui a pour but de faire découvrir des services libres et d'être utile.

Si un utilisateur réclame ces fonctionnalités, il faut l'inviter à aller vers un autre hébergeur ou à héberger lui-même.

Pour retirer ces entrées, éditer le fichier root@allo:/var/www/visio.chapril.org/interface_config.js. Dans la variable TOOLBAR_BUTTONS, retirer les valeurs sharedvideo,livestreaming et recording puis redémarrer.

Avant : Menu de Jitsi Meet avant Après : Menu de Jitsi Meet après

Ce sujet a fait l'objet du ticket n°4887.

Patch needrestart

Needrestart est perturbé par Videobridge qu'il ne cesse de signaler comme étant à redémarrer.

Un ticket est ouvert sur le projet officiel : https://github.com/jitsi/jitsi-videobridge/issues/1166.

En attendant, application d'une astuce trouvée sur https://unix.stackexchange.com/questions/574325/jitsi-videobridge-service-daemons-using-outdated-libraries.

Dans /etc/needrestart/needrestart.conf :

$nrconf{blacklist_mappings} = [
[…]
    # Videobridge bug (agir #5168).
    qr(^/tmp/jna-),
    qr(^/usr/share/jitsi-videobridge/.cache/JNA/temp/jna),
    qr(^/tmp/nativeutils),

Et maintenant Needrestart est bon.

Supervision

Contrôle de l'expiration du certificat TLS

La sonde est située dans /srv/visio.chapril.org/tools/monitoring/check_visio_certificate.sh avec un lien vers /usr/local/lib/nagios/plugins/check_visio_certificate.

C'est une encapsulation de la sonde standard check_http avec des paramètres fixes et d'autres modifiables :

./check_visio_certificate.sh -h
check_visio_certificate

SYNTAXE

check_visio_certificate -t <seuils> -i <IP du frontal/bastion>

EXEMPLE

./check_visio_certificate -t 30,14 -i 192.168.1.1

Le premier seuil (30 dans l'exemple), donne le nombre de jours avant de générer un avertissement d'expiration warning.

Le deuxième seuil (14 dans l'exemple), donne le nombre de jours avant de générer une alerte critique d'expiration critical.

Contrôle du processus videobridge

La sonde est située dans /srv/visio.chapril.org/tools/monitoring/check_jitsi_videobridge avec un lien vers /usr/local/lib/nagios/plugins/check_jitsi_videobridge.

C'est une encapsulation de la sonde standard check_procs avec l'argument -a forcé à jitsi-videobridge.

Contrôle du processus jicofo

La sonde est située dans /srv/visio.chapril.org/tools/monitoring/check_jitsi_jicofo avec un lien vers /usr/local/lib/nagios/plugins/check_jitsi_jicofo.

C'est une encapsulation de la sonde standard check_procs avec l'argument -a forcé à jicofo.

Rapports d'activité

Des rapports d'activité sont générés à plusieurs niveaux (granularité, dates etc.).

Un rapport d'activité est produit avec le script standard rapport_activite.sh.

Il est situé dans /srv/visio.chapril.org/tools/rapport_activite/rapport_activite.sh.

Ce script génère des éléments statistiques par analyse des fichiers de logs du serveur.

Un complément à ces informations a été ajouté en utilisant les statistiques internes à Jitsi : Colibri.

Le script est situé dans /srv/visio.chapril.org/tools/statistiques/parseStats.py.

Il exploite un autre script, /srv/visio.chapril.org/tools/statistiques/getStats.py, qui génère des statistique directement depuis le serveur de Visio.

Les données statistiques sont récoltées et stockées dans une base de données SQLite dans /srv/visio.chapril.org/statistiques/stats_sqlite.db.

Elles sont ensuite consolidés par le script parseStats.py avant d'être envoyées dans le rapport d'activité.

Ces deux scripts sont appelés par un fichier Cron : /etc/cron.d/visiochaprilorg-rapportactivite. Ce dernier permet d'ajouter leur résultat directement dans un ticket Redmine dédié à cette récolte : le ticket n°4368.

Gestion des erreurs

Coturn

Démarrer le service Coturn provoque une erreur dans la connexion au Videobridge.

Voir aussi

1)
Ça permet de ne pas multiplier les traductions des personnalisations.
admin/services/visio.chapril.org.txt · Dernière modification : 2026/03/18 08:21 de pitchum