GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Spreed WebRTC Server na Ubuntu 16.04

Spreed je bezplatný webový server pro audio/video hovory a konference s otevřeným zdrojovým kódem (AGPL) navržený s ohledem na soukromí. WebRTC je bezplatná a otevřená technologie, která umožňuje prohlížečům komunikovat mezi sebou způsobem peer-to-peer. Server Spreed WebRTC používá end-to-end šifrování k ochraně soukromí a bezpečnosti uživatelů.

Spreed WebRTC vám umožňuje provádět následující věci.

  • Zabezpečený audio, video a textový chat
  • Webové konference
  • Osobní videochat

Tento tutoriál vám ukáže, jak nainstalovat server Spreed WebRTC na Ubuntu 16.04 VPS nebo dedikovaný server.

Krok 1:Nainstalujte Spreed WebRTC Server na Ubuntu 16.04 z oficiálního PPA

Můžeme snadno nainstalovat server Spreed WebRTC z oficiálního PPA na Ubuntu 16.04.

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

sudo apt update

sudo apt install spreed-webrtc

Po instalaci spreed-webtrc se automaticky spustí a jeho vestavěný webový server naslouchá na 127.0.0.1:8080 . Jeho stav můžete zkontrolovat pomocí:

systemctl status spreed-webrtc

Výstup:

● 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

Pokud neběží, spusťte jej ručně pomocí:

sudo systemctl start spreed-webrtc

A také povolit automatické spuštění při spouštění:

sudo systemctl enable spreed-webrtc

Hlavní konfigurační soubor je /etc/spreed/webrtc.conf .

Krok 2:Nastavení reverzního proxy

Spreed WebRTC ve výchozím nastavení naslouchá na localhost. Pro přístup k webovému rozhraní z prohlížeče musíme pro něj nastavit reverzní proxy pomocí Nginx nebo Apache.

Nginx

Pokud používáte Nginx, postupujte podle těchto pokynů.

Nejprve nainstalujte Nginx.

sudo apt install nginx

Poté vytvořte soubor bloku serveru pro Spreed WebRTC.

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

Do souboru vložte následující text. Nahraďte spreed.your-domain.com s vaším preferovaným názvem domény a nezapomeňte nastavit záznam 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;
        }
}

Uložte a zavřete soubor. Poté otestujte konfigurace Nginx a znovu načtěte.

sudo nginx -t

sudo systemctl reload nginx

Nyní byste měli mít přístup ke Spreed WebRTC prostřednictvím názvu domény z webového prohlížeče.

Apache

Pokud používáte Apache, postupujte podle těchto pokynů.

Nainstalujte webový server Apache.

sudo apt install apache2

Poté vytvořte soubor virtuálního hostitele pro Spreed.

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

Do souboru vložte následující text. Nahraďte spreed.your-domain.com s vaším preferovaným názvem domény a nezapomeňte nastavit záznam 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>

Uložte a zavřete soubor. Potom musíme povolit proxy_http modul.

sudo a2enmod proxy_http

Dále povolte tohoto virtuálního hostitele.

sudo a2ensite spreed-webrtc.conf

Otestujte konfigurace a znovu načtěte Apache

sudo apachectl configtest

sudo systemctl reload apache2

Nyní byste měli mít přístup ke Spreed WebRTC prostřednictvím názvu domény z webového prohlížeče.

Krok 3:Povolení HTTPS

Nyní získáme bezplatný certifikát TLS od společnosti Let’s encrypt. Spuštěním následujících příkazů nainstalujte klienta Let’s Encrypt (certbot) z oficiálního certbota PPA.

sudo apt install certbot

Pokud používáte Apache webový server, musíte také nainstalovat plugin Certbot Apache.

sudo apt install python3-certbot-apache

Poté zadejte následující příkaz, abyste získali bezplatný certifikát TLS/SSL.

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

Pokud používáte Nginx webový server, musíte nainstalovat plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Poté pomocí pluginu Nginx získejte a nainstalujte certifikát spuštěním následujícího příkazu.

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

