Spreed není jako žádná jiná platforma pro videochat - je v každém ohledu mnohem lepší a výkonnější. Jedná se o bezplatný a otevřený server audio / video hovorů navržený s ohledem na ochranu osobních údajů. Spreed používá WebRTC (Web Real-Time Communication), která umožňuje webovým prohlížečům a mobilním aplikacím komunikovat v reálném čase pomocí API (Application Programming Interfaces). WebRTC umožňuje komunikaci typu peer-to-peer, která umožňuje, aby zvuk a video fungovaly uvnitř webových stránek.
Spreed WebRTC navíc používá šifrování typu end-to-end, čímž zajišťuje maximální soukromí a zabezpečení dat uživatelů.
Mezi úkoly, které můžete pomocí aplikace Spreed provádět, patří:
- Zabezpečené audio / video hovory a textový chat
- Video konference
- Individuální videochat
Instalace serveru Spreed WebRTC na Ubuntu
Pokud vás zajímá, jak začít se Spreedem, budete na správné cestě. Tento příspěvek vám poskytne podrobného průvodce instalací a zahájením práce se serverem Spreed WebRTC na Ubuntu. Pojďme se ponořit!
Krok 1. Nainstalujte si Spreed na Ubuntu
Podíváme se na dva způsoby, kterými můžete nainstalovat Spreed.
- Nainstalujte Spreed z oficiálního PPA
- Nainstalujte Spreed přes Snap
Poznámka: Instalace aplikace Spreed prostřednictvím PPA bude fungovat pouze na Ubuntu 16.04. Pokud používáte Ubuntu 18.04, Ubuntu 20.04 nebo jakoukoli jinou variantu Ubuntu, budete muset použít Snap.
-
Nainstalujte Spreed z oficiálního PPA
Spusťte Terminál (Ctrl + Alt + T) a proveďte níže uvedené příkazy v Terminálu.
sudo apt-add-repository ppa: strukturag / spreed-webrtc sudo apt aktualizace sudo apt nainstalovat spreed-webrtc
-
Nainstalujte Spreed přes Snap
Chcete-li začít, nejprve nainstalujte Snap pomocí níže uvedených příkazů.
sudo apt aktualizace sudo apt nainstalovat snapd
Jakmile máte ve svém systému nainstalovaný Snap, pokračujte v instalaci Spreed WebRTC pomocí následujícího příkazu:
sudo snap install spreed-webrtc-snap
Jakmile jste úspěšně nainstalovali Spreed-WebRTC přes Snap, spustí svůj vestavěný webový server přes localhost na portu 8084 (127.0.0: 8084). Jeho stav můžete potvrdit pomocí níže uvedeného příkazu.
informace o snímku spreed-webrtc-snap
Pokud neběží, můžete spustit Spreed snap pomocí následujícího příkazu:
sudo snap start spreed-webrtc-snap
Můžete také povolit automatické spouštění Spreedu při spuštění systému pomocí níže uvedeného příkazu:
sudo snap start --enable spreed-webrtc-snap
Vyhledáním adresy 127 můžete potvrdit, zda je spuštěný webový server Spreed.0.01: 8084 ve webovém prohlížeči. Měli byste vidět webovou stránku Spreed, jak je znázorněno na obrázku níže.
Krok 2: Nastavení reverzního serveru proxy
Jak vidíte z výše uvedených informací, Spreed-WebRTC je ve výchozím nastavení přístupný pouze přes localhost. Proto jiný uživatel v jiné síti než vy nebude mít přístup k serveru Spreed-WebRTC. Chcete-li tento problém překonat, budete muset nastavit reverzní proxy.
Spropitné: Reverzní proxy je proxy server, který požaduje síťové prostředky jménem klienta z příslušného back-end serveru.
Podíváme se na to, jak nastavit reverzní proxy pomocí Nginx a Apache. Můžete použít kterýkoli z nich.
-
Nginx
Chcete-li nainstalovat Nginx na Ubuntu, proveďte následující příkaz:
sudo apt nainstalovat nginx
Jakmile je příkaz úspěšně proveden, pokračujte vytvořením bloku serveru pro Spreed-WebRTC na Nginx. Spuštěním následujícího příkazu vytvořte spreed-webrtc.conf soubor s nano editorem.
sudo nano / etc / nginx / conf.d / spreed-webrtc.konf
Nyní prosím zkopírujte obsah níže a vložte jej do nano editoru. Nezapomeňte vyměnit doménu spreed.příklad.com s preferovaným názvem domény. Nezapomeňte také nastavit záznam A.
Spropitné: Záznam DNS-A ukazuje subdoménu nebo název domény na adresu IP.
server poslouchat 80; název_serveru spreed.příklad.com; umístění / proxy_pass http: // 127.0.0.1: 8080; proxy_http_version 1.1; proxy_set_header Upgrade $ http_upgrade; proxy_set_header Připojení "upgrade"; proxy_set_header X-Forwarded-Proto $ schéma; 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 zapnuto; proxy_ignore_client_abort vypnuto; proxy_redirect vypnuto; 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 časový limit chyby invalid_header http_502 http_503 http_504; umístění ~ /.známý / acme-challenge root / usr / share / nginx / spreed /; povolit vše;
Uložte a zavřete soubor. (Ctrl + O, pak Enter pro uložení, Ctrl + X pro ukončení).
Nyní můžete otestovat své konfigurace a znovu načíst Nginx pomocí níže uvedených příkazů.
sudo nginx -t sudo systemctl znovu načíst nginx
Nyní by měl být Spreed-WebRTC přístupný prostřednictvím webového prohlížeče přes přiřazenou doménu. Viz obrázek níže.
-
Apache
Pokud chcete používat Apache, začněte nejprve instalací pomocí níže uvedeného příkazu:
sudo apt nainstalovat apache2
Jakmile budete hotovi, stejně jako u Nginxu vytvořte blokový soubor serveru Spreed-WebRTC. Spusťte příkaz k vytvoření a otevření souboru pomocí nano editoru.
sudo nano / etc / apache2 / sites-available / spreed-webrtc.konf
Nyní prosím zkopírujte obsah níže a vložte jej do nano editoru. Nezapomeňte vyměnit doménu spreed.příklad.com s preferovaným názvem domény. Nezapomeňte také nastavit záznam A.
ServerName spreed.příklad.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
Uložte a zavřete soubor. (Ctrl + O, pak Enter pro uložení, Ctrl + X pro ukončení).
Dále musíme povolit proxy_http
Proveďte níže uvedený příkaz:
sudo a2enmod proxy_http
Po dokončení povolte virtuálního hostitele. Proveďte níže uvedený příkaz:
sudo a2ensite spreed-webrtc.konf
Můžete pokračovat v testování svých konfigurací a znovu načíst server Apache.
sudo apachectl configtest sudo systemctl znovu načíst apache2
Nyní by měl být Spreed-WebRTC přístupný prostřednictvím webového prohlížeče přes přiřazenou doménu. Viz obrázek níže.
Krok 3: Povolte HTTPS
Doposud je náš server Spreed-WebRTC přístupný pouze přes HTTP, což by mohlo vyvolat určité obavy o zabezpečení. Abychom povolili HTTPS, budeme muset získat certifikát SSL / TLS.
V tomto kurzu použijeme Let's Encrypt k získání bezplatného certifikátu TLS. Proveďte níže uvedené příkazy a nainstalujte klienta Let's Encrypt -Certbot- z oficiálního PPA.
sudo apt nainstalovat certbot
Pro uživatele Apache budete vyzváni k instalaci pluginu Certbot Apache pomocí níže uvedeného příkazu:
sudo apt nainstalovat python3-certbot-apache
Pro uživatele Nginx nainstalujte plugin Certbot Nginx pomocí následujícího příkazu:
sudo apt nainstalovat python3-certbot-nginx
Chcete-li získat certifikát TLS pro server Apache, proveďte následující příkaz:
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email @ @.com -d spreed.příklad.com
Chcete-li získat certifikát TLS pro server Nginx, proveďte následující příkaz:
sudo certbot --nginx --ree-tos --redirect --hsts --staple-ocsp --email @ @.com -d spreed.příklad.com
Poznámka: U dvou výše uvedených příkazů nezapomeňte nahradit ty @ příklad.com
s vaším oficiálním e-mailem pro registraci a spreed.příklad.com
s názvem domény, který jste použili pro svůj Spreed-WebRTC.
Pokud jste certifikát úspěšně získali, měli byste obdržet zprávu níže.
Krok 4: Nainstalujte server TURN / STUN
Server Spreed-WebRTC je doposud dobře nastavený a online přístupný. Musíme však vyřešit jeden problém. Pokud máte uživatele v síti NAT, budou blokováni a WebRTC nebude fungovat. Abychom to překonali, nastavíme server TURN / STUN, který bude fungovat jako přenos mezi webovými prohlížeči. TURN znamená Traversal using Relays around NAT a STUN znamená Session Traversal Utilities.
Budeme používat server Coturn, který usnadňuje video / audio hovory a konference implementací protokolů TURN a STUN.
Nejprve nainstalujte Coturn pomocí následujícího příkazu:
sudo apt nainstalovat coturn
Po úspěšném provedení příkazu se automaticky spustí služba Coturn. Stav můžete zkontrolovat pomocí níže uvedeného příkazu:
systemctl status coturn
Pokud Coturn nefunguje, spusťte jej níže uvedeným příkazem:
sudo systemctl start coturn
Pro usnadnění můžete také nastavit automatické spuštění při spuštění pomocí níže uvedeného příkazu:
sudo systemctl povolit coturn
Krok 5: Nakonfigurujte Coturn
S nainstalovaným a spuštěným programem Coturn jej můžeme nakonfigurovat pro Spreed-WebRTC.
Proveďte níže uvedený příkaz a upravte otočný server
konfigurační soubor.
sudo nano / etc / turnserver.konf
Všimnete si, že všechny řádky jsou komentovány z výstupu, který získáte. Jak je znázorněno na obrázku níže:
Aby byla vaše práce mnohem jednodušší, zkopírujte níže uvedený obsah a vložte jej na konec konfigurace otočný server
soubor. Nezapomeňte však provést následující změny:
- Nahradit příklad.com s názvem domény, kterému jste přiřadili Spreed-WebRTC.
- Vyměňte IP adresu
10.16.1.1
s veřejnou IP adresou vašeho serveru. - Nahradit
sample-auth-secret
s vlastními. Udělejte to dlouhý a bezpečný - nejlépe náhodně vygenerovaný řetězec.
# Určete poslechový port. Změňte na 80 nebo 443 a obejděte některé přísné NAT. listening-port = 8443 tls-listening-port = 5349 # Určete poslechovou IP, pokud není nastavena, pak Coturn poslouchá na všech systémových IP. poslech-ip = 10.16.1.1 relé-ip = 10.16.1.1 # Tyto řádky umožňují podporu otisku WebRTC lt-cred-mech realm = příklad.com # Metoda ověřování use-auth-secret static-auth-secret = sample-auth-secret total-quota = 100 # Celková šířka pásma bajtů za sekundu, kterou může server TURN přidělit # pro relace, kombinované (vstup a výstup) síťové toky jsou zpracovávány samostatně). bps-capacity = 0 # Tento řádek poskytuje další zabezpečení. zastaralý nonce log-file = / var / log / turnserver / turn.přihlásit no-loopback-peers no-multicast-peers
Uložte konfigurační soubor a restartujte koturn pomocí následujícího příkazu:
sudo systemctl restart koturn
Nyní budeme muset nakonfigurovat Spreed-WEbRTC pro Coturn. Spuštěním následujícího příkazu otevřete konfigurační soubor serveru.
Pokud jste nainstalovali Spreed přes PPA, použijte následující příkaz:
sudo nano / etc / spreed / server.konf
Pokud jste nainstalovali Spreed přes Snap, použijte následující příkaz:
sudo nano / var / snap / spreed-webrtc-snap / common / server.konf
Vyhledejte sekci aplikace a přidejte řádky níže. Nezapomeňte odpovídajícím způsobem zvýrazněný text nahradit.
turnURIs = turn: coturn-server-ip: 8443?transport = udp turnSecret = example-auth-secret
Uložte a zavřete soubor. Znovu restartujte server Spreed-WebRTC pomocí následujícího příkazu:
Pokud jste nainstalovali Spreed přes PPA, použijte následující příkaz:
sudo systemctl restart spreed-webrtc
Pokud jste nainstalovali Spreed přes Snap, použijte následující příkaz:
sudo snap restart spreed-webrtc-snap
Posledním krokem, který musíte udělat, je povolení portu 8843 ve vaší bráně firewall. Je to proto, že Coturn naslouchá na portu 8843. Proveďte příkazy pro bránu firewall UFW.
sudo ufw povolit 8443 / tcp sudo ufw povolit 8443 / udp
Nyní, s nastavením Coturn i Spreed-WebRTC, by i uživatelé v síti NAT měli být schopni uskutečňovat audio / video hovory a dokonce pořádat online konference.
Doufám, že vám tento příspěvek dal jasný průvodce instalací serveru Spreed WebRTC na Ubuntu. Některé konfigurace, jako je nastavení DNS Záznam může být pro začátečníky docela náročný, ale věřím, že na webu, kde jste si zakoupili doménu, jsou články s průvodcem. V případě, že narazíte na nějaký problém, neváhejte zanechat komentář níže.