Установка trueconf server на linux

Развёртывание TrueConf Server для Linux в облачном сервисе Yandex Cloud

Вы можете использовать систему видеоконференцсвязи не только в своей корпоративной сети, но и в “облаке”.

В настоящее время на рынке облачных вычислений наблюдается стабильный рост. В прогнозе Gartner говорится, что расходы на облачные сервисы вырастут в 2022 году на 21,7%. Компания TrueConf не отстает от тенденций и предлагает современные решения, в том числе для бесплатных ОС семейства Linux.

Мы покажем вам, как быстро создать виртуальную машину в облачном сервисе Yandex Cloud для последующего развёртывания на ней TrueConf Server на примере Debian 11. Также вы можете воспользоваться услугами других провайдеров, например VK Cloud Solutions или Sber Cloud.

Пример развёртывания TrueConf Server на виртуальной машине на базе ОС Windows вы можете найти в соответствующей статье.

Подбор виртуальной машины

Для начала необходимо определиться с конфигурацией виртуальной машины (ВМ).

Виртуальная машина на основе рекомендуемых системных требований позволяет проводить конференции с количеством участников:

  • до 400 в конференциях любого типа, подключенных через приложения TrueConf;
  • до 200 – подключенных через браузер (по WebRTC) в ролевых конференциях (или до 36 отображаемых WebRTC участников в конференциях любого типа);
  • до 100 SIP/H.323 терминалов в ролевых конференциях (или до 20 SIP/H.323 терминалов, отображаемых в одной конференции любого типа).

Воспользовавшись калькулятором Yandex Cloud, можно рассчитать приблизительную стоимость конфигурации. Для основанных на ядре Linux выберите Ubuntu 20.04 LTS (т.к. она имеет тарификацию Free). А непосредственно при создании машины вы сможете выбрать ОС, доступную в Yandex Cloud Marketplace, и модель оплаты (фиксированная сумма в месяц или оплата за время работы ВМ).

Характеристики виртуальной машины

Операционная система Debian 11
Платформа Intel Broadwell
Гарантированная доля vCPU 100%
Количество vCPU 8 6 451,20 ₽
Объём RAM 16 ГБ 4 492,80 ₽
Диск SSD 50 ГБ 595,50 ₽
Прерываемая ВМ Нет
Публичный IP-адрес Да 172,80 ₽
Исходящий трафик* 2 ТБ 3 044,70 ₽
Цена в месяц (включая НДС)** 14 757,00 ₽
Читайте также:  There are suspended jobs linux

* Объём трафика рассчитан исходя из среднемесячной нагрузки TrueConf Server на 100 пользователей. Он может меняться в зависимости от активности пользователей. Весь входящий трафик и исходящий трафик объемом до 10 ГБ не тарифицируется.

** Стоимость услуг указана в ознакомительных целях, актуальна на декабрь 2021 года и может измениться в зависимости от тарифной политики облачного провайдера или различий в конфигурации виртуальной машины.

Предварительная подготовка

Для того чтобы воспользоваться сервисами Yandex Cloud, вам необходимо:

  • Зарегистрироваться, обязательно привязав свой номер телефона к аккаунту.
  • Добавить платёжный аккаунт.
  • Зачислить средства на баланс лицевого счёта.

Создание пары SSH-ключей

Подключение к созданной ВМ будет происходить с помощью протокола SSH. Публичный SSH-ключ понадобится при создании виртуальной машины. Откройте терминал и создайте ключ с помощью команды:

После этого вы можете указать имена файлов, в которые будут сохранены ключи, по умолчанию используется имя id_rsa. Введите пароль для закрытого ключа (passphrase), это увеличит безопасность подключения по протоколу SSH. Ключи создаются в директории ~/.ssh (Linux/macOS) и в C:\Users\\.ssh\ (Windows 10+).

Если вы вручную указали имя файла для публичного ключа, то файл сохранится в текущий рабочий каталог терминала. Например, в ОС Windows путь к нему отображается слева от команд.

Публичная часть ключа будет сохранена в файле .pub . Вставьте эту часть ключа в поле SSH-ключ при создании виртуальной машины.

Создание виртуальной машины

  1. Авторизуйтесь в консоли управления.
  2. Выберите Compute Cloud в левом боковом меню. Откроется страница со списком виртуальных машин.
  3. Нажмите кнопку Создать ВМ в правом верхнем углу.
  4. На открывшейся странице заполните поля в соответствии с характеристиками ВМ, описанными выше. Также укажите имя виртуальной машины, логин и публичный SSH-ключ.

Не указывайте в качестве логина root и другие слова, зарезервированные ОС.
Для выполнения операций, требующих прав суперпользователя, используйте команду sudo .
Для непосредственного перехода в режим администратора выполните команду sudo su .

