server

Come installare Spreed WebRTC Server su Ubuntu

Come installare Spreed WebRTC Server su Ubuntu

Spreed non è come qualsiasi altra piattaforma di chat video: è molto migliore e potente sotto ogni punto di vista. È un server di chiamata audio/video gratuito e open source progettato pensando alla privacy. Spreed utilizza WebRTC (Web Real-Time Communication), che consente ai browser Web e alle app mobili di comunicare in tempo reale tramite API (Application Programming Interfaces). WebRTC consente la comunicazione peer-to-peer rendendo possibile il funzionamento di audio e video all'interno delle pagine Web.

Inoltre, Spreed WebRTC utilizza la crittografia end-to-end, garantendo così la massima privacy e sicurezza ai dati degli utenti.

Alcune delle attività che puoi eseguire con Spreed includono:

Installazione di Spreed WebRTC Server su Ubuntu

Se ti stai chiedendo come iniziare con Spreed, sarai sulla strada giusta. Questo post ti fornirà una guida passo passo su come installare e iniziare con Spreed WebRTC Server su Ubuntu. tuffiamoci dentro!

Passo 1. Installa Spreed su Ubuntu

Vedremo due modi che puoi usare per installare Spreed.

  1. Installa Spreed dal PPA ufficiale
  2. Installa Spreed tramite Snap

Nota: L'installazione di Spreed tramite PPA funzionerà solo su Ubuntu 16.04. Se sei su Ubuntu 18.04, Ubuntu 20.04, o qualsiasi altra variante di Ubuntu, dovrai usare Snap.

Avvia il Terminale (Ctrl + Alt + T) ed esegui i comandi seguenti sul Terminale.

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

Per iniziare, installa prima Snap con i comandi seguenti.

sudo apt update sudo apt install snapd

Installa Snapd

Una volta installato Snap sul tuo sistema, procedi con l'installazione di Spreed WebRTC con il comando seguente:

sudo snap install spreed-webrtc-snap

Installa Spreed-WebRTC

Dopo aver installato con successo Spreed-WebRTC tramite Snap, avvierà il suo server web integrato tramite localhost sulla porta 8084 (127.0.0:8084). Puoi confermare il suo stato se è in esecuzione con il comando qui sotto.

snap info spreed-webrtc-snap

Snap di stato di Spreed-WebRTC

Se non è in esecuzione, puoi avviare Spreed snap con il comando seguente:

sudo snap start spreed-webrtc-snap

Avvia Snap Rapido

Puoi anche abilitare Spreed per l'avvio automatico all'avvio del sistema con il comando seguente:

sudo snap start --enable spreed-webrtc-snap

Abilita Spreed per l'avvio all'avvio

Puoi confermare se il server web Spreed è in esecuzione cercando l'indirizzo 127.0.01:8084 sul browser web. Dovresti vedere la pagina web di Spreed come mostrato nell'immagine qui sotto.

Interfaccia Web di velocità

Passaggio 2: configurazione del proxy inverso

Come puoi vedere dalle informazioni di cui sopra, Spreed-WebRTC, per impostazione predefinita, è accessibile solo tramite localhost. Pertanto, un altro utente su una rete diversa dalla tua non accederà a Spreed-WebRTC. Per superare questo problema, dovrai configurare un proxy inverso.

Mancia: Un Reverse Proxy è un server proxy che richiede risorse di rete per conto di un client dal server di backend appropriato.

Vedremo come impostare un proxy inverso utilizzando Nginx e Apache. Puoi usarne uno qualsiasi.

Per installare Nginx su Ubuntu, esegui il comando seguente:

sudo apt install nginx

Installa Nginx

Una volta eseguito correttamente il comando, procedi alla creazione di un blocco server per Spreed-WebRTC su Nginx. Esegui il comando seguente per creare spreed-webrtc.conf con l'editor nano.

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

Ora, copia i contenuti di seguito e incollali nell'editor nano. Ricordati di sostituire la velocità del dominio.esempio.com con il tuo nome di dominio preferito. Inoltre, non dimenticare di impostare un record A.

Mancia: Un record DNS-A punta il sottodominio o il nome di dominio a un indirizzo IP.

