Serveur

Comment installer Spreed WebRTC Server sur Ubuntu

Comment installer Spreed WebRTC Server sur Ubuntu

Spreed ne ressemble à aucune autre plate-forme de chat vidéo - elle est bien meilleure et puissante à tous points de vue. Il s'agit d'un serveur d'appels audio/vidéo gratuit et open source conçu dans un souci de confidentialité. Spreed utilise WebRTC (Web Real-Time Communication), qui permet aux navigateurs Web et aux applications mobiles de communiquer en temps réel via des API (Application Programming Interfaces). WebRTC permet la communication peer-to-peer permettant à l'audio et à la vidéo de fonctionner à l'intérieur des pages Web.

De plus, Spreed WebRTC utilise un cryptage de bout en bout, garantissant ainsi une confidentialité et une sécurité optimales aux données des utilisateurs.

Certaines des tâches que vous pouvez effectuer avec Spreed incluent :

Installation du serveur Spreed WebRTC sur Ubuntu

Si vous vous demandez par où commencer avec Spreed, vous serez sur la bonne voie. Cet article vous donnera un guide étape par étape sur l'installation et la prise en main de Spreed WebRTC Server sur Ubuntu. Plongeons-nous!

Étape 1. Installer Spreed sur Ubuntu

Nous allons examiner deux façons que vous pouvez utiliser pour installer Spreed.

  1. Installez Spreed à partir du PPA officiel
  2. Installer Spreed via Snap

Noter: L'installation de Spreed via le PPA ne fonctionnera que sur Ubuntu 16.04. Si vous êtes sur Ubuntu 18.04, Ubuntu 20.04, ou toute autre variante d'Ubuntu, vous devrez utiliser Snap.

Lancez le Terminal (Ctrl + Alt + T) et exécutez les commandes ci-dessous sur le Terminal.

sudo apt-add-repository ppa: strukturag/spreed-webrtc sudo apt mettre à jour sudo apt installer spreed-webrtc

Pour commencer, installez d'abord Snap avec les commandes ci-dessous.

sudo apt mettre à jour sudo apt installer snapd

Installer Snapd

Une fois que Snap est installé sur votre système, procédez à l'installation de Spreed WebRTC avec la commande ci-dessous :

sudo snap installer spreed-webrtc-snap

Installer Spreed-WebRTC

Une fois que vous avez installé avec succès Spreed-WebRTC via Snap, il démarrera son serveur Web intégré via localhost sur le port 8084 (127.0.0:8084). Vous pouvez confirmer son statut sur s'il est en cours d'exécution avec la commande ci-dessous.

informations instantanées spreed-webrtc-snap

Snaped-WebRTC Statut Snap

S'il n'est pas en cours d'exécution, vous pouvez démarrer Spreed snap avec la commande ci-dessous :

sudo snap start spreed-webrtc-snap

Démarrer Spreed Snap

Vous pouvez également activer le démarrage automatique de Spreed au démarrage du système avec la commande ci-dessous :

sudo snap start --enable spreed-webrtc-snap

Activer Spreed pour démarrer au démarrage

Vous pouvez vérifier si le serveur Web Spreed est en cours d'exécution en recherchant l'adresse 127.0.01:8084 sur le navigateur Web. Vous devriez voir la page Web de Spreed comme indiqué dans l'image ci-dessous.

Interface Web de vitesse

Étape 2 : Configuration du proxy inverse

Comme vous pouvez le voir dans les informations ci-dessus, Spreed-WebRTC, par défaut, n'est accessible que via localhost. Par conséquent, un autre utilisateur sur un réseau différent du vôtre n'accédera pas à Spreed-WebRTC. Pour surmonter ce problème, vous devrez configurer un proxy inverse.

Conseil: Un proxy inverse est un serveur proxy qui demande des ressources réseau au nom d'un client au serveur principal approprié.

Nous verrons comment configurer un proxy inverse en utilisant Nginx et Apache. Vous pouvez utiliser n'importe lequel d'entre eux.

Pour installer Nginx sur Ubuntu, exécutez la commande ci-dessous :

sudo apt installer nginx

Installer Nginx

Une fois la commande exécutée avec succès, créez un bloc de serveur pour Spreed-WebRTC sur Nginx. Exécutez la commande ci-dessous pour créer le spreed-webrtc.conf avec l'éditeur nano.

sudo nano /etc/nginx/conf.d/spreed-webrtc.conf

Maintenant, copiez le contenu ci-dessous et collez-le dans l'éditeur nano. N'oubliez pas de remplacer le domaine spreed.Exemple.com avec votre nom de domaine préféré. N'oubliez pas non plus de créer un enregistrement A.

Conseil: Un enregistrement DNS-A pointe un sous-domaine ou un nom de domaine vers une adresse IP.