Читайте также:  Устройства локальной сети linux
  • Нажмите кнопку Создать ВМ внизу страницы.
  • В открывшемся списке виртуальных машин выберите созданную ВМ.
  • В поле Публичный IPv4 нажмите кнопку .
  • В открывшемся списке IP-адреса нажмите в поле IP-адреса созданной ВМ и выберите Сделать статическим → Изменить.
  • Развёртывание TrueConf Server для Linux в облачном сервисе Yandex Cloud

    Консоль управления Yandex Cloud

    После создания виртуальной машины некоторое время она может находиться в статусе PROVISIONING. Это означает, что в настоящее время облако выделяет данной ВМ ресурсы. После выделения ресурсов статус изменится на RUNNING.

    Подключение к виртуальной машине

    Источник

    TrueConf

    Решение: в каталоге с docker-compose.yml создать файл .env . Содержимое:

    #.env COMPOSE_HTTP_TIMEOUT=200

    Настройка

    Реверс-прокси

    Из переписки с техподдержкой:

    Могу привести рабочий пример настройки Nginx: (в инструкции использован TCS в докер так как ранее клиентам предоставлял данную инструкцию конкретно для контейнера) В случаи если Nginx и TCS сервер находятся на разных машинах менять стандартные порты 443 и 80 на кастомные нет смысла.

    sudo docker run -d -p 8888:80 -p 4443:443 -p 4307:4307 -e ADMIN_USER=tc_admin -e ADMIN_PASSWORD=12345 -v /home/$USER/trueconf/server:/opt/trueconf/server/var/lib trueconf/trueconf-server:stable

    2) Прослушиваемые порты на хостовой машине с докер контейнером TCS

    netstat -nltp tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN 6701/docker-proxy tcp 0 0 0.0.0.0:4443 0.0.0.0:* LISTEN 6722/docker-proxy

    3) Порты настроенные в веб панели TCS, 80 и 443 (сертификат SSL в NGINX и в TCS используется одинаковый *.tcsupport.loc )

    server { listen 80 default_server; listen [::]:80 default_server; listen 443 ssl default_server; listen [::]:443 ssl default_server; ssl_certificate /etc/cert/server.crt; ssl_certificate_key /etc/cert/server.key; root /var/www/html; index index.html index.htm; server_name docker.tcsupport.loc; location / { proxy_pass https://127.0.0.1:4443; proxy_ssl_verify off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; } location /websocket/ { proxy_pass http://127.0.0.1:4307/websocket/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; } }

    TCP соединение поднимается на 443 порт (то есть на Nginx). WebRTC работает, Rest запросы тоже.

    Читайте также:  Linux командная строка grep

    Нет соединения с сервером (через реверс-прокси)

    Вопрос: при попытке подключиться к конференции браузером, выдаётся ошибка «Нет соединения с сервером». Почему?

    Ответ техподдержки: Скорее всего, не ходят веб-сокеты.

    Пришлите полученный .har файл.

    SSL-сертификат

    # сам сертификат /opt/trueconf/server/etc/webmanager/ssl/server.cer # ключ /opt/trueconf/server/etc/webmanager/ssl/server.key

    Если сертификат выбран уже свой через веб-конфигуратор, то сертификат будет называться custom.crt , а ключ custom.key .

    Listen 80 Define ssl_port 443
    IfModule ssl_module> SSLEngine On SSLCertificateFile "/opt/trueconf/server/etc/webmanager/ssl/server.crt" SSLCertificateKeyFile "/opt/trueconf/server/etc/webmanager/ssl/server.key" SSLProtocol +TLSv1.2 +TLSv1.3 SSLCipherSuite "$ " SSLHonorCipherOrder on SSLCompression off SSLSessionTickets off IfModule>

    Выпуск SSL-сертификата

    # Остановить веб-сервис, чтобы не занимал 80-й порт systemctl stop trueconf-web # Выпустить сертификат certbot certonly --standalone --keep --agree-tos --expand -m ssl@example.com -d tconf.example.com # Saving debug log to /var/log/letsencrypt/letsencrypt.log # Plugins selected: Authenticator standalone, Installer None # Requesting a certificate for tconf.example.com # Performing the following challenges: # http-01 challenge for tconf.example.com # Waiting for verification. # Cleaning up challenges # IMPORTANT NOTES: # - Congratulations! Your certificate and chain have been saved at: # /etc/letsencrypt/live/tconf.example.com/fullchain.pem # Your key file has been saved at: # /etc/letsencrypt/live/tconf.example.com/privkey.pem # Your certificate will expire on 2023-03-20. To obtain a new or # tweaked version of this certificate in the future, simply run # certbot again. To non-interactively renew *all* of your # certificates, run "certbot renew" # Скопировать сертификаты и дать права Труконфу cp /etc/letsencrypt/live/tconf.example.com/cert.pem /opt/trueconf/server/etc/webmanager/ssl/custom.crt cp /etc/letsencrypt/live/tconf.example.com/privkey.pem /opt/trueconf/server/etc/webmanager/ssl/custom.key chown trueconf:trueconf /opt/trueconf/server/etc/webmanager/ssl/custom.* # Запустить веб-сервис systemctl start trueconf-web

    Обновление SSL-сертификата

    Настройка автообновления в systemd.timer

    [Unit] Description=Run certbot weekly [Timer] # В 8:30 по понедельникам OnCalendar=Mon *-*-* 08:30:00 #RandomizedDelaySec=43200 Persistent=true [Install] WantedBy=timers.target
    [Unit] Description=Certbot Documentation=file:///usr/share/doc/python-certbot-doc/html/index.html Documentation=https://certbot.eff.org/docs [Service] Type=oneshot ExecStart=/usr/bin/certbot -q renew \ --pre-hook 'systemctl stop trueconf-web' \ --deploy-hook 'cp /etc/letsencrypt/live/tconf.example.com/cert.pem /opt/trueconf/server/etc/webmanager/ssl/custom.crt && cp /etc/letsencrypt/live/tconf.example.com/privkey.pem /opt/trueconf/server/etc/webmanager/ssl/custom.key && chown trueconf:trueconf /opt/trueconf/server/etc/webmanager/ssl/custom.*' \ --post-hook 'systemctl start trueconf-web' PrivateTmp=true

    Источник

    Оцените статью
    Adblock
    detector