GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer le serveur Spreed WebRTC sur Ubuntu 16.04

Spreed est un serveur de conférence et d'appel audio/vidéo WebRTC open source (AGPL) gratuit conçu dans un souci de confidentialité. WebRTC est une technologie gratuite et ouverte qui permet aux navigateurs de communiquer entre eux de manière peer-to-peer. Le serveur Spreed WebRTC utilise un cryptage de bout en bout pour protéger la confidentialité et la sécurité des utilisateurs.

Spreed WebRTC vous permet de faire les choses suivantes.

  • Chat audio, vidéo et textuel sécurisé
  • Conférence Web
  • Chat vidéo en tête-à-tête

Ce tutoriel va vous montrer comment installer le serveur Spreed WebRTC sur Ubuntu 16.04 VPS ou serveur dédié.

Étape 1 :Installez le serveur Spreed WebRTC sur Ubuntu 16.04 à partir du PPA officiel

Nous pouvons facilement installer le serveur Spreed WebRTC à partir du PPA officiel sur Ubuntu 16.04.

sudo apt-add-repository ppa:strukturag/spreed-webrtc

sudo apt update

sudo apt install spreed-webrtc

Une fois installé, spreed-webtrc sera automatiquement démarré et son serveur Web intégré écoute sur 127.0.0.1:8080 . Vous pouvez vérifier son statut avec :

systemctl status spreed-webrtc

Sortie :

