Merge branch 'human-geek-main-patch-00300' into 'main'
Premier readme d'installation See merge request a-lec/commissions/chalec/visio!1
This commit is contained in:
commit
175bcaac74
219
README.md
219
README.md
|
@ -2,4 +2,221 @@
|
||||||
|
|
||||||
Service de visio-conférence du candidat chaton de Libre en communs.
|
Service de visio-conférence du candidat chaton de Libre en communs.
|
||||||
|
|
||||||
Responsable: Jérôme Bardot (@human-geek)
|
Responsable: @human-geek
|
||||||
|
|
||||||
|
CPU : 1 (4 core)
|
||||||
|
RAM : 4 Go
|
||||||
|
|
||||||
|
|
||||||
|
# INSTALLATION
|
||||||
|
|
||||||
|
## Généralités
|
||||||
|
|
||||||
|
La majorité des éléments d'installation et de configuration sont tirés de la documentation officielle :
|
||||||
|
|
||||||
|
https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-quickstart/
|
||||||
|
|
||||||
|
Sauf indication contraire les commandes sont executées avec les droits administrateurs.
|
||||||
|
La documentation se concentre sur le service et laisse de coté les autres aspects de configurations de la machine.
|
||||||
|
|
||||||
|
|
||||||
|
## Pré-requis
|
||||||
|
|
||||||
|
Afin de
|
||||||
|
|
||||||
|
```bash
|
||||||
|
apt update
|
||||||
|
apt install gnupg2 nginx-full apt-transport-https
|
||||||
|
```
|
||||||
|
|
||||||
|
## Àjout du dépot de jitsi-meet
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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
|
||||||
|
```
|
||||||
|
|
||||||
|
## Configuration Firewall
|
||||||
|
|
||||||
|
Afin de permettre à Jitsi de fonctionner correctement un certain nombre de port doivent être ouverts.
|
||||||
|
|
||||||
|
- 80 TCP => Pour la gestion des certificat SSL. Requis
|
||||||
|
- 443 TCP => Pour l'accès à l'interface de Jitsi Meet. Requis
|
||||||
|
- 10000 UDP => Pour la majorité des flux réseau audio et vidéo. Requis
|
||||||
|
- 3478 UDP => Pour interroger le serveur stun (coturn, optionnel, besoin de configurer le fichier config.js).
|
||||||
|
- 5349 TCP => Pour les communication réseau audio et vidéo de secours via TCP (quand UDP est bloquée), fournis par coturn . Requis
|
||||||
|
|
||||||
|
|
||||||
|
Les commandes suivantes concerne UFW. C'est à adapter si vous utilisez un autre Firewall.
|
||||||
|
```bash
|
||||||
|
ufw allow 80/tcp
|
||||||
|
ufw allow 443/tcp
|
||||||
|
ufw allow 10000/udp
|
||||||
|
ufw allow 22/tcp
|
||||||
|
ufw allow 3478/udp
|
||||||
|
ufw allow 5349/tcp
|
||||||
|
ufw enable
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Certificat TLS
|
||||||
|
|
||||||
|
L'installation du certificat TLS se fait via l'utilisation de certbot.
|
||||||
|
|
||||||
|
Afin d'éviter les soucis de cron notamment il est conseillé (contrairement à ce qu'indique la documentation officielle) de générer son propre certificat et ne pas laisser jitsi gérer le certificat.
|
||||||
|
|
||||||
|
TODO
|
||||||
|
|
||||||
|
|
||||||
|
## Installation de Jitsi Meet
|
||||||
|
|
||||||
|
L'installation se fait via le paquet debian du dépot officiel de jitsi-meet.
|
||||||
|
L'installation est à même de détecter le serveur web déjà installé.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
apt install jitsi-meet
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
# Configurations
|
||||||
|
|
||||||
|
## Serveur web
|
||||||
|
|
||||||
|
|
||||||
|
/etc/nginx/sites-enabled/visio.chalec.org.conf
|
||||||
|
```
|
||||||
|
include visio.chalec.org.conf;
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## Vidéobridge
|
||||||
|
|
||||||
|
Éditer le fichier /etc/jitsi/videobridge/sip-communicator.properties
|
||||||
|
|
||||||
|
```
|
||||||
|
#org.ice4j.ice.harvest.DISABLE_AWS_HARVESTER=true
|
||||||
|
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=XXX.XXX.XXX.XXX
|
||||||
|
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=80.67.179.96
|
||||||
|
#org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES=meet-jit-si-turnrelay.jitsi.net:443
|
||||||
|
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.chalec.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.chalec.org
|
||||||
|
org.jitsi.videobridge.xmpp.user.shard.MUC_NICKNAME=XXXXXX-XXXXXX-XXXXXXX-XXXXXXXXX
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Statistiques
|
||||||
|
|
||||||
|
|
||||||
|
Éditer le fichier /etc/jitsi/videobridge/config et activer l'api rest :
|
||||||
|
|
||||||
|
```
|
||||||
|
JVB_OPTS="--apis=rest, "
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
Il est possible de tester l'api avec le script suivant :
|
||||||
|
|
||||||
|
```
|
||||||
|
curl http://localhost:8080/about/version
|
||||||
|
curl http://localhost:8080/colibri/conferences
|
||||||
|
curl http://localhost:8080/colibri/stats
|
||||||
|
curl http://localhost:8080/colibri/stats 2> /dev/null | jshon -e participants -u
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Éléments d'interfaces
|
||||||
|
|
||||||
|
|
||||||
|
### Configuration web
|
||||||
|
Afin de séparer au maximum la configuration fournis en amont et les éléments de personnalisations un fichier de configuration nginx spécifique au service est créé :
|
||||||
|
- /etc/nginx/visio.chalec.org.conf
|
||||||
|
|
||||||
|
```
|
||||||
|
set $custom_path /var/www/visio.chalec.org;
|
||||||
|
|
||||||
|
location = /interface_config.js {
|
||||||
|
alias $custom_path/interface_config.js;
|
||||||
|
}
|
||||||
|
|
||||||
|
location = /images/favicon.ico {
|
||||||
|
alias $custom_path/images/visio.chalec.org.ico;
|
||||||
|
}
|
||||||
|
|
||||||
|
location = /images/watermark.svg {
|
||||||
|
alias $custom_path/images/visio.chalec.org.svg;
|
||||||
|
}
|
||||||
|
|
||||||
|
location = /images/welcome-background.png {
|
||||||
|
alias $custom_path/images/welcome-background.webp;
|
||||||
|
}
|
||||||
|
|
||||||
|
location = /static/recommendedBrowsers.html {
|
||||||
|
alias $custom_path/static/recommendedBrowsers.html;
|
||||||
|
}
|
||||||
|
|
||||||
|
# StatoolInfos.
|
||||||
|
include /etc/nginx/statoolinfos.conf;
|
||||||
|
```
|
||||||
|
|
||||||
|
Il permet de faire des alias et de remplacer les fichiers déclarés par défaut par les nôtres, le tout peut importe leurs noms. Il faut juste que la configuration nginx soit cohérente.
|
||||||
|
|
||||||
|
### Racine de stockage
|
||||||
|
|
||||||
|
L'ensemble des fichiers (images, icônes, etc) sont créés dans le dossier /var/www/visio.chalec.org. À ce titre nous recréons l'arborescence de jitsi.
|
||||||
|
|
||||||
|
```
|
||||||
|
mkdir -p /var/www/visio.chalec.org/{images/statics}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Favicon, Watermark et fond d'accueil
|
||||||
|
|
||||||
|
Les différentes images sont à incorporer dans le dossier :
|
||||||
|
|
||||||
|
```
|
||||||
|
/var/www/visio.chalec.org/images
|
||||||
|
```
|
||||||
|
|
||||||
|
Dans notre configuration actuelle les éléments sont nommé comme suis :
|
||||||
|
|
||||||
|
- visio.chalec.org.ico pour le favicon.
|
||||||
|
- visio.chalec.org.svg pour le filigrame (watermark), il faut noter que le lien http est à configurer dans la partie javascript.
|
||||||
|
- welcome-background.webp pour le fond d'écran d'accueil.
|
||||||
|
|
||||||
|
|
||||||
|
### Javascript
|
||||||
|
|
||||||
|
Le fichiers javascript permet de configurer certaines informations, aussi nous en fesons une copie puis éditons les valeurs afin de faire correspondre à notre service.
|
||||||
|
```
|
||||||
|
cp /usr/share/jitsi-meet/interface_config.js /var/www/visio.chalec.org/
|
||||||
|
```
|
||||||
|
|
||||||
|
Une fois cela fait un certain nombre d'éléments sont à personnaliser
|
||||||
|
|
||||||
|
```js
|
||||||
|
APP_NAME: 'Visio Chalec',
|
||||||
|
DEFAULT_LOGO_URL: 'images/watermark.svg',
|
||||||
|
DISPLAY_WELCOME_FOOTER: false,
|
||||||
|
DISPLAY_WELCOME_PAGE_ADDITIONAL_CARD: true,
|
||||||
|
DISPLAY_WELCOME_PAGE_CONTENT: true,
|
||||||
|
JITSI_WATERMARK_LINK: 'https://chalec.org',
|
||||||
|
OPTIMAL_BROWSERS: [ 'chromium', 'firefox', 'nwjs', 'electron' ],
|
||||||
|
PROVIDER_NAME: 'Jitsi et Chalec',
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Redémarrer les services
|
||||||
|
Il est ensuite primordial de redémarrer le serveur web et jitsi.
|
||||||
|
|
||||||
|
```
|
||||||
|
service nginx restart;
|
||||||
|
service jitsi-videobridge2 restart;
|
||||||
|
service jicofo restart;
|
||||||
|
```
|
||||||
|
|
Loading…
Reference in New Issue