Server

Sådan installeres Spreed WebRTC Server på Ubuntu

Sådan installeres Spreed WebRTC Server på Ubuntu

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:

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.

  1. Installer Spreed fra den officielle PPA
  2. 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.

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

For at komme i gang skal du først installere Snap med nedenstående kommandoer.

sudo apt opdatering sudo apt installer snapd

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

Installer Spreed-WebRTC

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

Spreed-WebRTC Status Snap

Hvis den ikke kører, kan du starte Spreed snap med kommandoen nedenfor:

sudo snap start spreed-webrtc-snap

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

Aktivér Spreed for at starte ved opstart

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.

Spreed-webgrænseflade

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.

For at installere Nginx på Ubuntu skal du udføre kommandoen nedenfor:

sudo apt installere nginx

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

Spreed-WebRTC konfigurationsfil

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

Genindlæs Nginx

Nu skal Spreed-WebRTC være tilgængelig via en webbrowser via det tildelte domæne. Se billedet nedenfor.

Spreed-WebRTC Nginx-server

Hvis du vil bruge Apache, skal du først starte med at installere det med kommandoen nedenfor:

sudo apt installer apache2

Installer Apache

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

Aktivér proxy_http

Når det er gjort, skal du aktivere den virtuelle vært. Udfør kommandoen nedenfor:

sudo a2ensite spreed-webrtc.konf

Aktivér virtuel vært

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.

Spreed-WebRTC

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

Installer Certbot

For Apache-brugere skal du installere Certbot Apache-pluginet med kommandoen nedenfor:

sudo apt installer python3-certbot-apache

Certbot Apache-plugin

For Nginx-brugere skal du installere Certbot Nginx-plugin med nedenstående kommando:

sudo apt installer python3-certbot-nginx

Nginx Certbot-plugin

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.

spreed-webtrc-certbot-https

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

Installer Coturn

Når kommandoen er udført med succes, starter coturn-tjenesten automatisk. Du kan kontrollere status med kommandoen nedenfor:

systemctl status coturn

Installer 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

Start Coturn ved opstart

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:

Drej server-conf-fil

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:

# 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

Spreed Server-fil

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

Tillad port 8843

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.

Kæmp om Wesnoth-vejledning
Slaget om Wesnoth er et af de mest populære open source-strategispil, som du kan spille på dette tidspunkt. Ikke kun har dette spil været under udvikl...
0 A.D. Vejledning
Ud af de mange strategispil derude, 0 A.D. formår at skille sig ud som en omfattende titel og et meget dybt, taktisk spil på trods af at det er open s...
Unity3D Tutorial
Introduktion til Unity 3D Unity 3D er en kraftfuld spiludviklingsmotor. Det er cross platform, det er det giver dig mulighed for at oprette spil til m...