● spreed-webrtc.service - Spreed WebRTC server
   Loaded: loaded (/lib/systemd/system/spreed-webrtc.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2016-12-13 02:28:18 EST; 3min 0s ago
 Main PID: 925 (spreed-webrtc-s)
    Tasks: 5
   Memory: 1.1M
      CPU: 14ms
   CGroup: /system.slice/spreed-webrtc.service
           └─925 /usr/sbin/spreed-webrtc-server -c /etc/spreed/webrtc.conf -l /var/log/spreed/webrtc/server.log

S'il ne fonctionne pas, démarrez-le manuellement avec :

sudo systemctl start spreed-webrtc

Et également activer le démarrage automatique au démarrage :

sudo systemctl enable spreed-webrtc

Le fichier de configuration principal est /etc/spreed/webrtc.conf .

Étape 2 :Configuration du proxy inverse

Spreed WebRTC écoute par défaut sur localhost. Pour accéder à l'interface Web à partir d'un navigateur, nous devons configurer un proxy inverse pour celui-ci à l'aide de Nginx ou d'Apache.

Nginx

Si vous utilisez Nginx, suivez ces instructions.

Tout d'abord, installez Nginx.

sudo apt install nginx

Créez ensuite un fichier de bloc de serveur pour Spreed WebRTC.

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

Mettez le texte suivant dans le fichier. Remplacez spreed.your-domain.com avec votre nom de domaine préféré et n'oubliez pas de définir un enregistrement A.

server {
        listen 80;
        server_name spreed.your-domain.com;
        location / {
                proxy_pass http://127.0.0.1:8080;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                proxy_buffering             on;
                proxy_ignore_client_abort   off;
                proxy_redirect              off;
                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;
        }

        location ~ /.well-known/acme-challenge {
             root /usr/share/nginx/spreed/;
             allow all;
        }
}

Enregistrez et fermez le fichier. Testez ensuite les configurations Nginx et rechargez.

sudo nginx -t

sudo systemctl reload nginx

Vous devriez maintenant pouvoir accéder à Spreed WebRTC via un nom de domaine à partir d'un navigateur Web.

Apache

Si vous utilisez Apache, suivez ces instructions.

Installez le serveur Web Apache.

sudo apt install apache2

Créez ensuite un fichier d'hôte virtuel pour Spreed.

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

Mettez le texte suivant dans le fichier. Remplacez spreed.your-domain.com avec votre nom de domaine préféré et n'oubliez pas de définir un enregistrement A.

<VirtualHost *:80>
    ServerName spreed.your-domain.com
    <Location />
      ProxyPass http://127.0.0.1:8080/
      ProxyPassReverse http://127.0.0.1:8080/
    </Location>

    <Location /ws>
       ProxyPass ws://127.0.0.1:8080/
    </Location>
    ProxyVia On
    ProxyPreserveHost On
</VirtualHost>

Enregistrez et fermez le fichier. Ensuite, nous devons activer proxy_http module.

sudo a2enmod proxy_http

Ensuite, activez cet hôte virtuel.

sudo a2ensite spreed-webrtc.conf

Tester les configurations et recharger Apache

sudo apachectl configtest

sudo systemctl reload apache2

Vous devriez maintenant pouvoir accéder à Spreed WebRTC via un nom de domaine à partir d'un navigateur Web.

Étape 3 :Activer HTTPS

Maintenant, obtenons un certificat TLS gratuit de Let's encrypt. Exécutez les commandes suivantes pour installer le client Let's Encrypt (certbot) à partir du PPA officiel du certbot.

sudo apt install certbot

Si vous utilisez Apache serveur Web, vous devez également installer le plug-in Certbot Apache.

sudo apt install python3-certbot-apache

Exécutez ensuite la commande suivante pour obtenir un certificat TLS/SSL gratuit.

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

Si vous utilisez Nginx serveur Web, vous devez installer le plug-in Certbot Nginx.

sudo apt install python3-certbot-nginx

Utilisez ensuite le plugin Nginx pour obtenir et installer le certificat en exécutant la commande suivante.

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

Vous verrez le texte suivant indiquant que vous avez réussi à obtenir un certificat TLS.

Étape 4 :Installer un serveur TURN/STUN

WebRTC ne fonctionnera pas si les utilisateurs se trouvent derrière différents appareils NAT. Il sera bloqué. Pour traverser le NAT, nous devons configurer un serveur TURN/STUN comme relais entre les navigateurs Web. TOURNER signifie T raversal U chanter R délais autour de N À. Coturn est un serveur TURN et STUN gratuit et open-source pour VoIP et WebRTC.

Coturn est disponible depuis le dépôt Ubuntu, alors installez-le avec la commande suivante :

sudo apt install coturn

Une fois installé, il démarrera automatiquement. Vous pouvez vérifier son statut avec :

systemctl status coturn

Exemple de sortie :

S'il ne fonctionne pas, démarrez-le manuellement avec :

sudo systemctl start coturn

Et également activer le démarrage automatique au démarrage :

sudo systemctl enable coturn

Étape 5 : Configurer Coturn pour Spreed WebRTC

Modifiez le fichier de configuration principal.

sudo nano /etc/turnserver.conf

Par défaut, toutes les lignes de ce fichier sont commentées. Vous trouverez ci-dessous un exemple de configuration que vous pouvez copier et coller dans votre fichier.

  • Remplacez your-domain.com avec le nom de domaine de votre NextCloud ou Spreed WebRTC.
  • Remplacer 12.34.56.78 avec l'adresse IP publique du serveur.
  • Définissez un secret d'authentification long et sécurisé. (Vous pouvez utiliser le openssl rand -base64 20 commande pour générer une chaîne aléatoire.)
# Run as TURN server only, all STUN requests will be ignored.
no-stun

# Specify listening port. Change to 80 or 443 to go around some strict NATs.
listening-port=8443
tls-listening-port=5349

# Specify listening IP, if not set then Coturn listens on all system IPs. 
listening-ip=12.34.56.78
relay-ip=12.34.56.78

# These lines enable support for WebRTC
fingerprint
lt-cred-mech
realm=your-domain.com

# Authentication method
use-auth-secret
static-auth-secret=your-auth-secret

total-quota=100

# Total bytes-per-second bandwidth the TURN server is allowed to allocate
# for the sessions, combined (input and output network streams are treated separately).
bps-capacity=0

# This line provides extra security.
stale-nonce

log-file=/var/log/turnserver/turn.log
no-loopback-peers
no-multicast-peers

Enregistrez et fermez le fichier. Redémarrez ensuite le serveur coturn avec :

sudo systemctl restart coturn

Coturn s'exécute en tant que turnserver utilisateur. Exécutez la commande suivante et vous devriez voir qu'il écoute sur le port 8443.

sudo ss -lnpt | grep turnserver

Modifions maintenant le fichier de configuration Spreed WebRTC.

sudo nano /etc/spreed/server.conf

Ajoutez les deux lignes suivantes dans le [app] section. Remplacez le texte rouge en conséquence.

turnURIs = turn:coturn-server-ip:8443?transport=udp

turnSecret = your-auth-secrect

Enregistrez et fermez le fichier. Redémarrez ensuite le serveur Spreed WebRTC.

sudo systemctl restart spreed-webrtc

Vous devez ouvrir les ports TCP et UDP 8843 dans le pare-feu pour que Coturn fonctionne. Si vous utilisez le pare-feu UFW, exécutez les commandes suivantes.

sudo ufw allow 8443/tcp
sudo ufw allow 8443/udp

Une fois que Coturn est en cours d'exécution et que Spreed WebRTC est redémarré, les utilisateurs qui sont derrière NAT devraient pouvoir utiliser les appels audio/vidéo normalement.

Étape suivante

J'espère que ce tutoriel vous a aidé à installer le serveur Spreed WebRTC sur Ubuntu en utilisant l'image Docker. Vous pouvez également intégrer Spreed.Me à NextCloud.

  • Comment intégrer Spreed Me WebRTC à NextCloud

J'espère que ce tutoriel vous a aidé à installer le serveur Spreed WebRTC sur Ubuntu 16.04. Comme toujours, si vous avez trouvé cet article utile, abonnez-vous à notre newsletter gratuite.


Ubuntu
  1. Comment installer MySQL sur Ubuntu 18.04

  2. Comment installer le serveur Minecraft sur Ubuntu 18.04

  3. Comment installer Nginx sur Ubuntu 20.04

  4. Comment installer MariaDB sur Ubuntu 20.04

  5. Comment installer Zimbra 8.6 sur le serveur Ubuntu 14.04

Comment installer Cockpit sur Ubuntu 20.04

Comment installer le serveur VNC sur Ubuntu 20.04

Comment installer le serveur HTTrack sur Ubuntu 20.04

Comment installer Snappass sur Ubuntu

Comment installer Virtualmin sur Ubuntu 20.04

Comment installer TeamSpeak Server sur Ubuntu 20.04