server  ascolta 80; velocità di nome_server.esempio.com; posizione /  proxy_pass http://127.0.0.1:8080; proxy_http_version 1.1; proxy_set_header Aggiornamento $http_upgrade; proxy_set_header Connessione "aggiorna"; 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 attivo; proxy_ignore_client_abort disattivato; proxy_redirect disattivato; 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 errore timeout invalid_header http_502 http_503 http_504;  posizione ~ /.ben noto/acme-challenge  root /usr/share/nginx/spreed/; permettere tutto;  

File di configurazione di Spreed-WebRTC

Salva e chiudi il file. (Ctrl + O poi Invio per salvare, Ctrl + X per uscire).

Ora puoi testare le tue configurazioni e ricaricare Nginx con i comandi seguenti.

sudo nginx -t sudo systemctl ricarica nginx

Ricarica Nginx

Ora, Spreed-WebRTC dovrebbe essere accessibile tramite un browser Web tramite il dominio assegnato. Guarda l'immagine qui sotto.

Server Spreed-WebRTC Nginx

Se vuoi usare Apache, inizia installandolo prima con il comando seguente:

sudo apt install apache2

Installa Apache

Una volta fatto, proprio come abbiamo fatto con Nginx, crea un file di blocco del server Spreed-WebRTC. Esegui il comando per creare e aprire il file con nano editor.

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

Ora, copia i contenuti di seguito e incollali nell'editor nano. Ricordati di sostituire la velocità del dominio.esempio.com con il tuo nome di dominio preferito. Inoltre, non dimenticare di impostare un record A.

 Velocità del nome del server.esempio.come  ProxyPass http://127.0.0.1:8080/ ProxyPassReverse http://127.0.0.1:8080/   ProxyPass ws://127.0.0.1:8080/  ProxyVia su ProxyPreserveHost su 

Salva e chiudi il file. (Ctrl + O poi Invio per salvare, Ctrl + X per uscire).

Successivamente, dobbiamo abilitare proxy_http

Esegui il comando seguente:

sudo a2enmod proxy_http

Abilita proxy_http

Una volta fatto, abilita l'host virtuale. Esegui il comando seguente:

sudo a2ensite spreed-webrtc.conf

Abilita host virtuale

Puoi procedere a testare le tue configurazioni e ricaricare il tuo server Apache.

sudo apachectl configtest sudo systemctl ricarica apache2

Ora, Spreed-WebRTC dovrebbe essere accessibile tramite un browser Web tramite il dominio assegnato. Guarda l'immagine qui sotto.

Spreed-WebRTC

Passaggio 3: abilita HTTPS

Fino ad ora, il nostro server Spreed-WebRTC è accessibile solo tramite HTTP, il che potrebbe sollevare alcuni problemi di sicurezza. Per abilitare HTTPS, dovremo ottenere un certificato SSL/TLS.

Questo tutorial utilizzerà Let's Encrypt per ottenere un certificato TLS gratuito. Esegui i comandi seguenti per installare il client Let's Encrypt -Certbot- dal PPA ufficiale.

sudo apt install certbot

Installa Certbot

Per gli utenti Apache, ti verrà richiesto di installare il plug-in Apache Certbot con il comando seguente:

sudo apt install python3-certbot-apache

Plugin Apache Certbot

Per gli utenti Nginx, installa il plugin Certbot Nginx con il comando seguente:

sudo apt install python3-certbot-nginx

Plugin Nginx Certbot

Per ottenere il certificato TLS per il server Apache, eseguire il comando seguente:

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

Per ottenere un certificato TLS per il server Nginx, eseguire il comando seguente:

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

Nota: Con i due comandi sopra, ricordati di sostituire [email protected] con la tua email ufficiale per la registrazione e velocità.esempio.come con il nome di dominio che hai utilizzato per il tuo Spreed-WebRTC.

Dovresti ricevere il messaggio qui sotto se hai ottenuto con successo il certificato.

spreed-webtrc-certbot-https

Passaggio 4: installare un server TURN/STUN

Il server Spreed-WebRTC è ben configurato e accessibile online a questo punto. Tuttavia, c'è un problema che dobbiamo risolvere. Se hai utenti dietro una rete NAT, verranno bloccati e WebRTC non funzionerà. Per ovviare a questo, configureremo un server TURN/STUN, che fungerà da relè tra i browser web. TURN sta per Traversal Using Relays around NAT e STUN sta per Session Traversal Utilities.

Utilizzeremo il server Coturn, che facilita le chiamate video/audio e le conferenze implementando i protocolli TURN e STUN.

Per iniziare, installa Coturn con il comando seguente:

