Сървър

Как да инсталирам Spreed WebRTC Server на Ubuntu

Как да инсталирам Spreed WebRTC Server на Ubuntu

Spreed не е като всяка друга платформа за видео чат - той е много по-добър и мощен във всяко отношение. Това е безплатен сървър за аудио / видео разговори с отворен код, създаден с оглед на поверителността. Spreed използва WebRTC (Web Real-Time Communication), който позволява на уеб браузърите и мобилните приложения да комуникират в реално време чрез API (интерфейси за програмиране на приложения). WebRTC позволява комуникация между партньори, което прави възможно аудиото и видеото да работят в уеб страниците.

Освен това Spreed WebRTC използва криптиране от край до край, като по този начин осигурява максимална поверителност и сигурност на данните на потребителите.

Някои от задачите, които можете да изпълнявате с Spreed, включват:

Инсталиране на Spreed WebRTC Server на Ubuntu

Ако се чудите как да започнете с Spreed, ще бъдете на прав път. Тази публикация ще ви даде стъпка по стъпка ръководство за инсталиране и започване с Spreed WebRTC Server на Ubuntu. Да се ​​потопим!

Етап 1. Инсталирайте Spreed на Ubuntu

Ще разгледаме два начина, по които можете да инсталирате Spreed.

  1. Инсталирайте Spreed от официалния PPA
  2. Инсталирайте Spreed via Snap

Забележка: Инсталирането на Spreed чрез PPA ще работи само на Ubuntu 16.04. Ако сте на Ubuntu 18.04, Ubuntu 20.04 или друг вариант на Ubuntu, ще трябва да използвате Snap.

Стартирайте терминала (Ctrl + Alt + T) и изпълнете командите по-долу на терминала.

sudo apt-add-repository ppa: strukturag / spreed-webrtc sudo apt актуализация sudo apt install spreed-webrtc

За да започнете, първо инсталирайте Snap с командите по-долу.

sudo apt актуализация sudo apt инсталиране snapd

Инсталирайте Snapd

След като инсталирате Snap на вашата система, продължете да инсталирате Spreed WebRTC с командата по-долу:

sudo snap инсталиране spreed-webrtc-snap

Инсталирайте Spreed-WebRTC

След като успешно инсталирате Spreed-WebRTC чрез Snap, той ще стартира вградения си уеб сървър чрез localhost на порт 8084 (127.0.0: 8084). Можете да потвърдите състоянието му дали се изпълнява с командата по-долу.

информация за щракване spreed-webrtc-snap

Спред на състоянието на Spreed-WebRTC

Ако не работи, можете да стартирате Spreed snap с командата по-долу:

sudo snap start spreed-webrtc-snap

Започнете Spreed Snap

Можете също така да активирате Spreed да стартира автоматично, когато системата се стартира с командата по-долу:

sudo snap start - Enable Spreed-webrtc-snap

Активирайте Spreed, за да стартирате при зареждане

Можете да потвърдите дали уеб сървърът Spreed работи, като потърсите адреса 127.0.01: 8084 в уеб браузъра. Трябва да видите уеб страницата Spreed, както е показано на изображението по-долу.

Разпространен уеб интерфейс

Стъпка 2: Настройване на обратен прокси

Както можете да видите от горната информация, Spreed-WebRTC по подразбиране е достъпен само чрез localhost. Следователно друг потребител в различна от вас мрежа няма да има достъп до Spreed-WebRTC. За да преодолеете този проблем, ще трябва да настроите обратен прокси сървър.

Бакшиш: Обратният прокси е прокси сървър, който изисква мрежови ресурси от името на клиент от съответния бекенд сървър.

Ще разгледаме как да настроим обратен прокси с помощта на Nginx и Apache. Можете да използвате всеки от тях.

За да инсталирате Nginx на Ubuntu, изпълнете командата по-долу:

sudo apt инсталирайте nginx

Инсталирайте Nginx

След като командата бъде изпълнена успешно, пристъпете към създаване на сървърен блок за Spreed-WebRTC на Nginx. Изпълнете командата по-долу, за да създадете spreed-webrtc.conf файл с нано редактора.

sudo nano / etc / nginx / conf.г / spreed-webrtc.конф

Сега, моля, копирайте съдържанието по-долу и ги поставете в нано редактора. Не забравяйте да замените разпространението на домейна.пример.com с предпочитаното от вас име на домейн. Също така, не забравяйте да настроите A запис.

Бакшиш: Записът DNS-A насочва поддомейн или име на домейн към IP адрес.

