Serveris

Kaip įdiegti „Spreed WebRTC Server“ į „Ubuntu“

Kaip įdiegti „Spreed WebRTC Server“ į „Ubuntu“

„Spreed“ nėra kaip bet kuri kita vaizdo pokalbių platforma - ji yra daug geresnė ir visais atžvilgiais galinga. Tai nemokamas ir atviro kodo garso / vaizdo skambučių serveris, sukurtas atsižvelgiant į privatumą. „Spreed“ naudoja „WebRTC“ („Web Real-Time Communication“), kuri leidžia interneto naršyklėms ir programoms mobiliesiems realiuoju laiku bendrauti per API („Application Programming Interfaces“). „WebRTC“ suteikia galimybę bendrauti tarpusavyje, todėl garso ir vaizdo įrašai gali veikti tinklalapiuose.

Be to, „Spreed WebRTC“ naudoja „end-to-end“ šifravimą, taip užtikrindamas galutinį vartotojų duomenų privatumą ir saugumą.

Kai kurias užduotis, kurias galite atlikti naudodami „Spreed“, yra:

„Spreed WebRTC Server“ diegimas „Ubuntu“

Jei įdomu, kaip pradėti naudotis „Spreed“, eisite teisingu keliu. Šis įrašas suteiks jums išsamų „Spreed WebRTC Server“ diegimo ir darbo su „Ubuntu“ pradžios vadovą. Pasinerkime!

1 žingsnis. Įdiekite „Spreed“ „Ubuntu“

Mes apsvarstysime du būdus, kuriuos galite naudoti įdiegdami „Spreed“.

  1. Įdiekite „Spreed“ iš oficialaus PPA
  2. Įdiekite „Spreed“ per „Snap“

Pastaba: „Spreed“ įdiegimas per PPA veiks tik „Ubuntu 16“.04. Jei naudojate „Ubuntu 18“.04, Ubuntu 20.04 ar bet kurį kitą „Ubuntu“ variantą, turėsite naudoti „Snap“.

Paleiskite terminalą („Ctrl“ + „Alt“ + T) ir vykdykite toliau pateiktas komandas terminale.

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

Norėdami pradėti, pirmiausia įdiekite „Snap“ naudodami toliau pateiktas komandas.

atnaujinti sudo apt įdiegti

Įdiekite „Snapd“

Įdiegę „Snap“ savo sistemoje, toliau įdiekite „Spreed WebRTC“ naudodami toliau pateiktą komandą:

sudo snap įdiekite spreed-webrtc-snap

Įdiekite „Spreed-WebRTC“

Kai sėkmingai įdiegsite „Spreed-WebRTC“ per „Snap“, jis paleis savo įmontuotą tinklo serverį per „localhost“ 8084 prievade (127.0.0: 8084). Galite patvirtinti jo būseną pagal tai, ar jis veikia, naudodamiesi toliau pateikta komanda.

informacija spreed-webrtc-snap

„Spreed-WebRTC Status Snap“

Jei jis neveikia, galite paleisti „Spreed Snap“ naudodami toliau pateiktą komandą:

sudo snap start spreed-webrtc-snap

Pradėti „Spreed Snap“

Taip pat galite įgalinti „Spreed“ paleidimą automatiškai, kai sistema įsijungia naudodama toliau pateiktą komandą:

„sudo snap start“ - įgalinamas „spreed-webrtc-snap“

Įgalinkite „Spreed“, kad paleistumėte įkrovos metu

Galite patvirtinti, ar veikia „Spreed“ žiniatinklio serveris, ieškodami 127 adreso.0.01: 8084 žiniatinklio naršyklėje. Turėtumėte pamatyti „Spreed“ tinklalapį, kaip parodyta žemiau esančiame paveikslėlyje.

„Spreed“ interneto sąsaja

2 veiksmas: nustatykite atvirkštinį tarpinį serverį

Kaip matote iš pirmiau pateiktos informacijos, „Spreed-WebRTC“ pagal nutylėjimą yra prieinama tik per „localhost“. Todėl kitas vartotojas, esantis kitame tinkle nei jūs, nepasieks „Spreed-WebRTC“. Norėdami išspręsti šią problemą, turėsite nustatyti atvirkštinį tarpinį serverį.

