GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie Spreed WebRTC Server auf Ubuntu 16.04

Spreed ist ein kostenloser Open-Source (AGPL) WebRTC-Server für Audio-/Videoanrufe und Konferenzen, der unter Berücksichtigung des Datenschutzes entwickelt wurde. WebRTC ist eine kostenlose und offene Technologie, die es Browsern ermöglicht, auf Peer-to-Peer-Weise miteinander zu kommunizieren. Der Spreed WebRTC-Server verwendet Ende-zu-Ende-Verschlüsselung, um die Privatsphäre und Sicherheit der Benutzer zu schützen.

Mit Spreed WebRTC können Sie Folgendes tun.

  • Sicherer Audio-, Video- und Text-Chat
  • Webkonferenzen
  • Eins-zu-eins-Video-Chat

Dieses Tutorial zeigt Ihnen, wie Sie den Spreed WebRTC-Server auf Ubuntu 16.04 VPS oder einem dedizierten Server installieren.

Schritt 1:Spreed WebRTC Server auf Ubuntu 16.04 vom offiziellen PPA installieren

Wir können den Spreed WebRTC-Server ganz einfach vom offiziellen PPA auf Ubuntu 16.04 installieren.

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

sudo apt update

sudo apt install spreed-webrtc

Einmal installiert, spreed-webtrc wird automatisch gestartet und sein eingebauter Webserver lauscht auf 127.0.0.1:8080 . Sie können den Status überprüfen mit:

systemctl status spreed-webrtc

Ausgabe:

● 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

Wenn es nicht läuft, starten Sie es manuell mit:

sudo systemctl start spreed-webrtc

Und aktivieren Sie auch den automatischen Start beim Booten:

sudo systemctl enable spreed-webrtc

Die Hauptkonfigurationsdatei ist /etc/spreed/webrtc.conf .

Schritt 2:Reverse-Proxy einrichten

Spreed WebRTC lauscht standardmäßig auf localhost. Um über einen Browser auf die Weboberfläche zuzugreifen, müssen wir mit Nginx oder Apache einen Reverse-Proxy dafür einrichten.

Nginx

Wenn Sie Nginx verwenden, befolgen Sie diese Anweisungen.

Installieren Sie zuerst Nginx.

sudo apt install nginx

Erstellen Sie dann eine Serverblockdatei für Spreed WebRTC.

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

Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie spreed.your-domain.com mit Ihrem bevorzugten Domainnamen und vergessen Sie nicht, einen A-Eintrag festzulegen.

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;
        }
}

Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfigurationen und laden Sie neu.

sudo nginx -t

sudo systemctl reload nginx

Jetzt sollten Sie über einen Domainnamen vom Webbrowser aus auf Spreed WebRTC zugreifen können.

Apache

Wenn Sie Apache verwenden, befolgen Sie diese Anweisungen.

Installieren Sie den Apache-Webserver.

sudo apt install apache2

Erstellen Sie dann eine virtuelle Hostdatei für Spreed.

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

Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie spreed.your-domain.com mit Ihrem bevorzugten Domainnamen und vergessen Sie nicht, einen A-Eintrag festzulegen.

<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>

Speichern und schließen Sie die Datei. Dann müssen wir proxy_http aktivieren Modul.

sudo a2enmod proxy_http

Als nächstes aktivieren Sie diesen virtuellen Host.

sudo a2ensite spreed-webrtc.conf

Konfigurationen testen und Apache neu laden

sudo apachectl configtest

sudo systemctl reload apache2

Jetzt sollten Sie über einen Domainnamen vom Webbrowser aus auf Spreed WebRTC zugreifen können.

Schritt 3:HTTPS aktivieren

Lassen Sie uns nun ein kostenloses TLS-Zertifikat von Let’s encrypt erhalten. Führen Sie die folgenden Befehle aus, um den Let’s Encrypt-Client (certbot) vom offiziellen certbot-PPA zu installieren.

sudo apt install certbot

Wenn Sie Apache verwenden Webserver, dann müssen Sie auch das Certbot Apache Plugin installieren.

sudo apt install python3-certbot-apache

Geben Sie dann den folgenden Befehl aus, um ein kostenloses TLS/SSL-Zertifikat zu erhalten.

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

Wenn Sie Nginx verwenden Webserver, dann müssen Sie das Certbot Nginx-Plugin installieren.

sudo apt install python3-certbot-nginx

Verwenden Sie dann das Nginx-Plugin, um das Zertifikat abzurufen und zu installieren, indem Sie den folgenden Befehl ausführen.

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