сървър слуша 80; име на сървър разпространено.пример.com; местоположение / proxy_pass http: // 127.0.0.1: 8080; proxy_http_version 1.1; proxy_set_header Надстройка $ http_upgrade; proxy_set_header Връзка "надстройка"; proxy_set_header X-Forwarded-Proto $ схема; proxy_set_header Хост $ http_host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_buffering на; proxy_ignore_client_abort изключен; proxy_redirect изключен; 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 грешка timeout invalid_header http_502 http_503 http_504;  местоположение ~ /.добре познат / acme-challenge root / usr / share / nginx / spreed /; разреши всички; 

Файл за конфигуриране на Spreed-WebRTC

Запазете и затворете файла. (Ctrl + O след това Enter, за да запазите, Ctrl + X за изход).

Вече можете да тествате своите конфигурации и да презаредите Nginx с командите по-долу.

sudo nginx -t sudo systemctl презареди nginx

Презаредете Nginx

Сега Spreed-WebRTC трябва да бъде достъпен чрез уеб браузър чрез назначения домейн. Вижте изображението по-долу.

Сървър Spreed-WebRTC Nginx

Ако искате да използвате Apache, започнете, като първо го инсталирате с командата по-долу:

sudo apt инсталирайте apache2

Инсталирайте Apache

След като приключите, точно както направихме с Nginx, създайте файл за блокиране на сървъра Spreed-WebRTC. Изпълнете командата за създаване и отваряне на файла с нано редактор.

sudo nano / etc / apache2 / sites-available / spreed-webrtc.конф

Сега, моля, копирайте съдържанието по-долу и ги поставете в нано редактора. Не забравяйте да замените разпространението на домейна.пример.com с предпочитаното от вас име на домейн. Също така, не забравяйте да настроите A запис.

 Сървърно име се разпространи.пример.com  ProxyPass http: // 127.0.0.1: 8080 / ProxyPassReverse http: // 127.0.0.1: 8080 /   ProxyPass ws: // 127.0.0.1: 8080 /  ПроксиВиа на 

Запазете и затворете файла. (Ctrl + O след това Enter, за да запазите, Ctrl + X за изход).

След това трябва да активираме proxy_http

Изпълнете командата по-долу:

sudo a2enmod proxy_http

Активиране на proxy_http

След като приключите, активирайте виртуалния хост. Изпълнете командата по-долу:

sudo a2ensite spreed-webrtc.конф

Активиране на виртуален хост

Можете да продължите да тествате вашите конфигурации и да презаредите вашия сървър Apache.

sudo apachectl configtest sudo systemctl презареди apache2

Сега Spreed-WebRTC трябва да бъде достъпен чрез уеб браузър чрез назначения домейн. Вижте изображението по-долу.

Spreed-WebRTC

Стъпка 3: Активирайте HTTPS

Досега нашият сървър Spreed-WebRTC е достъпен само чрез HTTP, което може да породи някои проблеми със сигурността. За да активираме HTTPS, ще трябва да получим SSL / TLS сертификат.

Този урок ще използва Let's Encrypt, за да получи безплатен TLS сертификат. Изпълнете командите по-долу, за да инсталирате Let's Encrypt client -Certbot- от официалния PPA.

sudo apt инсталира certbot

Инсталирайте Certbot

За потребителите на Apache ще трябва да инсталирате приставката Certbot Apache с командата по-долу:

sudo apt инсталирайте python3-certbot-apache

Приставка за Certbot Apache

За потребители на Nginx инсталирайте приставката Certbot Nginx с командата по-долу:

sudo apt инсталирайте python3-certbot-nginx

Nginx Certbot плъгин

За да получите TLS сертификат за сървъра Apache, изпълнете командата по-долу:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --имейл ви @ пример.com -d разпространение.пример.com

За да получите TLS сертификат за сървъра Nginx, изпълнете командата по-долу:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --имейл ви @ пример.com -d разпространение.пример.com

Забележка: С двете команди по-горе, не забравяйте да замените вие @ пример.com с вашия официален имейл за регистрация и разпространено.пример.com с името на домейна, което сте използвали за вашия Spreed-WebRTC.

Трябва да получите съобщението по-долу, ако сте получили успешно сертификата.

spreed-webtrc-certbot-https

Стъпка 4: Инсталирайте сървър TURN / STUN

Сървърът Spreed-WebRTC е добре настроен и до този момент е достъпен онлайн. Има обаче един проблем, който трябва да разрешим. Ако имате потребители зад NAT мрежа, те ще бъдат блокирани и WebRTC няма да работи. За да преодолеем това, ще настроим сървър TURN / STUN, който ще действа като реле между уеб браузърите. TURN означава Traversal Using Relays around NAT, а STUN означава Session Traversal Utilities.

