Spreed er ikke som enhver anden videochatplatform - den er meget bedre og kraftfuld på alle måder. Det er en gratis lyd- / videoopkaldsserver med open source designet med tanke på privatlivets fred. Spreed bruger WebRTC (Web Real-Time Communication), som gør det muligt for webbrowsere og mobilapps at kommunikere i realtid via API'er (Application Programming Interfaces). WebRTC muliggør peer-to-peer-kommunikation, der gør det muligt for lyd og video at arbejde inde på websider.
Derudover bruger Spreed WebRTC end-to-end-kryptering, hvilket sikrer ultimativt privatliv og sikkerhed for brugernes data.
Nogle af de opgaver, du kan udføre med Spreed, inkluderer:
- Sikker lyd / videoopkald og tekstchat
- Videokonference
- En til en videochat
Installation af Spreed WebRTC Server på Ubuntu
Hvis du undrer dig over, hvordan du kommer i gang med Spreed, er du på rette vej. Dette indlæg giver dig en trinvis vejledning til installation og start af Spreed WebRTC Server på Ubuntu. Lad os dykke ind!
Trin 1. Installer Spreed på Ubuntu
Vi vil se på to måder, du kan bruge til at installere Spreed.
- Installer Spreed fra den officielle PPA
- Installer Spreed via Snap
Bemærk: Installation af Spreed via PPA fungerer kun på Ubuntu 16.04. Hvis du er på Ubuntu 18.04, Ubuntu 20.04 eller enhver anden Ubuntu-variant, skal du bruge Snap.
-
Installer Spreed fra den officielle PPA
Start terminalen (Ctrl + Alt + T), og udfør nedenstående kommandoer på terminalen.
sudo apt-add-repository ppa: strukturag / spreed-webrtc sudo apt opdatering sudo apt installer spreed-webrtc
-
Installer Spreed via Snap
For at komme i gang skal du først installere Snap med nedenstående kommandoer.
sudo apt opdatering sudo apt installer snapd
Når du har installeret Snap på dit system, skal du fortsætte med at installere Spreed WebRTC med nedenstående kommando:
sudo snap installere spreed-webrtc-snap
Når du først har installeret Spreed-WebRTC via Snap, starter den sin indbyggede webserver via localhost på port 8084 (127.0.0: 8084). Du kan bekræfte dens status for, om den kører med kommandoen nedenfor.
snap info spreed-webrtc-snap
Hvis den ikke kører, kan du starte Spreed snap med kommandoen nedenfor:
sudo snap start spreed-webrtc-snap
Du kan også aktivere Spreed til at starte automatisk, når systemet starter med nedenstående kommando:
sudo snap start - aktivér spreed-webrtc-snap
Du kan bekræfte, om Spreed-webserveren kører ved at søge i adressen 127.0.01: 8084 i webbrowseren. Du bør se Spreed-websiden som vist på billedet nedenfor.
Trin 2: Opsætning af omvendt proxy
Som du kan se fra ovenstående oplysninger, er Spreed-WebRTC som standard kun tilgængelig via localhost. Derfor vil en anden bruger på et andet netværk end dig ikke få adgang til Spreed-WebRTC. For at løse dette problem skal du oprette en omvendt proxy.
Tip: En omvendt proxy er en proxyserver, der anmoder om netværksressourcer på vegne af en klient fra den relevante backend-server.
Vi vil se på, hvordan man opretter en omvendt proxy ved hjælp af Nginx og Apache. Du kan bruge en hvilken som helst af dem.
-
Nginx
For at installere Nginx på Ubuntu skal du udføre kommandoen nedenfor:
sudo apt installere nginx
Når kommandoen er udført med succes, skal du fortsætte med at oprette en serverblok til Spreed-WebRTC på Nginx. Udfør kommandoen nedenfor for at oprette spreed-webrtc.conf-fil med nano-editoren.
sudo nano / etc / nginx / conf.d / sprede-webrtc.konf
Kopier nu indholdet nedenfor, og indsæt det i nano-editoren. Husk at udskifte domænet.eksempel.com med dit foretrukne domænenavn. Glem ikke at oprette en A-post.
Tip: En DNS-A-post peger underdomæne eller domænenavn til en IP-adresse.
server lyt 80; server_navn spreder.eksempel.com; placering / proxy_pass http: // 127.0.0.1: 8080; proxy_http_version 1.1; proxy_set_header Opgrader $ http_upgrade; proxy_set_header Forbindelse "opgradering"; proxy_set_header X-Forwarded-Proto $-ordning; proxy_set_header Host $ http_host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Videresendt-For $ proxy_add_x_forwarded_for; proxy_buffering på; proxy_ignore_client_abort off; proxy_ omdirigere fra; 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 fejl timeout ugyldig_header http_502 http_503 http_504; placering ~ /.velkendt / acme-udfordring root / usr / share / nginx / spreed /; tillad alle;
Gem og luk filen. (Ctrl + O derefter Enter for at gemme, Ctrl + X for at afslutte).
Du kan nu teste dine konfigurationer og genindlæse Nginx med nedenstående kommandoer.
sudo nginx -t sudo systemctl genindlæs nginx
Nu skal Spreed-WebRTC være tilgængelig via en webbrowser via det tildelte domæne. Se billedet nedenfor.
-
Apache
Hvis du vil bruge Apache, skal du først starte med at installere det med kommandoen nedenfor:
sudo apt installer apache2
Når det er gjort, ligesom vi gjorde med Nginx, skal du oprette en Spreed-WebRTC-serverblokfil. Udfør kommandoen for at oprette og åbne filen med nano editor.
sudo nano / etc / apache2 / sites-available / spreed-webrtc.konf
Kopier nu indholdet nedenfor, og indsæt det i nano-editoren. Husk at udskifte domænet.eksempel.com med dit foretrukne domænenavn. Glem ikke at oprette en A-post.
Servernavn spreder.eksempel.com ProxyPass http: // 127.0.0.1: 8080 / ProxyPassReverse http: // 127.0.0.1: 8080 / ProxyPass ws: // 127.0.0.1: 8080 / ProxyVia On ProxyPreserveHost On
Gem og luk filen. (Ctrl + O derefter Enter for at gemme, Ctrl + X for at afslutte).
Derefter skal vi aktivere proxy_http
Udfør kommandoen nedenfor:
sudo a2enmod proxy_http
Når det er gjort, skal du aktivere den virtuelle vært. Udfør kommandoen nedenfor:
sudo a2ensite spreed-webrtc.konf
Du kan fortsætte med at teste dine konfigurationer og genindlæse din Apache-server.
sudo apachectl configtest sudo systemctl genindlæse apache2
Nu skal Spreed-WebRTC være tilgængelig via en webbrowser via det tildelte domæne. Se billedet nedenfor.
Trin 3: Aktivér HTTPS
Indtil nu er vores Spreed-WebRTC-server kun tilgængelig via HTTP, hvilket kan give anledning til sikkerhedsproblemer. For at aktivere HTTPS skal vi få et SSL / TLS-certifikat.
Denne tutorial bruger Let's Encrypt til at få et gratis TLS-certifikat. Udfør nedenstående kommandoer for at installere Let's Encrypt-klienten -Certbot- fra den officielle PPA.
sudo apt installer certbot
For Apache-brugere skal du installere Certbot Apache-pluginet med kommandoen nedenfor:
sudo apt installer python3-certbot-apache
For Nginx-brugere skal du installere Certbot Nginx-plugin med nedenstående kommando:
sudo apt installer python3-certbot-nginx
For at få TLS-certifikatet til Apache-serveren skal du udføre kommandoen nedenfor:
sudo certbot --apache - accept-tos - omdirigering --hsts --staple-ocsp - mail dig @ eksempel.com -d spreed.eksempel.com
For at få et TLS-certifikat til Nginx-serveren skal du udføre kommandoen nedenfor:
sudo certbot --nginx --agree-tos - omdirigere --hsts --staple-ocsp - mail dig @ eksempel.com -d spreed.eksempel.com
Bemærk: Husk at udskifte med de to kommandoer ovenfor dig @ eksempel.com
med din officielle e-mail til registrering og sprøjte.eksempel.com
med domænenavnet, du brugte til din Spreed-WebRTC.
Du skal få beskeden nedenfor, hvis du med succes har opnået certifikatet.
Trin 4: Installer en TURN / STUN-server
Spreed-WebRTC-serveren er godt opsat og tilgængelig online til dette punkt. Der er dog et problem, vi skal løse. Hvis du har brugere bag et NAT-netværk, blokeres de, og WebRTC fungerer ikke. For at overvinde dette opretter vi en TURN / STUN-server, der fungerer som et relæ mellem webbrowsere. TURN står for Traversal Brug af relæer omkring NAT, og STUN står for Session Traversal Utilities.
Vi bruger Coturn-serveren, som letter video- / lydopkald og konferencer ved at implementere TURN- og STUN-protokoller.
For at komme i gang skal du installere Coturn med nedenstående kommando:
sudo apt installere coturn
Når kommandoen er udført med succes, starter coturn-tjenesten automatisk. Du kan kontrollere status med kommandoen nedenfor:
systemctl status coturn
Hvis coturn ikke kører, skal du starte det med kommandoen nedenfor:
sudo systemctl start coturn
For nemheds skyld kan du også indstille det til at starte automatisk ved opstart med nedenstående kommando:
sudo systemctl aktiver coturn
Trin 5: Konfigurer Coturn
Når Coturn er installeret og kører, kan vi konfigurere det til Spreed-WebRTC.
Udfør kommandoen nedenfor for at redigere vender server
konfigurationsfil.
sudo nano / etc / turnserver.konf
Du vil bemærke, at alle linjer er kommenteret fra det output, du får. Som vist på billedet nedenfor:
For at gøre dit arbejde meget lettere skal du kopiere indholdet nedenfor og indsætte det i slutningen af din konfiguration vender server
fil. Husk dog at foretage nedenstående ændringer:
- Udskift eksempel.com med det domænenavn, du tildelte Spreed-WebRTC.
- Udskift IP-adressen
10.16.1.1
med den offentlige IP-adresse på din server. - Erstatte
prøve-godkendelseshemmelighed
med din egen. Gør det langt og sikkert - helst en tilfældig genereret streng.
# Angiv lytteport. Skift til 80 eller 443 for at gå rundt om nogle strenge NAT'er. lytteport = 8443 tls-lytteport = 5349 # Angiv lytte-IP, hvis ikke indstillet, lytter Coturn på alle system-IP'er. lytte-ip = 10.16.1.1 relæ-ip = 10.16.1.1 # Disse linjer muliggør understøttelse af WebRTC-fingeraftryk lt-cred-mech realm = eksempel.com # Godkendelsesmetode brug-auth-secret static-auth-secret = sample-auth-secret total-quota = 100 # Total bytes per sekund båndbredde, TURN-serveren har lov til at allokere # til sessionerne, kombineret (input og output netværksstrømme behandles separat). bps-capacity = 0 # Denne linje giver ekstra sikkerhed. forældet-ikke-log-fil = / var / log / turnserver / turn.log ingen-loopback-peers no-multicast-peers
Gem konfigurationsfilen, og genstart coturn med nedenstående kommando:
sudo systemctl genstart coturn
Nu skal vi konfigurere Spreed-WEbRTC til Coturn. Udfør kommandoen nedenfor for at åbne serverkonfigurationsfilen.
Hvis du installerede Spreed via PPA, skal du bruge kommandoen nedenfor:
sudo nano / etc / spreed / server.konf
Hvis du installerede Spreed via Snap, skal du bruge kommandoen nedenfor:
sudo nano / var / snap / spreed-webrtc-snap / common / server.konf
Find appafsnittet, og tilføj linjerne nedenfor. Husk at erstatte den fremhævede tekst i overensstemmelse hermed.
turnURIs = turn: coturn-server-ip: 8443?transport = udp turnSecret = eksempel-auth-hemmelighed
Gem og luk filen. Genstart igen Spreed-WebRTC-serveren med nedenstående kommando:
Hvis du installerede Spreed via PPA, skal du bruge kommandoen nedenfor:
sudo systemctl genstart spreed-webrtc
Hvis du installerede Spreed via Snap, skal du bruge kommandoen nedenfor:
sudo snap genstart spreed-webrtc-snap
Det sidste trin, du skal gøre, er at aktivere port 8843 på din firewall. Det er fordi Coturn lytter til port 8843. Udfør kommandoerne til UFW-firewall.
sudo ufw tillader 8443 / tcp sudo ufw tillader 8443 / udp
Nu, med både Coturn og Spreed-WebRTC-opsætning, bør selv brugere bag et NAT-netværk være i stand til at foretage lyd- / videoopkald og endda afholde online-konferencer.
Jeg håber, dette indlæg gav dig en klar guide til installation af Spreed WebRTC Server på Ubuntu. Nogle konfigurationer som at indstille en DNS A-post kan være ret udfordrende for begyndere, men jeg tror, der er vejledningsartikler på det websted, du købte dit domæne. Hvis du støder på et problem, er du velkommen til at efterlade en kommentar nedenfor.