Zobrazí se následující text označující, že jste úspěšně získali certifikát TLS.

Krok 4:Instalace serveru TURN/STUN

WebRTC nebude fungovat, pokud jsou uživatelé za různými zařízeními NAT. Bude zablokováno. Abychom mohli projít NAT, musíme nastavit server TURN/STUN jako přenos mezi webovými prohlížeči. OTOČIT znamená T raversal U zpívat R zpoždění kolem N V. Coturn je bezplatný a open-source server TURN a STUN pro VoIP a WebRTC.

Coturn je k dispozici z úložiště Ubuntu, takže jej nainstalujte pomocí následujícího příkazu:

sudo apt install coturn

Jakmile je nainstalován, automaticky se spustí. Jeho stav můžete zkontrolovat pomocí:

systemctl status coturn

Ukázkový výstup:

Pokud neběží, spusťte jej ručně pomocí:

sudo systemctl start coturn

A také povolit automatické spouštění při spouštění:

sudo systemctl enable coturn

Krok 5:Nakonfigurujte Coturn pro Spreed WebRTC

Upravte hlavní konfigurační soubor.

sudo nano /etc/turnserver.conf

Ve výchozím nastavení jsou všechny řádky v tomto souboru zakomentovány. Níže je uveden příklad konfigurace, kterou můžete zkopírovat a vložit do svého souboru.

  • Nahraďte your-domain.com s názvem domény vašeho NextCloud nebo Spreed WebRTC.
  • Nahraďte 12.34.56.78 s veřejnou IP adresou serveru.
  • Nastavte dlouhé a bezpečné ověřovací tajemství. (Můžete použít openssl rand -base64 20 příkaz ke generování náhodného řetězce.)
# 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

Uložte a zavřete soubor. Poté restartujte server coturn pomocí:

sudo systemctl restart coturn

Coturn běží jako turnserver uživatel. Spusťte následující příkaz a měli byste vidět, že naslouchá na portu 8443.

sudo ss -lnpt | grep turnserver

Nyní upravme konfigurační soubor Spreed WebRTC.

sudo nano /etc/spreed/server.conf

Přidejte následující dva řádky do [app] sekce. Nahraďte odpovídajícím způsobem červený text.

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

turnSecret = your-auth-secrect

Uložte a zavřete soubor. Poté restartujte server Spreed WebRTC.

sudo systemctl restart spreed-webrtc

Aby Coturn fungoval, měli byste otevřít TCP a UDP port 8843 ve bráně firewall. Pokud používáte firewall UFW, spusťte následující příkazy.

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

Jakmile Coturn běží a Spreed WebRTC je restartován, uživatelé, kteří jsou za NAT, by měli mít možnost normálně používat audio/video hovory.

Další krok

Doufám, že vám tento tutoriál pomohl nainstalovat server Spreed WebRTC na Ubuntu pomocí obrazu Docker. Můžete také chtít integrovat Spreed.Me s NextCloud.

  • Jak integrovat Spreed Me WebRTC s NextCloud

Doufám, že vám tento návod pomohl nainstalovat server Spreed WebRTC na Ubuntu 16.04. Jako vždy, pokud pro vás byl tento příspěvek užitečný, přihlaste se k odběru našeho bezplatného zpravodaje.


Ubuntu
  1. Jak nainstalovat MySQL na Ubuntu 18.04

  2. Jak nainstalovat Minecraft Server na Ubuntu 18.04

  3. Jak nainstalovat Zimbru 8.6 na server Ubuntu 14.04

  1. Jak nainstalovat Nginx na Ubuntu 20.04

  2. Jak nainstalovat MariaDB na Ubuntu 20.04

  3. Jak nainstalovat VNC Server na Ubuntu 14.04

  1. Jak nainstalovat OpenSIPS Server na Ubuntu 15.04

  2. Jak nainstalovat Consul Server na Ubuntu 16.04

  3. Jak nainstalovat Zabbix na Ubuntu 18.04