Как установить TURN сервер под Windows?

Статья больше подошла бы для блога, я но решил поделиться этими знаниями у нас в разделе статей.

На просторах интернета либо нет человеческой статьи как это сделать, либо я не умею искать :(

Мы у себя в MyChat используем TURN сервер под Windows, который я компилировал еще в далеком 2015 году, когда мы только реализовали звонки в чате, а сейчас мне очень захотелось его обновить. Вот тут я и столкнулся с задачей — собрать повторно TURN сервер, вроде как я это уже делал, но совершенно не помню, что и как.

Немного погуглив нашел общую инструкцию для сборки coturn в блоге Muaz Khan-а. Но там была "привычная" картина линуксоида — несколько пунктов сборки без подробностей.

Теперь попробуем путь криворукоговиндузятникаванкликмышкой.


Первое. Качаем эмулятор линукс консоли Cygwin, я взял 32-х битный вариант, так как наш сервер должен работать на всех системах, включая очень старые: https://cygwin.com/setup-x86.exe


Второе. Берем исходники coturn.


На всякий случай сделал зеркальные копии этих файлов у нас на хостинге:

Cygwin — https://nsoft-s.com/files/turn/cygwin-x86.exe

Coturn — https://nsoft-s.com/files/turn/coturn.zip

Приступим к установке Cygwin.

Выбираем установку пакетов из Интернета:

установка Cygwin

Далее выбираем расположение папки с самим Cygwin и место для загрузки пакетов перед установкой, после установки их можно удалить.

На этапе выбора источника пакетов я отметил самый первый, но вы можете выбрать любой другой, если хотите, это не сильно принципиально. Главное чтобы там были нужные пакеты:

установка Cygwin, выбор источника

Жмакаем далее и видим "информативное" окно:

установка Cygwin, подготовка выбора пакетов

В выпадающем списке "view" выбираем пункт "full" и начинаем искать нужные для нас пакеты, и для каждого из них в столбике "new", в списке, отмечаем самую последнюю версию из доступных (кроме тестовых):

установка Cygwin, выбор версии пакета

Список пакетов, которые установил я (пакеты с "64" в названии можно не устанавливать, так как для 32-х битной системы они не понадобятся):

установка Cygwin, список пакетов для установки

Находим по очереди все указанные пакеты и отмечаем версию для установки, жмем далее и наблюдаем за увлекательным процессом установки:

установка Cygwin, копирование файлов

После окончания установки открываем папку в Проводнике с установленным Cygwin -> home -> (далее будет имя вашего пользователя) и сюда распакуйте Coturn, получится что-то вроде такого:

папка с установленным Cygwin

Теперь запускаем из корня папки эмулятора Cygwin.bat.

Так как я привык к нормальной навигации по структуре диска, запускаю mc (Midnight Commander).

Он сразу открывает домашнюю папку пользователя, где уже есть папка "coturn-master", заходим туда и запускаем "configure", чтобы он подготовил нам сборочный скрипт.

подготовка makefile

Makefile готов, можно приступать к сборке — пишем команду make, запускаем и ждем завершение:

компиляция turn

И последний штрих пишем и выполняем make install:

установка turn

Все, наш turn сервер готов к работе.

Осталось отделить котлеты от мух. Нам нужен минимальный функционал — роутинг звонков через сервер.

Я беспощадно урезаю содержимое turn сервера, чтобы не таскать ворох ненужных нам файлов. Сам процесс очистки я подробно описывать не буду, а покажу результат:

файлы turn сервера

Все, для минимальной работы turn сервера этого достаточно, в папке "etc" есть файл с конфигурацией "turnserver.conf" — настраивайте и наслаждайтесь работой собственного TURN сервера под Windows (в файле "turnserver.conf.default" описание настроек).

Скачать TURN для Windows

Обсудить на форуме

Служба поддержки