Труконф возглавил рейтинг ВКС-разработчиков 2023

Блог

Вернуться

Установка сервера для видеоконференций Jitsi Meet

Jitsi Meet — это бесплатное программное обеспечение с открытым исходным кодом, которое позволяет создавать и развертывать решения для видеоконференцсвязи. Jitsi Meet работает на базе открытой технологии WebRTC. Это позволяет использовать для проведения конференций браузер, а также клиентские приложения для Linux, macOS, Windows, iOS и Android.

Установка сервера для видеоконференций Jitsi Meet 1

Внимание!

Предупреждаем вас, что Jitsi Meet не подходит на роль полноценного сервиса видеоконференцсвязи. Это бесплатный продукт для демонстрации возможностей коммерческого облачного сервиса 8×8, у разработчиков нет задачи реализовать важные корпоративные возможности. А такие возможности как интеграция с AD/LDAP, обход NAT, поддержка SIP, запись конференций и др., доступны только при установке и настройке дополнительных плагинов. Более того, некоторые функции в принципе отсутствуют, например, создание запланированных конференций – все мероприятия по сути являются виртуальными комнатами.
Также следует учесть, что установка и поддержка в работоспособном состоянии сервера Jitsi Meet требует высокой квалификации по администрированию ОС Linux.

Если же вы хотите развернуть у себя Jitsi Meet, то вы попали по адресу, мы сейчас вам подробно покажем и расскажем как это сделать. Для того чтобы продолжить, следуйте приведённым ниже инструкциям.

Системные требования

Необходимые пакеты для успешной установки Jitsi Meet:

  • gnupg2
  • nginx-full
  • sudo
  • OpenJDK 8/OpenJDK 11

Заранее ознакомьтесь со списком портов, которые вам понадобится открыть в ОС или пробросить во внешнюю сеть:

  • 80/tcp — для верификации/продления SSL-сертификата с помощью Let’s Encrypt;
  • 443/tcp – для общего доступа к Jitsi Meet;
  • 10000/udp – для общей сетевой видео / аудиосвязи;
  • 22/tcp – если вы обращаетесь к серверу с помощью SSH (значение по умолчанию, если вы используете другой порт, укажите его вместо 22).

Платформа Jitsi Meet поддерживает развёртывание на ОС Debian/Ubuntu и openSUSE. Для примера рассмотрим, как установить Jitsi Meet на Debian 10.

OpenJDK – среда выполнения Java. Требуется, т.к. Jitsi Meet написан на языке Java, при этом установится автоматически в качестве зависимости при установке Jitsi Meet (см. шаг 5).

Для выполнения перечисленных далее команд в ОС должна присутствовать программа sudo и пользователь, под которым они запускаются, должен быть в соответствующей группе. В Debian по умолчанию sudo может отсутствовать, проверьте её наличие командой sudo -V и установите при необходимости с помощью команды apt install sudo (выполняется под учётной записью root). А для добавления пользователя с логином user в группу sudo выполните sudo usermod -a -G sudo user.

Основные модули Jitsi Meet

Jicofo — XMPP-компонент, процесс, который управляет подключением клиентских приложений к видеоконференции. Также во время её проведения он реализует функционал отправки приглашений, распределения нагрузки при использовании нескольких XMPP-серверов и пр. У него есть свой HTTP API /about/health для опроса о состоянии ресурса.

Jitsi Videobridge – ключевой компонент системы. При передаче видео и аудио между участниками он выполняет роль посредника, то есть осуществляет функцию терминирования RTP/RTCP, устанавливает границы битрейта в обе стороны на каждого клиента. Есть свой собственный HTTP API для мониторинга (/colibri/debug).

Он работает по архитектуре Simulcast и не занимается транскодингом, потому потребляет относительно мало ресурсов CPU сервера, но при этом возрастает нагрузка на клиентскую часть по сравнению с другими архитектурами.

К системе ВКС Jitsi можно подключить несколько видеобриджей — тогда каждой новой конференции будет поставлен в соответствие один из них.

Jigasi — внешнее расширение для участия в Jitsi-конференциях через SIP-телефонию (требуется отдельная настройка).

Jibri — набор сервисов для записи и трансляции конференции. Запускает Chrome в виртуальном видеобуфере, захватывая и кодируя выходные данные с помощью ffmpeg. Сервис предназначен для запуска на отдельном компьютере (или виртуальной машине), без других приложений, использующих дисплей или аудио устройства. Каждый запущенный экземпляр Jibri поддерживает только один процесс записи за раз.

Prosody — это кроссплатформенный XMPP-сервер, написанный на языке программирования Lua.

Установка сервера для видеоконференций Jitsi Meet 2

Шаг 1. Установка дополнительных пакетов

1. Получите список доступных обновлений для всех пакетов из подключенных в ОС репозиториев:

2. Установите необходимые пакеты:

  • apt-transport-https. Поскольку для репозитория Jitsi требуется HTTPS-соединение, вам нужно установить пакет apt-transport-https, чтобы APT установил HTTPS-соединение с репозиторием Jitsi.
  • gnupg2. Требуется для работы с PGP ключами.
  • nginx-full. Высокопроизводительный веб-сервер. Требуется, чтобы программа установки настроила виртуальный хост на веб-сервере для обслуживания Jitsi Meet.
  • curl. Инструмент командной строки для передачи данных с синтаксисом URL. Нужен для скачивания PGP-ключа.
  • ufw. Простой брандмауэр. Нужен для открытия портов.