Patarimas: Atvirkštinis tarpinis serveris yra tarpinis serveris, kuris kliento vardu prašo tinklo išteklių iš atitinkamo vidinio serverio.

Mes pažvelgsime, kaip nustatyti atvirkštinį tarpinį serverį naudojant „Nginx“ ir „Apache“. Galite naudoti bet kurį iš jų.

Norėdami įdiegti „Nginx“ „Ubuntu“, vykdykite toliau nurodytą komandą:

sudo apt įdiegti nginx

Įdiekite „Nginx“

Kai komanda bus sėkmingai įvykdyta, sukurkite „Spreed-WebRTC“ serverio bloką „Nginx“. Norėdami sukurti „spreed-webrtc“, vykdykite toliau pateiktą komandą.conf failas su nano redaktoriumi.

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

Dabar nukopijuokite žemiau esantį turinį ir įklijuokite juos į nano redaktorių. Nepamirškite pakeisti domeno.pavyzdys.com su jūsų pageidaujamu domeno vardu. Taip pat nepamirškite nustatyti A rekordo.

Patarimas: DNS-A įrašas nurodo padomenį arba domeno pavadinimą į IP adresą.

serveris klausyti 80; serverio_vardas išplito.pavyzdys.com; vieta / proxy_pass http: // 127.0.0.1: 8080; proxy_http_version 1.1; proxy_set_header Atnaujinti $ http_upgrade; proxy_set_header Ryšio „atnaujinimas“; „proxy_set_header“ X-Forwarded-Proto $ schema; proxy_set_header Pagrindinis kompiuteris $ 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 išjungtas; 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“ klaidos skirtasis laikas netinkamas__ antraštė http_502 http_503 http_504;  vieta ~ /.gerai žinomas / acme-challenge root / usr / share / nginx / spreed /; leisti visiems; 

„Spreed-WebRTC“ konfigūracijos failas

Išsaugokite ir uždarykite failą. („Ctrl“ + O, tada „Enter“, kad išsaugotumėte, „Ctrl“ + X, kad išeitumėte).

Dabar galite patikrinti savo konfigūracijas ir iš naujo įkelti „Nginx“ naudodami toliau pateiktas komandas.

sudo nginx -t sudo systemctl perkrauti nginx

Perkraukite „Nginx“

Dabar „Spreed-WebRTC“ turėtų būti pasiekiama per interneto naršyklę per priskirtą domeną. Žiūrėkite žemiau esantį vaizdą.

„Spreed-WebRTC Nginx“ serveris

Jei norite naudoti „Apache“, pirmiausia įdiekite jį naudodami toliau nurodytą komandą:

sudo apt install apache2

Įdiekite „Apache“

Atlikę, kaip ir „Nginx“, sukurkite „Spreed-WebRTC“ serverio bloko failą. Vykdykite komandą, kad sukurtumėte ir atidarytumėte failą naudodami „nano“ redaktorių.

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

Dabar nukopijuokite žemiau esantį turinį ir įklijuokite juos į nano redaktorių. Nepamirškite pakeisti domeno.pavyzdys.com su jūsų pageidaujamu domeno vardu. Taip pat nepamirškite nustatyti A rekordo.

 ServerName išplito.pavyzdys.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“ 

Išsaugokite ir uždarykite failą. („Ctrl“ + O, tada „Enter“, kad išsaugotumėte, „Ctrl“ + X, kad išeitumėte).

Toliau turime įgalinti proxy_http

Vykdykite toliau pateiktą komandą:

sudo a2enmod proxy_http

Įgalinti proxy_http

Baigę įgalinkite virtualųjį pagrindinį kompiuterį. Vykdykite toliau pateiktą komandą:

sudo a2ensite spreed-webrtc.konf

Įgalinti virtualų pagrindinį kompiuterį

Galite tęsti savo konfigūracijų bandymą ir iš naujo įkelti „Apache“ serverį.

sudo apachectl configtest sudo systemctl perkrauti apache2

Dabar „Spreed-WebRTC“ turėtų būti pasiekiama per interneto naršyklę per priskirtą domeną. Žiūrėkite žemiau esantį vaizdą.

