GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare il server Spreed WebRTC su Ubuntu 16.04

Spreed è un server per chiamate e conferenze audio/video WebRTC open source gratuito (AGPL) progettato pensando alla privacy. WebRTC è una tecnologia gratuita e aperta che consente ai browser di comunicare tra loro in modalità peer-to-peer. Il server Spreed WebRTC utilizza la crittografia end-to-end per proteggere la privacy e la sicurezza degli utenti.

Spreed WebRTC ti consente di fare le seguenti cose.

  • Chat audio, video e di testo protetti
  • Conferenze Web
  • Chat video one to one

Questo tutorial ti mostrerà come installare il server Spreed WebRTC su Ubuntu 16.04 VPS o server dedicato.

Passaggio 1:installa il server Spreed WebRTC su Ubuntu 16.04 dal PPA ufficiale

Possiamo facilmente installare il server Spreed WebRTC dal PPA ufficiale su Ubuntu 16.04.

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

sudo apt update

sudo apt install spreed-webrtc

Una volta installato, spreed-webtrc verrà avviato automaticamente e il suo server web integrato sarà in ascolto su 127.0.0.1:8080 . Puoi verificarne lo stato con:

systemctl status spreed-webrtc

Uscita:

● 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

Se non è in esecuzione, avvialo manualmente con:

sudo systemctl start spreed-webrtc

E abilita anche l'avvio automatico all'avvio:

sudo systemctl enable spreed-webrtc

Il file di configurazione principale è /etc/spreed/webrtc.conf .

Fase 2:configurazione del proxy inverso

Spreed WebRTC per impostazione predefinita è in ascolto su localhost. Per accedere all'interfaccia Web da un browser, è necessario configurare un proxy inverso utilizzando Nginx o Apache.

Nginx

Se usi Nginx, segui queste istruzioni.

Innanzitutto, installa Nginx.

sudo apt install nginx

Quindi crea un file di blocco del server per Spreed WebRTC.

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

Inserisci il seguente testo nel file. Sostituisci spreed.your-domain.com con il tuo nome di dominio preferito e non dimenticare di impostare un record 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;
        }
}

Salva e chiudi il file. Quindi testa le configurazioni di Nginx e ricarica.

sudo nginx -t

sudo systemctl reload nginx

Ora dovresti essere in grado di accedere a Spreed WebRTC tramite un nome di dominio dal browser web.

Apache

Se usi Apache, segui queste istruzioni.

Installa il server web Apache.

sudo apt install apache2

Quindi crea un file host virtuale per Spreed.

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

Inserisci il seguente testo nel file. Sostituisci spreed.your-domain.com con il tuo nome di dominio preferito e non dimenticare di impostare un record 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>

Salva e chiudi il file. Quindi dobbiamo abilitare proxy_http modulo.

sudo a2enmod proxy_http

Quindi, abilita questo host virtuale.

sudo a2ensite spreed-webrtc.conf

Testare le configurazioni e ricaricare Apache

sudo apachectl configtest

sudo systemctl reload apache2

Ora dovresti essere in grado di accedere a Spreed WebRTC tramite un nome di dominio dal browser web.

Fase 3:abilitazione di HTTPS

Ora otteniamo un certificato TLS gratuito da Let's encrypt. Esegui i seguenti comandi per installare il client Let's Encrypt (certbot) dal PPA ufficiale di certbot.

sudo apt install certbot

Se usi Apache server web, quindi è necessario installare anche il plugin Certbot Apache.

sudo apt install python3-certbot-apache

Quindi emetti il ​​seguente comando per ottenere un certificato TLS/SSL gratuito.

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

Se usi Nginx server web, quindi è necessario installare il plug-in Certbot Nginx.

sudo apt install python3-certbot-nginx

Quindi usa il plug-in Nginx per ottenere e installare il certificato eseguendo il comando seguente.

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

Vedrai il seguente testo che indica che hai ottenuto con successo un certificato TLS.

Fase 4:installa un server TURN/STUN

WebRTC non funzionerà se gli utenti si trovano dietro dispositivi NAT diversi. Sarà bloccato. Per attraversare NAT, è necessario configurare un server TURN/STUN come inoltro tra i browser Web. TURNO sta per T raversal U canta R gira intorno a N A. Coturn è un server TURN e STUN gratuito e open source per VoIP e WebRTC.

Coturn è disponibile dal repository di Ubuntu, quindi installalo con il seguente comando:

sudo apt install coturn

Una volta installato, verrà avviato automaticamente. Puoi verificarne lo stato con:

systemctl status coturn

Esempio di output:

Se non è in esecuzione, avvialo manualmente con:

sudo systemctl start coturn

E abilita anche l'avvio automatico all'avvio:

sudo systemctl enable coturn

Fase 5:Configura Coturn per Spreed WebRTC

Modifica il file di configurazione principale.

sudo nano /etc/turnserver.conf

Per impostazione predefinita, tutte le righe in questo file sono commentate. Di seguito è riportato un esempio di configurazione che puoi copiare e incollare nel tuo file.

  • Sostituisci your-domain.com con il nome di dominio del tuo NextCloud o Spreed WebRTC.
  • Sostituisci 12.34.56.78 con l'indirizzo IP pubblico del server.
  • Imposta un segreto di autenticazione lungo e sicuro. (Puoi usare il openssl rand -base64 20 comando per generare una stringa casuale.)
# 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

Salva e chiudi il file. Quindi riavvia il server coturn con:

sudo systemctl restart coturn

Coturn funziona come turnserver utente. Esegui il comando seguente e dovresti vedere che è in ascolto sulla porta 8443.

sudo ss -lnpt | grep turnserver

Ora modifichiamo il file di configurazione di Spreed WebRTC.

sudo nano /etc/spreed/server.conf

Aggiungi le seguenti due righe in [app] sezione. Sostituisci il testo rosso di conseguenza.

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

turnSecret = your-auth-secrect

Salva e chiudi il file. Quindi riavvia il server Spreed WebRTC.

sudo systemctl restart spreed-webrtc

Dovresti aprire la porta TCP e UDP 8843 nel firewall affinché Coturn funzioni. Se utilizzi il firewall UFW, esegui i seguenti comandi.

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

Una volta che Coturn è in esecuzione e Spreed WebRTC è stato riavviato, gli utenti che si trovano dietro NAT dovrebbero essere in grado di utilizzare normalmente le chiamate audio/video.

Passaggio successivo

Spero che questo tutorial ti abbia aiutato a installare il server Spreed WebRTC su Ubuntu usando l'immagine Docker. Potresti anche voler integrare Spreed.Me con NextCloud.

  • Come integrare Spreed Me WebRTC con NextCloud

Spero che questo tutorial ti abbia aiutato a installare il server Spreed WebRTC su Ubuntu 16.04. Come sempre, se hai trovato utile questo post, iscriviti alla nostra newsletter gratuita.


Ubuntu
  1. Come installare MySQL su Ubuntu 18.04

  2. Come installare il server Minecraft su Ubuntu 18.04

  3. Come installare Nginx su Ubuntu 20.04

  4. Come installare MariaDB su Ubuntu 20.04

  5. Come installare Zimbra 8.6 su Ubuntu 14.04 Server

Come installare Cockpit su Ubuntu 20.04

Come installare il server VNC su Ubuntu 20.04

Come installare il server HTTrack su Ubuntu 20.04

Come installare Snappass su Ubuntu

Come installare Virtualmin su Ubuntu 20.04

Come installare TeamSpeak Server su Ubuntu 20.04