outil_de_visioconference
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
outil_de_visioconference [2023/02/09 12:30] – créée admin | outil_de_visioconference [2023/02/09 17:37] (Version actuelle) – admin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Outil de visioconférence ====== | ====== Outil de visioconférence ====== | ||
+ | |||
+ | Présentation de l' | ||
+ | |||
+ | J' | ||
+ | |||
+ | ===== Compilation ===== | ||
+ | |||
+ | Il n' | ||
+ | Il est donc nécessaire de le compiler avant de l' | ||
+ | |||
+ | Je conseille de ne pas faire cette complilation sur la machine de production mais sur une machine de développement et de copier les résultats ensuite. | ||
+ | |||
+ | ==== Compilateur Go ==== | ||
+ | |||
+ | Vérifier que l'on a le compilateur Go.\\ | ||
+ | //Voir pour cela l' | ||
+ | |||
+ | C'est simple: | ||
+ | * Télécharger le binaire (dossier tar.gz) | ||
+ | * Extraire dans /usr/local | ||
+ | * Modifier la variable d' | ||
+ | * Vérifier la version (doit être suppérieur à 1.17) < | ||
+ | |||
+ | Notez que des dépendances sont probablement nécessaires (comme le package " | ||
+ | |||
+ | ==== Compiler Galène ==== | ||
+ | |||
+ | Extraire les sources : | ||
+ | < | ||
+ | |||
+ | Et lancer simplement la compilation : | ||
+ | < | ||
+ | cd galene | ||
+ | CGO_ENABLED=0 go build -ldflags=' | ||
+ | </ | ||
+ | |||
+ | Au bout de quelque minutes, on se retrouve avec un binaire //galene// d' | ||
+ | |||
+ | ==== Déployer ==== | ||
+ | |||
+ | Copier les fichiers nécessaires sur votre machine de developpement.\\ | ||
+ | Créer aussi les dossiers nécessaires. | ||
+ | Dans cet exemple, on crée spécifiquement un utilisateur " | ||
+ | < | ||
+ | scp galene visio@prod.sleto.net:/ | ||
+ | scp -r static visio@prod.sleto.net:/ | ||
+ | ssh visio@prod.sleto.net mkdir / | ||
+ | ssh visio@prod.sleto.net mkdir / | ||
+ | </ | ||
+ | |||
+ | ===== Configurer ===== | ||
+ | |||
+ | ==== Supervisor ==== | ||
+ | |||
+ | En pro " | ||
+ | |||
+ | Créer donc un fichier /// | ||
+ | < | ||
+ | [program: | ||
+ | environment= | ||
+ | directory=/ | ||
+ | command=/ | ||
+ | user=visio | ||
+ | autostart=true | ||
+ | autorestart=true | ||
+ | stdout_logfile=/ | ||
+ | redirect_stderr=true | ||
+ | </ | ||
+ | |||
+ | Ici, je reprécise les port pour les protocoles //http// et //turn// ainsi que le fait que je veux moi-même gérer le https (via // | ||
+ | |||
+ | ne pas oublier de rajouter cette configuration: | ||
+ | < | ||
+ | sudo ln -sf / | ||
+ | sudo supervisorctl reread | ||
+ | sudo supervisorctl add visio | ||
+ | sudo supervisorctl restart visio | ||
+ | </ | ||
+ | |||
+ | ==== Proxy web === | ||
+ | |||
+ | Rajouter une configuration nginx pour avoir un proxy web: | ||
+ | < | ||
+ | # Configuration du server | ||
+ | server { | ||
+ | listen | ||
+ | server_name visio.sleto.net; | ||
+ | return 301 https:// | ||
+ | } | ||
+ | |||
+ | server { | ||
+ | listen | ||
+ | server_name visio.sleto.net; | ||
+ | |||
+ | include / | ||
+ | charset | ||
+ | client_max_body_size 100M; | ||
+ | gzip on; | ||
+ | gzip_vary on; | ||
+ | gzip_min_length 1024; | ||
+ | gzip_proxied expired no-cache no-store private auth; | ||
+ | gzip_types text/plain text/css text/xml text/ | ||
+ | |||
+ | fastcgi_buffers | ||
+ | fastcgi_buffer_size | ||
+ | |||
+ | index index.html; | ||
+ | |||
+ | access_log / | ||
+ | error_log / | ||
+ | |||
+ | location /ws { | ||
+ | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||
+ | proxy_set_header Host $host; | ||
+ | proxy_pass http:// | ||
+ | proxy_http_version 1.1; | ||
+ | proxy_set_header Upgrade $http_upgrade; | ||
+ | proxy_set_header Connection " | ||
+ | proxy_read_timeout 120s; | ||
+ | proxy_send_timeout 120s; | ||
+ | } | ||
+ | |||
+ | location / { | ||
+ | proxy_pass http:// | ||
+ | proxy_http_version 1.1; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Que l'on active via: | ||
+ | < | ||
+ | sudo ln -sf / | ||
+ | sudo service nginx restart | ||
+ | </ | ||
+ | |||
+ | Notons que /// | ||
+ | |||
+ | ==== Firewall === | ||
+ | |||
+ | Le proxy web permet de gérer simplement le protocole http/ | ||
+ | Par contre, il faut modifier le firewall pour le protocole turn.\\ | ||
+ | |||
+ | Pour cela, ajouter l' | ||
+ | < | ||
+ | iptables -A INPUT -p udp --dport 1194 -j ACCEPT | ||
+ | iptables -A OUTPUT -p udp --dport 1194 -j ACCEPT | ||
+ | </ | ||
+ | |||
+ | ==== Finaliser === | ||
+ | |||
+ | Pour finaliser l' | ||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Le champ // | ||
+ | Le champ //admin// permet de configurer un administrateur (pour les statistiques). | ||
+ | |||
+ | ===== Personnalisation ===== | ||
+ | |||
+ | ==== Les groupes ==== | ||
+ | |||
+ | //Galène// est maintenant fonctionnel ... mais on ne peux pas s'y connecter.\\ | ||
+ | En effet, il manque ici des configurations de groupes (c'est le nom pour " | ||
+ | |||
+ | Pour cela, ajouter un fichier " | ||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Ce groupe apparait dans l' | ||
+ | |||
+ | L' | ||
+ | |||
+ | ==== Apparence ==== | ||
+ | |||
+ | Au déployement, | ||
+ | Celui-ci continens l' | ||
+ | |||
+ | On est donc libre de l' | ||
+ |
outil_de_visioconference.txt · Dernière modification : 2023/02/09 17:37 de admin