104 lines
3.6 KiB
Markdown
104 lines
3.6 KiB
Markdown
---
|
||
title: Howto Jitsi
|
||
category: Communication
|
||
...
|
||
|
||
* <https://github.com/jitsi/jitsi-meet/>
|
||
|
||
Jitsi Meet is an open-source (Apache) WebRTC JavaScript application that uses Jitsi Videobridge to provide high quality, secure and scalable video conferences.
|
||
|
||
## Installation
|
||
|
||
### Pré-requis
|
||
|
||
Il est important que `/tmp` et `/usr/share/jitsi` soient en sur des partitions montées en `read-write` et en `exec`.
|
||
|
||
Si `/tmp` n'est pas "exec", l'audio/video ne marchera pas.
|
||
Si `/usr/share/jitsi` n'est pas accessible ne écriture, jicofo se plaindra de ne pas pouvoir acquérir de lock.
|
||
|
||
### Installation en Debian 10
|
||
|
||
* Ajouter le dépot de Jitsi dans apt ainsi que la clé gpg du dépôt :
|
||
|
||
~~~
|
||
# curl https://download.jitsi.org/jitsi-key.gpg.key | sudo sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg'
|
||
# echo 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null
|
||
~~~
|
||
|
||
* Recharger la liste des dépôts du système et intallation du paquet apt-transport-https
|
||
|
||
~~~
|
||
# sudo apt-get -y update && apt install apt-transport-https
|
||
~~~
|
||
|
||
* Installer le paquet `jitsi-meet`
|
||
|
||
Lors de l'installation du paquet *jitsi-meet*, celui-ci vérifie si un serveur web, Apache ou Nginx est présent et configurera un vhost.
|
||
Si aucun serveur web n'est présent sur la machine, il servira les connexions via Jetty.
|
||
|
||
Si l'on veut que Jitsi fonctionne avec un serveur web, il faut donc s'assurer que Apache ou Nginx soit bien installer **avant** l'installation du paquet.
|
||
|
||
* <https://wiki.evolix.org/HowtoApache>
|
||
* <https://wiki.evolix.org/HowtoNginx>
|
||
|
||
~~~
|
||
# sudo apt-get -y install jitsi-meet
|
||
~~~
|
||
|
||
Le daemon *jitsi-videobridge* se contrôle avec une unité systemd :
|
||
|
||
~~~
|
||
# systemctl status jitsi-videobridge.service
|
||
|
||
● jitsi-videobridge.service - Jitsi Videobridge
|
||
Loaded: loaded (/lib/systemd/system/jitsi-videobridge.service; enabled; vendor preset: enabled)
|
||
Active: active (running) since Fri 2020-03-13 11:17:30 CET; 55s ago
|
||
Main PID: 19798 (java)
|
||
Tasks: 49 (limit: 65000)
|
||
Memory: 165.1M
|
||
CGroup: /system.slice/jitsi-videobridge.service
|
||
└─19798 java -Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djava.library.path=/usr/share/jitsi-videobridge
|
||
~~~
|
||
|
||
|
||
### Générer un certificat SSL Let's Encrypt
|
||
|
||
Le paquet Jitsi incorpore un script qui permet de générer un certificat SSL Let's Encrypt, il faut exécuter le script suivant :
|
||
|
||
~~~
|
||
# /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
|
||
~~~
|
||
|
||
**Il faut bien vérifier que le nom de domaine configurer pour Jitsi pointe bien vers le serveur au niveau des DNS.**
|
||
|
||
### Autorisé l'accès à l'API pour l'utilisation de l'application Jitsi desktop :
|
||
|
||
Si on désire que l'instance Jitsi soit fonctionnelle avec l'application Jitsi desktop, application électron, il faut autorisé l'accès à l'API, exemple de configuration dans un vhost nginx :
|
||
|
||
~~~
|
||
location /external_api.js {
|
||
alias /usr/share/jitsi-meet/libs/external_api.min.js;
|
||
}
|
||
~~~
|
||
|
||
Il faut aussi vérifié que les Headers suivants ne soit pas activé dans nginx, car cela bloque l'accès à l'instance par l'application :
|
||
|
||
~~~
|
||
Content-Security-Policy "frame-ancestors 'none'";
|
||
X-Frame-Options "DENY";
|
||
~~~
|
||
|
||
## Ouvrir une conférence
|
||
|
||
Lancer un navigateur web et entrer le nom de domaine, ou l'adresse ip, que l'on a renseigné dans la configuration de Jitsi.
|
||
|
||
Par défaut Jitsi génère un certificat auto-signé, il faut accepter celui-ci.
|
||
|
||
## Conférences actives
|
||
|
||
Il est possible d'avoir un aperçu des conférences actives grâce à la commande suivante :
|
||
|
||
~~~
|
||
# tail -f /var/log/jitsi/jvb.log | grep "conf_name="
|
||
~~~
|