Установка сервера для видеоконференций Jitsi Meet 3

Шаг 2. Настройка доменного имени

Чтобы сервер Jitsi Meet функционировал правильно, нужно установить соответствие доменного имени, которое мы будем использовать для своего экземпляра Jitsi Meet, с именем хоста системы.

  1. Решите, какой домен будет использовать ваш сервер. Например, myjitsi.example.org.
  2. Для настройки доменного имени используйте утилиту hostnamectl из набора инструментов systemd, предназначенную для управления именем хоста системы:

Установка сервера для видеоконференций Jitsi Meet 4

3. Добавьте в файл /etc/hosts такое же доменное имя:

где x.x.x.x — это общедоступный IP-адрес вашего сервера.

Шаг 3. Настройка брандмауэра

Чтобы пользователи могли подключаться к серверу Jitsi Meet, нужно настроить брандмауэр. Для этого потребуется открыть требуемые порты с помощью ufw. Для этого последовательно выполните следующие команды:

Проверьте статус брандмауэра с помощью команды:

Если эти порты открыты, вы увидите следующий вывод:

Шаг 4. Добавление пакета Jitsi в список репозиториев

  1. С помощью curl импортируйте официальный GPG-ключ репозитория Jitsi:

2. Добавьте ссылку на репозиторий со стабильной версией:

Шаг 5. Установка Jitsi Meet

Перед установкой получите список доступных пакетов из репозитория Jitsi:

Установите Jitsi Meet:

Вам также будет предложено ввести имя хоста экземпляра Jitsi Meet. Если у вас есть домен, используйте конкретное доменное имя, например: myjitsi.example.org. В качестве альтернативы вы можете ввести IP-адрес машины (если он статический).

Установка сервера для видеоконференций Jitsi Meet 5

Это имя хоста будет использоваться для настройки виртуального хоста внутри Jitsi Meet, а также для подключения пользователей  к конференциям.

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

Установка сервера для видеоконференций Jitsi Meet 6

В нашей базе знаний вы можете узнать подробнее, как сгенерировать бесплатный TLS-сертификат Let’s Encrypt на ОС Linux с помощью утилиты certbot.

Шаг 6. Аутентификация пользователя

По умолчанию Jitsi Meet настроен так, что любой пользователь может подключиться к вашему серверу и создать конференцию. Но возможно настроить сервер так, чтобы конференцию мог начать только зарегистрированный пользователь. В этом случае при создании новой комнаты, Jitsi Meet будет запрашивать имя пользователя и пароль. Но для этого понадобится отредактировать файлы конфигурации.

В следующих примерах мы будем использовать переменную your_hostname вместо доменного имени.

Активация обязательной аутентификации

  1. С помощью любого текстового редактора откройте файл /etc/prosody/conf.avail/[your_hostname].cfg.lua
  2. Найдите строку authentication = "anonymous"  в блоке VirtualHost "[your_hostname]" и замените её на строку:

Тем самым вы замените возможность анонимного использования сервиса обязательной аутентификацией по логину и паролю.

3. Добавьте в конец файла следующий раздел:

Обратите внимание, что guest.your_hostname — это внутренний домен для Jitsi, и вам не нужно (и не следует) создавать для него DNS-запись, или генерировать сертификат SSL / TLS, или выполнять какую-либо конфигурацию веб-сервера.

Это позволяет анонимным пользователям присоединяться к конференции, созданной авторизованным на сервере пользователем. При этом гость должен знать уникальный адрес и пароль конференции (если он задан).

4. Откройте другой файл etc/jitsi/meet/your_hostname-config.js, в текстовом редакторе раскомментируйте строку // anonymousdomain: 'guest.example.com', и замените адрес guest.example.com своим настоящим именем хоста Jitsi Meet.

Эти данные необходимы, чтобы указать Jitsi Meet, какое внутреннее имя хоста необходимо использовать для гостей, не прошедших аутентификацию.

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

Для завершения внесения изменений в конфигурацию, добавьте следующую строку в файл /etc/jitsi/jicofo/sip-communicator.properties

Создание пользователей

Для создания пользователей используйте утилиту prosodyctl:

Перезапустите службы systemd, чтобы изменения вступили в силу:

Теперь при создании комнаты в Jitsi Meet вам необходимо будет ввести имя пользователя и пароль.

Установка сервера для видеоконференций Jitsi Meet 7

Шаг 7. Начало работы с Jitsi Meet

После завершения установки запустите веб-браузер (например, Firefox, Chrome или Safari) и введите имя хоста или IP-адрес в адресную строку.

Если вы использовали самоподписанный сертификат, ваш веб-браузер попросит вас подтвердить, что вы доверяете этому сертификату. Также если вы подключаетесь к Jitsi с помощью мобильного приложения для iOS или Android, возможно, на этом этапе оно завершится ошибкой при использовании самоподписанного сертификата.

Установка сервера для видеоконференций Jitsi Meet 8

Вы должны увидеть веб-страницу, предлагающую вам начать новую встречу:

Установка сервера для видеоконференций Jitsi Meet 9

Убедитесь, что вы можете успешно создать собрание. Поделитесь ссылкой на него, проверьте, что другие участники тоже могут присоединиться и что все порты были открыты корректно.


Не нашли ответ на свой вопрос? Напишите нам в онлайн-чате, мы будем рады помочь.

Подписка на новости