Сервер

Как установить 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 через Snap

Примечание: Установка Spreed через PPA будет работать только в Ubuntu 16.04. Если вы используете Ubuntu 18.04, Ubuntu 20.04 или любой другой вариант Ubuntu, вам нужно будет использовать Snap.

Запустите Терминал (Ctrl + Alt + T) и выполните приведенные ниже команды в Терминале.

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

Для начала сначала установите Snap с помощью команд ниже.

sudo apt update sudo apt install 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 - включить spreed-webrtc-snap

Включите Spreed для запуска при загрузке

Вы можете проверить, запущен ли веб-сервер Spreed, выполнив поиск по адресу 127.0.01: 8084 в веб-браузере. Вы должны увидеть веб-страницу Spreed, как показано на изображении ниже.

Веб-интерфейс Spreed

Шаг 2. Настройка обратного прокси

Как видно из приведенной выше информации, Spreed-WebRTC по умолчанию доступен только через localhost. Следовательно, другой пользователь в сети, отличной от вашей, не получит доступа к Spreed-WebRTC. Чтобы решить эту проблему, вам необходимо настроить обратный прокси-сервер.

Кончик: Обратный прокси-сервер - это прокси-сервер, который запрашивает сетевые ресурсы от имени клиента с соответствующего внутреннего сервера.

Мы рассмотрим, как настроить обратный прокси с помощью Nginx и Apache. Вы можете использовать любой из них.

Чтобы установить Nginx в Ubuntu, выполните следующую команду:

sudo apt установить nginx

Установить Nginx

После успешного выполнения команды переходите к созданию серверного блока для Spreed-WebRTC на Nginx. Выполните команду ниже, чтобы создать spreed-webrtc.conf с помощью редактора nano.

Судо нано / и т. д. / nginx / conf.d / spreed-webrtc.conf

Теперь скопируйте содержимое ниже и вставьте его в редактор nano. Не забудьте заменить домен spreed.пример.com с предпочитаемым доменным именем. Также не забудьте установить рекорд A.

Кончик: Запись DNS-A указывает субдомен или доменное имя на IP-адрес.

сервер слушать 80; имя_сервера spreed.пример.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 32к; proxy_busy_buffers_size 64 КБ; proxy_temp_file_write_size 64 КБ; proxy_next_upstream error 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. Выполните команду для создания и открытия файла в редакторе nano.

Судо нано / и т.д. / apache2 / сайты-доступные / spreed-webrtc.conf

Теперь скопируйте содержимое ниже и вставьте его в редактор nano. Не забудьте заменить домен spreed.пример.com с предпочитаемым доменным именем. Также не забудьте установить рекорд A.

 ServerName spreed.пример.ком  ProxyPass http: // 127.0.0.1: 8080 / ProxyPassReverse http: // 127.0.0.1: 8080 /   ProxyPass ws: // 127.0.0.1: 8080 /  ProxyVia на ProxyPreserveHost на 

Сохраните и закройте файл. (Ctrl + O, затем Enter для сохранения, Ctrl + X для выхода).

Далее нам нужно включить proxy_http

Выполните команду ниже:

sudo a2enmod proxy_http

Включить proxy_http

После этого включите виртуальный хост. Выполните команду ниже:

sudo a2ensite spreed-webrtc.conf

Включить виртуальный хост

Вы можете перейти к тестированию своих конфигураций и перезагрузить сервер 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 -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 - отправить вам электронное письмо @ example.com -d spreed.пример.ком

Чтобы получить сертификат TLS для сервера Nginx, выполните команду ниже:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you @ example.com -d spreed.пример.ком

Примечание: С помощью двух приведенных выше команд не забудьте заменить ты @ пример.ком с вашим официальным адресом электронной почты для регистрации и спред.пример.ком с доменным именем, которое вы использовали для своего 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 install coturn

Установить Coturn

После успешного выполнения команды служба coturn запустится автоматически. Вы можете проверить статус с помощью следующей команды:

systemctl status coturn

Установить Coturn

Если coturn не запущен, запустите его с помощью следующей команды:

sudo systemctl start coturn

Кроме того, для удобства вы можете настроить его автоматический запуск при загрузке с помощью следующей команды:

sudo systemctl включить coturn

Запустить Coturn при загрузке

Шаг 5: Настройте Coturn

Установив и запустив Coturn, мы можем настроить его для Spreed-WebRTC.

Выполните команду ниже, чтобы отредактировать перевертыш конфигурационный файл.

судо нано / и т.д. / Turnserver.conf

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

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

Чтобы упростить вашу работу, скопируйте содержимое ниже и вставьте его в конец конфигурации перевертыш файл. Однако не забудьте внести следующие изменения:

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

Сохраните файл конфигурации и перезапустите coturn с помощью следующей команды:

sudo systemctl перезапустить coturn

Теперь нам нужно настроить Spreed-WEbRTC для Coturn. Выполните команду ниже, чтобы открыть файл конфигурации сервера.

Если вы установили Spreed через PPA, используйте следующую команду:

Судо нано / и т. д. / spreed / сервер.conf

Если вы установили Spreed через Snap, используйте команду ниже:

sudo nano / var / snap / spreed-webrtc-snap / общий / сервер.conf

Найдите раздел приложения и добавьте строки ниже. Не забудьте соответствующим образом заменить выделенный текст.

turnURIs = Turn: coturn-server-ip: 8443?транспорт = udp turnSecret = пример-авторизация-секрет

Файл Spreed Server

Сохраните и закройте файл. Еще раз перезапустите сервер Spreed-WebRTC с помощью следующей команды:

Если вы установили Spreed через PPA, используйте команду ниже:

sudo systemctl перезапуск spreed-webrtc

Если вы установили Spreed через Snap, используйте команду ниже:

sudo snap restart spreed-webrtc-snap

Последний шаг, который вам нужно сделать, - это включить порт 8843 на вашем брандмауэре. Это потому, что Coturn прослушивает порт 8843. Выполните команды для брандмауэра UFW.

sudo ufw разрешить 8443 / tcp sudo ufw разрешить 8443 / udp

Разрешить порт 8843

Теперь, с настройкой Coturn и Spreed-WebRTC, даже пользователи, находящиеся за сетью NAT, должны иметь возможность совершать аудио / видео звонки и даже проводить онлайн-конференции.

Надеюсь, этот пост дал вам четкое руководство по установке Spreed WebRTC Server на Ubuntu. Некоторые конфигурации, такие как Настройка записи DNS A, могут быть довольно сложными для новичков, но я считаю, что на сайте, на котором вы приобрели домен, есть справочные статьи. Если у вас возникнут какие-либо проблемы, пожалуйста, оставьте комментарий ниже.

Средняя кнопка мыши не работает в Windows 10
В средняя кнопка мыши помогает пролистывать длинные веб-страницы и экраны с большим объемом данных. Если это прекратится, вы в конечном итоге будете и...
Как изменить левую и правую кнопки мыши на ПК с Windows 10
Совершенно нормально, что все устройства компьютерной мыши эргономичны для правшей. Но есть мышиные устройства, специально разработанные для левшей ил...
Эмуляция щелчков мыши с помощью мыши без щелчка в Windows 10
Использование мыши или клавиатуры в неправильной позе или чрезмерное использование может привести к множеству проблем со здоровьем, включая растяжение...