serveur  écouter 80; server_name spreed.Exemple.com; emplacement /  proxy_pass http://127.0.0.1:8080 ; proxy_http_version 1.1; proxy_set_header Mise à niveau $http_upgrade ; proxy_set_header Connexion "mise à niveau" ; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Hôte $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ; proxy_buffering activé ; proxy_ignore_client_abort désactivé ; proxy_redirect désactivé ; proxy_connect_timeout 90 ; proxy_send_timeout 90 ; proxy_read_timeout 90 ; proxy_buffer_size 4k ; proxy_buffers 4 32k; proxy_busy_buffers_size 64k ; proxy_temp_file_write_size 64k ; proxy_next_upstream error timeout invalid_header http_502 http_503 http_504;  emplacement ~ /.bien connu/acme-challenge  racine /usr/share/nginx/spreed/; autorise tout;  

Fichier de configuration Spreed-WebRTC

Enregistrez et fermez le fichier. (Ctrl + O puis Entrée pour enregistrer, Ctrl + X pour quitter).

Vous pouvez maintenant tester vos configurations et recharger Nginx avec les commandes ci-dessous.

sudo nginx -t sudo systemctl recharger nginx

Recharger Nginx

Désormais, Spreed-WebRTC devrait être accessible via un navigateur Web via le domaine attribué. Voir l'image ci-dessous.

Serveur Spreed-WebRTC Nginx

Si vous souhaitez utiliser Apache, commencez par l'installer d'abord avec la commande ci-dessous :

sudo apt installer apache2

Installer Apache

Une fois cela fait, comme nous l'avons fait avec Nginx, créez un fichier de bloc de serveur Spreed-WebRTC. Exécutez la commande pour créer et ouvrir le fichier avec l'éditeur nano.

sudo nano /etc/apache2/sites-available/spreed-webrtc.conf

Maintenant, copiez le contenu ci-dessous et collez-le dans l'éditeur nano. N'oubliez pas de remplacer le domaine spreed.Exemple.com avec votre nom de domaine préféré. N'oubliez pas non plus de créer un enregistrement A.

 Vitesse du nom du serveur.Exemple.com  ProxyPass http://127.0.0.1:8080/ ProxyPassReverse http://127.0.0.1:8080/   ProxyPass ws://127.0.0.1:8080/  ProxyVia activé ProxyPreserveHost activé 

Enregistrez et fermez le fichier. (Ctrl + O puis Entrée pour enregistrer, Ctrl + X pour quitter).

Ensuite, nous devons activer proxy_http

Exécutez la commande ci-dessous :

sudo a2enmod proxy_http

Activer proxy_http

Une fois terminé, activez l'hôte virtuel. Exécutez la commande ci-dessous :

sudo a2ensite spreed-webrtc.conf

Activer l'hôte virtuel

Vous pouvez procéder au test de vos configurations et recharger votre serveur Apache.

sudo apachectl configtest sudo systemctl recharger apache2

Désormais, Spreed-WebRTC devrait être accessible via un navigateur Web via le domaine attribué. Voir l'image ci-dessous.

Spreed-WebRTC

Étape 3 : Activer HTTPS

Jusqu'à présent, notre serveur Spreed-WebRTC n'est accessible que via HTTP, ce qui peut poser des problèmes de sécurité. Pour activer HTTPS, nous devrons obtenir un certificat SSL/TLS.

Ce tutoriel utilisera Let's Encrypt pour obtenir un certificat TLS gratuit. Exécutez les commandes ci-dessous pour installer le client Let's Encrypt -Certbot- à partir du PPA officiel.

sudo apt installer certbot

Installer Certbot

Pour les utilisateurs d'Apache, vous devrez installer le plugin Certbot Apache avec la commande ci-dessous :

sudo apt installer python3-certbot-apache

Plugin Apache Certbot

Pour les utilisateurs de Nginx, installez le plugin Certbot Nginx avec la commande ci-dessous :

sudo apt installer python3-certbot-nginx

Plugin Nginx Certbot

Pour obtenir le certificat TLS du serveur Apache, exécutez la commande ci-dessous :

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d vitesse.Exemple.com

Pour obtenir un certificat TLS pour le serveur Nginx, exécutez la commande ci-dessous :

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d vitesse.Exemple.com

Noter: Avec les deux commandes ci-dessus, pensez à remplacer [email protected] avec votre email officiel pour l'inscription et vitesse.Exemple.com avec le nom de domaine que vous avez utilisé pour votre Spreed-WebRTC.

Vous devriez recevoir le message ci-dessous si vous avez réussi à obtenir le certificat.

spreed-webtrc-certbot-https

Étape 4 : Installer un serveur TURN/STUN

Le serveur Spreed-WebRTC est bien configuré et accessible en ligne à ce stade. Cependant, il y a un problème que nous devons résoudre. Si vous avez des utilisateurs derrière un réseau NAT, ils seront bloqués et WebRTC ne fonctionnera pas. Pour pallier cela, nous allons mettre en place un serveur TURN/STUN, qui servira de relais entre les navigateurs web. TURN signifie Traversal Using Relays around NAT, et STUN signifie Session Traversal Utilities.

Nous utiliserons le serveur Coturn, qui facilite les appels et les conférences vidéo/audio en implémentant les protocoles TURN et STUN.

Pour commencer, installez Coturn avec la commande ci-dessous :