Ще използваме сървъра Coturn, който улеснява видео / аудио разговори и конферентна връзка чрез внедряване на протоколи TURN и STUN.

За да започнете, инсталирайте Coturn с командата по-долу:

sudo apt инсталирай coturn

Инсталирайте Coturn

След като командата се изпълни успешно, услугата Coturn ще стартира автоматично. Можете да проверите състоянието с командата по-долу:

systemctl статус

Инсталирайте Coturn

Ако Coturn не работи, стартирайте го с командата по-долу:

sudo systemctl старт

Също така, за удобство, можете да го настроите да стартира автоматично при зареждане с командата по-долу:

sudo systemctl активира Coturn

Стартирайте Coturn при зареждане

Стъпка 5: Конфигурирайте Coturn

С инсталиран и работещ Coturn можем да го конфигурираме за Spreed-WebRTC.

Изпълнете командата по-долу, за да редактирате обратен сървър конфигурационен файл.

sudo nano / etc / turnverver.конф

Ще забележите, че всички редове са коментирани от изхода, който получавате. Както е показано на изображението по-долу:

Включете файла за конфигуриране на сървър

За да улесните много работата си, копирайте съдържанието по-долу и ги поставете в края на вашата конфигурация обратен сървър файл. Не забравяйте обаче да направите промените по-долу:

# Посочете порта за слушане. Променете на 80 или 443, за да заобиколите някои строги NAT. слушане-порт = 8443 tls-слушане-порт = 5349 # Посочете IP прослушване, ако не е зададено, то Coturn слуша на всички системни IP адреси. слушане-ip = 10.16.1.1 реле-ip = 10.16.1.1 # Тези редове позволяват поддръжка за WebRTC пръстов отпечатък lt-cred-mech realm = пример.com # Метод за удостоверяване use-auth-secret static-auth-secret = sample-auth-secret total-quota = 100 # Обща честотна лента за байтове на секунда, на която сървърът TURN може да разпредели # за сесиите, комбинирани (вход и изход мрежовите потоци се третират отделно). bps-capacity = 0 # Този ред осигурява допълнителна сигурност. stale-nonce log-file = / var / log / turnserver / turn.log no-loopback-peers no-multicast-peers

Запазете конфигурационния файл и рестартирайте coturn с командата по-долу:

sudo systemctl рестартирайте coturn

Сега ще трябва да конфигурираме Spreed-WEbRTC за Coturn. Изпълнете командата по-долу, за да отворите конфигурационния файл на сървъра.

Ако сте инсталирали Spreed чрез PPA, използвайте командата по-долу:

sudo nano / etc / spreed / server.конф

Ако сте инсталирали Spreed via Snap, използвайте командата по-долу:

sudo nano / var / snap / spreed-webrtc-snap / common / server.конф

Намерете раздела с приложението и добавете редовете по-долу. Не забравяйте да замените съответно маркирания текст.

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

Разпространен сървърен файл

Запазете и затворете файла. За пореден път рестартирайте Spreed-WebRTC сървъра с командата по-долу:

Ако сте инсталирали Spreed чрез PPA, използвайте командата по-долу:

sudo systemctl рестартирайте spreed-webrtc

Ако сте инсталирали Spreed via Snap, използвайте командата по-долу:

sudo snap рестартиране spreed-webrtc-snap

Последната стъпка, която трябва да направите, е да активирате порт 8843 на вашата защитна стена. Това е така, защото Котърн слуша на порт 8843. Изпълнете командите за защитната стена на UFW.

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

Позволете порт 8843

Сега, с настройките на Coturn и Spreed-WebRTC, дори потребителите зад мрежата NAT трябва да могат да извършват аудио / видео разговори и дори да провеждат онлайн конференции.

Надявам се, че тази публикация ви даде ясно ръководство за инсталиране на Spreed WebRTC Server на Ubuntu. Някои конфигурации като Задаване на DNS запис могат да бъдат доста предизвикателни за начинаещи, но вярвам, че на сайта, който сте закупили домейна си, има ръководства. В случай, че срещнете някакъв проблем, не се колебайте да оставите коментар по-долу.

Как да изтеглите и пуснете Civilization VI на Сид Майер на Linux
Въведение в играта Civilization 6 е модерен поглед върху класическата концепция, въведена в поредицата от игрите Age of Empires. Идеята беше доста про...
Как да инсталирате и играете Doom на Linux
Въведение в Doom Серията Doom възниква през 90-те години след пускането на оригиналния Doom. Това беше незабавен хит и от този момент нататък серията ...
Vulkan за потребители на Linux
С всяко ново поколение графични карти виждаме, че разработчиците на игри преместват границите на графичната вярност и се приближават една крачка до фо...