„Spreed-WebRTC“

3 veiksmas: įgalinkite HTTPS

Iki šiol mūsų „Spreed-WebRTC“ serveris pasiekiamas tik per HTTP, o tai gali kelti tam tikrų saugumo problemų. Norėdami įgalinti HTTPS, turėsime gauti SSL / TLS sertifikatą.

Šioje mokymo programoje bus naudojamas „Encrypt“, kad gautume nemokamą TLS sertifikatą. Vykdykite toliau pateiktas komandas, kad įdiegtume „Encrypt“ klientą „Certbot“ iš oficialaus PPA.

sudo apt įdiekite certbot

Įdiekite „Certbot“

„Apache“ vartotojams turėsite įdiegti „Certbot Apache“ papildinį naudodami toliau nurodytą komandą:

sudo apt įdiekite python3-certbot-apache

„Certbot Apache“ papildinys

„Nginx“ vartotojams įdiekite „Certbot Nginx“ papildinį naudodami toliau nurodytą komandą:

sudo apt įdiekite python3-certbot-nginx

„Nginx Certbot“ papildinys

Norėdami gauti „Apache“ serverio TLS sertifikatą, vykdykite toliau nurodytą komandą:

sudo certbot --apache --agree-tos - peradresuoti --hsts --staple-ocsp --paštu jums @ pavyzdys.com -d paplitimas.pavyzdys.com

Norėdami gauti „Nginx“ serverio TLS sertifikatą, vykdykite toliau nurodytą komandą:

sudo certbot --nginx --sutinku-tos - peradresuoti --hsts --staple-ocsp --paštu jums @ pavyzdys.com -d paplitimas.pavyzdys.com

Pastaba: Su dviem aukščiau pateiktomis komandomis nepamirškite pakeisti jūs @ pavyzdys.com su savo oficialiu elektroniniu paštu registracijai ir paplitimas.pavyzdys.com su domeno vardu naudojote savo „Spreed-WebRTC“.

Jei sėkmingai įgijote sertifikatą, turėtumėte gauti toliau pateiktą pranešimą.

spreed-webtrc-certbot-https

4 žingsnis: įdiekite TURN / STUN serverį

„Spreed-WebRTC“ serveris yra gerai sukonfigūruotas ir prieinamas iki šiol internete. Tačiau turime išspręsti vieną problemą. Jei turite vartotojų už NAT tinklo, jie bus užblokuoti ir „WebRTC“ neveiks. Norėdami tai įveikti, sukursime TURN / STUN serverį, kuris veiks kaip žiniatinklio naršyklių perdavimo priemonė. TURN reiškia „Traversal Using Relays around NAT“, o STUN - „Session Traversal Utilities“.

Mes naudosime „Coturn“ serverį, kuris palengvina vaizdo / garso skambučius ir konferencijas, įgyvendindamas TURN ir STUN protokolus.

Norėdami pradėti, įdiekite „Coturn“ naudodami toliau pateiktą komandą:

sudo apt install coturn

Įdiekite „Coturn“

Kai komanda sėkmingai įvykdoma, „coturn“ paslauga bus paleista automatiškai. Būseną galite patikrinti naudodami žemiau esančią komandą:

systemctl būsenos įvertinimas

Įdiekite „Coturn“

Jei „coturn“ neveikia, paleiskite jį naudodami žemiau esančią komandą:

sudo systemctl start coturn

Be to, patogumo dėlei galite nustatyti, kad jis būtų paleistas automatiškai paleidus, naudodamiesi toliau pateikta komanda:

sudo systemctl įgalinti coturn

Paleiskite „Coturn“ įkrovos metu

5 veiksmas: konfigūruokite „Coturn“

Įdiegę ir veikdami „Coturn“, galime jį sukonfigūruoti „Spreed-WebRTC“.

Norėdami redaguoti, vykdykite toliau pateiktą komandą turnerveris konfigūracijos failas.

sudo nano / etc / turnserver.konf

Jūs pastebėsite, kad visos eilutės yra komentuojamos iš gauto išvesties. Kaip parodyta paveikslėlyje žemiau:

Pasukite serverio konf. Failą