sudo apt installer coturn

Installer Coturn

Une fois la commande exécutée avec succès, le service coturn démarrera automatiquement. Vous pouvez vérifier l'état avec la commande ci-dessous :

systemctl status coturn

Installer Coturn

Si coturn n'est pas en cours d'exécution, lancez-le avec la commande ci-dessous :

sudo systemctl start coturn

De plus, pour plus de commodité, vous pouvez le configurer pour qu'il démarre automatiquement au démarrage avec la commande ci-dessous :

sudo systemctl activer coturn

Démarrer Coturn au démarrage

Étape 5 : Configurer Coturn

Avec Coturn installé et en cours d'exécution, nous pouvons le configurer pour Spreed-WebRTC.

Exécutez la commande ci-dessous pour modifier le serveur tournant fichier de configuration.

sudo nano /etc/turnserver.conf

Vous remarquerez que toutes les lignes sont commentées à partir de la sortie que vous obtenez. Comme le montre l'image ci-dessous :

Tourner le fichier de configuration du serveur

Pour vous faciliter grandement le travail, copiez le contenu ci-dessous et collez-le à la fin de votre configuration serveur tournant déposer. Cependant, n'oubliez pas d'apporter les modifications ci-dessous :

# Spécifiez le port d'écoute. Passez à 80 ou 443 pour contourner certains NAT stricts. listen-port=8443 tls-listening-port=5349 # Spécifiez l'IP d'écoute, si elle n'est pas définie, Coturn écoute sur toutes les IP du système. écoute-ip=10.16.1.1 relais-ip=10.16.1.1 # Ces lignes permettent la prise en charge de l'empreinte digitale WebRTC lt-cred-mech realm=example.com # Méthode d'authentification use-auth-secret static-auth-secret=sample-auth-secret total-quota=100 # Bande passante totale en octets par seconde que le serveur TURN est autorisé à allouer # pour les sessions, combinées (entrée et sortie les flux réseau sont traités séparément). bps-capacity=0 # Cette ligne offre une sécurité supplémentaire. stale-nonce log-file=/var/log/turnserver/turn.log no-loopback-peers no-multicast-peers

Enregistrez le fichier de configuration et redémarrez coturn avec la commande ci-dessous :

sudo systemctl redémarrer coturn

Maintenant, nous devrons configurer Spreed-WEbRTC pour Coturn. Exécutez la commande ci-dessous pour ouvrir le fichier de configuration du serveur.

Si vous avez installé Spreed via PPA, utilisez la commande ci-dessous :

sudo nano /etc/spreed/server.conf

Si vous avez installé Spreed via Snap, utilisez la commande ci-dessous :

sudo nano /var/snap/spreed-webrtc-snap/common/server.conf

Localisez la section de l'application et ajoutez les lignes ci-dessous. N'oubliez pas de remplacer le texte en surbrillance en conséquence.

turnURIs = turn:coturn-server-ip:8443?transport=udp turnSecret = example-auth-secret

Fichier de serveur de vitesse

Enregistrez et fermez le fichier. Encore une fois, redémarrez le serveur Spreed-WebRTC avec la commande ci-dessous :

Si vous avez installé Spreed via PPA, utilisez la commande ci-dessous :

sudo systemctl redémarrer spreed-webrtc

Si vous avez installé Spreed via Snap, utilisez la commande ci-dessous :

sudo snap redémarrer spreed-webrtc-snap

La dernière étape que vous devez faire est d'activer le port 8843 sur votre pare-feu. C'est parce que Coturn écoute sur le port 8843. Exécutez les commandes pour le pare-feu UFW.

sudo ufw autoriser 8443/tcp sudo ufw autoriser 8443/udp

Autoriser le port 8843

Désormais, avec la configuration Coturn et Spreed-WebRTC, même les utilisateurs derrière un réseau NAT devraient pouvoir passer des appels audio/vidéo et même organiser des conférences en ligne.

J'espère que cet article vous a donné un guide clair sur l'installation de Spreed WebRTC Server sur Ubuntu. Certaines configurations telles que la définition d'un enregistrement DNS A peuvent être assez difficiles pour les débutants, mais je pense qu'il existe des articles de guide sur le site sur lequel vous avez acheté votre domaine. Si vous rencontrez un problème, n'hésitez pas à laisser un commentaire ci-dessous.

Comment changer la taille, la couleur et le schéma du pointeur et du curseur de la souris sous Windows 10
Le pointeur et le curseur de la souris dans Windows 10 sont des aspects très importants du système d'exploitation. Cela peut également être dit pour d...
Moteurs de jeux gratuits et open source pour le développement de jeux Linux
Cet article couvrira une liste de moteurs de jeux gratuits et open source qui peuvent être utilisés pour développer des jeux 2D et 3D sur Linux. Il ex...
Tutoriel Shadow of the Tomb Raider pour Linux
Shadow of the Tomb Raider est le douzième ajout à la série Tomb Raider - une franchise de jeux d'action-aventure créée par Eidos Montréal. Le jeu a ét...