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.
- Инсталирайте Spreed от официалния PPA
- Инсталирайте Spreed via Snap
Забележка: Инсталирането на Spreed чрез PPA ще работи само на Ubuntu 16.04. Ако сте на Ubuntu 18.04, Ubuntu 20.04 или друг вариант на Ubuntu, ще трябва да използвате Snap.
-
Инсталирайте Spreed от официалния PPA
Стартирайте терминала (Ctrl + Alt + T) и изпълнете командите по-долу на терминала.
sudo apt-add-repository ppa: strukturag / spreed-webrtc sudo apt актуализация sudo apt install spreed-webrtc
-
Инсталирайте Spreed via Snap
За да започнете, първо инсталирайте Snap с командите по-долу.
sudo apt актуализация sudo apt инсталиране snapd
След като инсталирате Snap на вашата система, продължете да инсталирате Spreed WebRTC с командата по-долу:
sudo snap инсталиране spreed-webrtc-snap
След като успешно инсталирате Spreed-WebRTC чрез Snap, той ще стартира вградения си уеб сървър чрез localhost на порт 8084 (127.0.0: 8084). Можете да потвърдите състоянието му дали се изпълнява с командата по-долу.
информация за щракване spreed-webrtc-snap
Ако не работи, можете да стартирате Spreed snap с командата по-долу:
sudo snap start spreed-webrtc-snap
Можете също така да активирате Spreed да стартира автоматично, когато системата се стартира с командата по-долу:
sudo snap start - Enable Spreed-webrtc-snap
Можете да потвърдите дали уеб сървърът Spreed работи, като потърсите адреса 127.0.01: 8084 в уеб браузъра. Трябва да видите уеб страницата Spreed, както е показано на изображението по-долу.
Стъпка 2: Настройване на обратен прокси
Както можете да видите от горната информация, Spreed-WebRTC по подразбиране е достъпен само чрез localhost. Следователно друг потребител в различна от вас мрежа няма да има достъп до Spreed-WebRTC. За да преодолеете този проблем, ще трябва да настроите обратен прокси сървър.
Бакшиш: Обратният прокси е прокси сървър, който изисква мрежови ресурси от името на клиент от съответния бекенд сървър.
Ще разгледаме как да настроим обратен прокси с помощта на Nginx и Apache. Можете да използвате всеки от тях.
-
Nginx
За да инсталирате Nginx на Ubuntu, изпълнете командата по-долу:
sudo apt инсталирайте 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 /; разреши всички;
Запазете и затворете файла. (Ctrl + O след това Enter, за да запазите, Ctrl + X за изход).
Вече можете да тествате своите конфигурации и да презаредите Nginx с командите по-долу.
sudo nginx -t sudo systemctl презареди nginx
Сега Spreed-WebRTC трябва да бъде достъпен чрез уеб браузър чрез назначения домейн. Вижте изображението по-долу.
-
Apache
Ако искате да използвате Apache, започнете, като първо го инсталирате с командата по-долу:
sudo apt инсталирайте apache2
След като приключите, точно както направихме с 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
След като приключите, активирайте виртуалния хост. Изпълнете командата по-долу:
sudo a2ensite spreed-webrtc.конф
Можете да продължите да тествате вашите конфигурации и да презаредите вашия сървър Apache.
sudo apachectl configtest sudo systemctl презареди apache2
Сега Spreed-WebRTC трябва да бъде достъпен чрез уеб браузър чрез назначения домейн. Вижте изображението по-долу.
Стъпка 3: Активирайте HTTPS
Досега нашият сървър Spreed-WebRTC е достъпен само чрез HTTP, което може да породи някои проблеми със сигурността. За да активираме HTTPS, ще трябва да получим SSL / TLS сертификат.
Този урок ще използва Let's Encrypt, за да получи безплатен TLS сертификат. Изпълнете командите по-долу, за да инсталирате Let's Encrypt client -Certbot- от официалния PPA.
sudo apt инсталира certbot
За потребителите на Apache ще трябва да инсталирате приставката Certbot Apache с командата по-долу:
sudo apt инсталирайте python3-certbot-apache
За потребители на Nginx инсталирайте приставката Certbot Nginx с командата по-долу:
sudo apt инсталирайте python3-certbot-nginx
За да получите 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.
Трябва да получите съобщението по-долу, ако сте получили успешно сертификата.
Стъпка 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 ще стартира автоматично. Можете да проверите състоянието с командата по-долу:
systemctl статус
Ако Coturn не работи, стартирайте го с командата по-долу:
sudo systemctl старт
Също така, за удобство, можете да го настроите да стартира автоматично при зареждане с командата по-долу:
sudo systemctl активира Coturn
Стъпка 5: Конфигурирайте Coturn
С инсталиран и работещ Coturn можем да го конфигурираме за Spreed-WebRTC.
Изпълнете командата по-долу, за да редактирате обратен сървър
конфигурационен файл.
sudo nano / etc / turnverver.конф
Ще забележите, че всички редове са коментирани от изхода, който получавате. Както е показано на изображението по-долу:
За да улесните много работата си, копирайте съдържанието по-долу и ги поставете в края на вашата конфигурация обратен сървър
файл. Не забравяйте обаче да направите промените по-долу:
- Заменете пример.com с името на домейна, който сте задали Spreed-WebRTC.
- Заменете IP адреса
10.16.1.1
с публичния IP адрес на вашия сървър. - Сменете
sample-auth-secret
със собствените си. Моля, направете го дълъг и сигурен - за предпочитане произволно генериран низ.
# Посочете порта за слушане. Променете на 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
Сега, с настройките на Coturn и Spreed-WebRTC, дори потребителите зад мрежата NAT трябва да могат да извършват аудио / видео разговори и дори да провеждат онлайн конференции.
Надявам се, че тази публикация ви даде ясно ръководство за инсталиране на Spreed WebRTC Server на Ubuntu. Някои конфигурации като Задаване на DNS запис могат да бъдат доста предизвикателни за начинаещи, но вярвам, че на сайта, който сте закупили домейна си, има ръководства. В случай, че срещнете някакъв проблем, не се колебайте да оставите коментар по-долу.