sudo apt install coturn

Installa Coturn

Una volta che il comando viene eseguito correttamente, il servizio coturn si avvierà automaticamente. Puoi controllare lo stato con il comando seguente:

stato systemctl coturn

Installa Coturn

Se coturn non è in esecuzione, avvialo con il comando seguente:

sudo systemctl start coturn

Inoltre, per comodità, puoi impostarlo per l'avvio automatico all'avvio con il comando seguente:

sudo systemctl abilita coturn

Avvia Coturn all'avvio

Passaggio 5: configurare Coturn

Con Coturn installato e funzionante, possiamo configurarlo per Spreed-WebRTC.

Esegui il comando seguente per modificare il turnserver file di configurazione.

sudo nano /etc/turnserver.conf

Noterai che tutte le righe sono commentate dall'output che ottieni. Come mostrato nell'immagine qui sotto:

Trasforma il file di configurazione del server

Per rendere il tuo lavoro molto più semplice, copia i contenuti qui sotto e incollali alla fine della tua configurazione turnserver file. Tuttavia, ricorda di apportare le modifiche di seguito:

# Specifica la porta di ascolto. Passa a 80 o 443 per aggirare alcuni NAT rigidi. listen-port=8443 tls-listening-port=5349 # Specifica l'IP di ascolto, se non è impostato Coturn ascolta su tutti gli IP del sistema. ip-ascolto=10.16.1.1 relè-ip=10.16.1.1 # Queste righe abilitano il supporto per l'impronta digitale WebRTC lt-cred-mech realm=example.com # Metodo di autenticazione use-auth-secret static-auth-secret=sample-auth-secret total-quota=100 # Larghezza di banda totale in byte al secondo che il server TURN può allocare # per le sessioni, combinate (input e output i flussi di rete sono trattati separatamente). bps-capacity=0 # Questa riga fornisce ulteriore sicurezza. stale-nonce log-file=/var/log/turnserver/turn.log no-loopback-peers no-multicast-peers

Salva il file di configurazione e riavvia coturn con il comando seguente:

sudo systemctl riavvia coturn

Ora, dovremo configurare Spreed-WEbRTC per Coturn. Esegui il comando seguente per aprire il file di configurazione del server.

Se hai installato Spreed tramite PPA, usa il comando seguente:

sudo nano /etc/spreed/server.conf

Se hai installato Spreed tramite Snap, usa il comando seguente:

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

Individua la sezione dell'app e aggiungi le righe di seguito. Ricorda di sostituire il testo evidenziato di conseguenza.

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

File del server di velocità

Salva e chiudi il file. Ancora una volta, riavvia il server Spreed-WebRTC con il comando seguente:

Se hai installato Spreed tramite PPA, usa il comando seguente:

sudo systemctl riavvia spreed-webrtc

Se hai installato Spreed tramite Snap, usa il comando seguente:

sudo snap riavvia spreed-webrtc-snap

L'ultimo passaggio che devi fare è abilitare la porta 8843 sul tuo firewall. Questo perché Coturn ascolta sulla porta 8843. Esegui i comandi per il firewall UFW.

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

Consenti porta 8843

Ora, con entrambe le configurazioni Coturn e Spreed-WebRTC, anche gli utenti dietro una rete NAT dovrebbero essere in grado di effettuare chiamate audio/video e persino tenere conferenze online.

Spero che questo post ti abbia fornito una guida chiara sull'installazione di Spreed WebRTC Server su Ubuntu. Alcune configurazioni come l'impostazione di un record DNS A possono essere piuttosto impegnative per i principianti, ma credo che ci siano articoli guida sul sito in cui hai acquistato il tuo dominio. In caso di problemi, non esitare a lasciare un commento qui sotto.

Le migliori app di mappatura del gamepad per Linux
Se ti piace giocare su Linux con un gamepad invece di un tipico sistema di input di tastiera e mouse, ci sono alcune app utili per te. Molti giochi pe...
Strumenti utili per i giocatori Linux
Se ti piace giocare su Linux, è probabile che tu abbia utilizzato app e utilità come Wine, Lutris e OBS Studio per migliorare l'esperienza di gioco. O...
Giochi rimasterizzati in HD per Linux che non hanno mai avuto una versione Linux prima
Molti sviluppatori ed editori di giochi stanno realizzando remaster HD di vecchi giochi per prolungare la vita del franchise, per favore i fan richied...