Norėdami palengvinti savo darbą, nukopijuokite žemiau esantį turinį ir įklijuokite juos konfigūracijos pabaigoje turnerveris failą. Tačiau nepamirškite atlikti toliau nurodytų pakeitimų:

# Nurodykite klausymo prievadą. Pakeiskite į 80 arba 443, kad apeitumėte griežtus NAT. listening-port = 8443 tls-listening-port = 5349 # Nurodykite klausymo IP, jei nenustatyta, tada „Coturn“ klausosi visų sistemos IP. klausymas-ip = 10.16.1.1 relė-ip = 10.16.1.1 # Šios eilutės leidžia palaikyti „WebRTC“ pirštų atspaudus lt-cred-mech realm = example.lt tinklo srautai nagrinėjami atskirai). bps-capacity = 0 # Ši eilutė suteikia papildomą saugumą. pasenęs nonce žurnalo failas = / var / log / turnerver / turn.log no-loopback-peers no-multicast-peers

Išsaugokite konfigūracijos failą ir iš naujo paleiskite „coturn“ naudodami toliau pateiktą komandą:

sudo systemctl paleiskite „coturn“ iš naujo

Dabar turėsime sukonfigūruoti „Spreed-WEbRTC“, skirtą „Coturn“. Norėdami atidaryti serverio konfigūracijos failą, vykdykite toliau pateiktą komandą.

Jei įdiegėte „Spreed“ per PPA, naudokite toliau pateiktą komandą:

sudo nano / etc / spreed / server.konf

Jei įdiegėte „Spreed“ per „Snap“, naudokite toliau pateiktą komandą:

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

Suraskite programos skiltį ir pridėkite toliau pateiktas eilutes. Nepamirškite atitinkamai pakeisti paryškinto teksto.

turnURIs = turn: coturn-server-ip: 8443?transport = udp turnSecret = pavyzdys-auth-paslaptis

„Spreed Server“ failas

Išsaugokite ir uždarykite failą. Dar kartą paleiskite „Spreed-WebRTC“ serverį naudodami toliau nurodytą komandą:

Jei įdiegėte „Spreed“ per PPA, naudokite toliau pateiktą komandą:

sudo systemctl paleiskite iš naujo spreed-webrtc

Jei įdiegėte „Spreed“ per „Snap“, naudokite toliau pateiktą komandą:

sudo snap paleiskite iš naujo spreed-webrtc-snap

Paskutinis veiksmas, kurį turite padaryti, yra įjungti ugniasienėje 8843 prievadą. Taip yra todėl, kad Coturnas klausosi 8843 uosto. Vykdykite UFW užkardos komandas.

sudo ufw leisti 8443 / tcp sudo ufw leisti 8443 / udp

Leisti 8843 prievadą

Dabar, atlikus „Coturn“ ir „Spreed-WebRTC“ sąranką, net ir NAT tinkle esantys vartotojai turėtų galėti skambinti garso / vaizdo įrašais ir netgi rengti internetines konferencijas.

Tikiuosi, kad šis pranešimas davė jums aiškų „Spreed WebRTC Server“ diegimo „Ubuntu“ vadovą. Kai kurios konfigūracijos, pvz., DNS nustatymas, įrašas gali būti gana sudėtingas pradedantiesiems, bet manau, kad svetainėje, kurią įsigijote, yra domeno straipsnių. Jei susiduriate su kokia nors problema, nedvejodami palikite komentarą žemiau.

„OpenTTD“ pamoka
„OpenTTD“ yra vienas iš populiariausių verslo modeliavimo žaidimų. Šiame žaidime turite sukurti nuostabų transporto verslą. Tačiau pradėsite nuo mažda...
„SuperTuxKart“, skirta „Linux“
„SuperTuxKart“ yra puikus pavadinimas, sukurtas nemokamai suteikti „Mario Kart“ patirtį jūsų „Linux“ sistemoje. Tai gana sudėtinga ir smagu žaisti, yr...
„Battle for Wesnoth“ pamoka
„Battle for Wesnoth“ yra vienas populiariausių atvirojo kodo strateginių žaidimų, kurį šiuo metu galite žaisti. Šis žaidimas ne tik buvo kuriamas laba...