Sie sehen den folgenden Text, der anzeigt, dass Sie erfolgreich ein TLS-Zertifikat erhalten haben.

Schritt 4:Installieren Sie einen TURN/STUN-Server

WebRTC funktioniert nicht, wenn sich Benutzer hinter verschiedenen NAT-Geräten befinden. Es wird gesperrt. Um NAT zu durchlaufen, müssen wir einen TURN/STUN-Server als Relais zwischen Webbrowsern einrichten. DREHEN steht für T raversal U Sing R Relais um N BEIM. Coturn ist ein kostenloser Open-Source-TURN- und STUN-Server für VoIP und WebRTC.

Coturn ist im Ubuntu-Repository verfügbar, also installieren Sie es mit dem folgenden Befehl:

sudo apt install coturn

Sobald es installiert ist, wird es automatisch gestartet. Sie können den Status überprüfen mit:

systemctl status coturn

Beispielausgabe:

Wenn es nicht läuft, starten Sie es manuell mit:

sudo systemctl start coturn

Und aktivieren Sie auch den automatischen Start beim Booten:

sudo systemctl enable coturn

Schritt 5:Coturn für Spreed WebRTC konfigurieren

Bearbeiten Sie die Hauptkonfigurationsdatei.

sudo nano /etc/turnserver.conf

Standardmäßig sind alle Zeilen in dieser Datei auskommentiert. Nachfolgend finden Sie eine Beispielkonfiguration, die Sie kopieren und in Ihre Datei einfügen können.

  • Ersetzen Sie your-domain.com mit dem Domainnamen für Ihr NextCloud oder Spreed WebRTC.
  • Ersetzen Sie 12.34.56.78 mit der öffentlichen IP-Adresse des Servers.
  • Legen Sie ein langes und sicheres Authentifizierungsgeheimnis fest. (Sie können den openssl rand -base64 20 verwenden Befehl zum Generieren einer zufälligen Zeichenfolge.)
# 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

Speichern und schließen Sie die Datei. Starten Sie dann den Coturn-Server neu mit:

sudo systemctl restart coturn

Coturn läuft als turnserver Benutzer. Führen Sie den folgenden Befehl aus und Sie sollten sehen, dass er auf Port 8443 lauscht.

sudo ss -lnpt | grep turnserver

Lassen Sie uns nun die Spreed WebRTC-Konfigurationsdatei bearbeiten.

sudo nano /etc/spreed/server.conf

Fügen Sie die folgenden zwei Zeilen in [app] hinzu Sektion. Roten Text entsprechend ersetzen.

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

turnSecret = your-auth-secrect

Speichern und schließen Sie die Datei. Starten Sie anschließend den Spreed WebRTC-Server neu.

sudo systemctl restart spreed-webrtc

Sie sollten den TCP- und UDP-Port 8843 in der Firewall öffnen, damit Coturn funktioniert. Wenn Sie die UFW-Firewall verwenden, führen Sie die folgenden Befehle aus.

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

Sobald Coturn läuft und Spreed WebRTC neu gestartet wird, sollten Benutzer hinter NAT in der Lage sein, Audio-/Videoanrufe normal zu verwenden.

Nächster Schritt

Ich hoffe, dieses Tutorial hat Ihnen geholfen, den Spreed WebRTC-Server unter Ubuntu mit dem Docker-Image zu installieren. Vielleicht möchten Sie Spreed.Me auch mit NextCloud integrieren.

  • So integrieren Sie Spreed Me WebRTC mit NextCloud

Ich hoffe, dieses Tutorial hat Ihnen geholfen, den Spreed WebRTC-Server auf Ubuntu 16.04 zu installieren. Wenn Sie diesen Beitrag nützlich fanden, abonnieren Sie wie immer unseren kostenlosen Newsletter.


Ubuntu
  1. So installieren Sie MySQL unter Ubuntu 18.04

  2. So installieren Sie Minecraft Server auf Ubuntu 18.04

  3. So installieren Sie Nginx unter Ubuntu 20.04

  4. So installieren Sie MariaDB unter Ubuntu 20.04

  5. So installieren Sie Zimbra 8.6 auf einem Ubuntu 14.04-Server

So installieren Sie Cockpit unter Ubuntu 20.04

So installieren Sie den VNC-Server unter Ubuntu 20.04

So installieren Sie den HTTrack-Server unter Ubuntu 20.04

So installieren Sie Snappass auf Ubuntu

So installieren Sie Virtualmin unter Ubuntu 20.04

So installieren Sie TeamSpeak Server auf Ubuntu 20.04