Найти тему
Тюнинг Админа

Сервер видеоконференции на Ubuntu 22.04LTS + Jitsi Meet

Оглавление

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

Этот продукт является альтернативой таким решениям как Zoom, Skype и Google Meet, кроме того поддерживает все распространенные браузеры, а также мобильные устройства.

Содержание статьи

  • Возможности решения
  • Системные требования
  • Подготовка сервера
  • Создание DNS записей и проброс портов маршрутизатора
  • Подготовка системы
  • Установка Jitsi Meet
  • Устанавливаем SSL от Let’s Encrypt
  • Настройка брандмауэра
  • Заключение

Состав решения

Jitsi включает в себя:

  • Jitsi Meet - WebRTC-совместимое JavaScript-приложение, использующее Jitsi Videobridge для обеспечения высококачественных, масштабируемых видеоконференций. Развивайте React и React Native.
  • Jitsi Videobridge (JVB) - WebRTC-совместимый сервер, предназначенный для маршрутизации видеопотоков между участниками конференции.
  • Jitsi Conference Focus (jicofo) - компонент фокусировки на стороне сервера, используемый в конференциях Jitsi Meet, который управляет медиа-сессиями и выступает в качестве балансировщика нагрузки между каждым из участников и видеомостом.
  • Jitsi Gateway to SIP (jigasi) - серверное приложение, позволяющее обычным SIP-клиентам присоединяться к конференциям Jitsi Meet
  • Jitsi Broadcasting Infrastructure (jibri) - набор инструментов для записи и потоковой передачи конференции Jitsi Meet, который работает путем запуска экземпляра Chrome, отображаемого в виртуальном фрейм буфере, и захвата и кодирования выходных данных с помощью ffmpeg.

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

Для установки Jitsi необходим любой 64-битный дистрибутив Linux, работающий на виртуальной машине или выделенном сервере.

Минимальные системные требования:

  • Процессор: 1-но ядерный от 1Ггц
  • Оперативная память: от 1ГБ
  • Жёсткий диск: от 10ГБ

Создание DNS записей и проброс портов маршрутизатора

Советую Питерского регистратора доменных имён Nethouse.ru, очень быстрый и качественный сервис, с моментальным обновлением DNS записей и приемлемой стоимостью доменных имён, в зоне ru - 150руб.

После покупки прописываем в разделе управления доменом dns запись типа А со значением белого ip адреса нашего маршрутизатора или виртуальной машины на vds хостинге, как в моем случае.

На маршрутизаторе необходимо пробросить порты 80, 443

Подготовка сервера

Повышаем наши права в системе:

sudo -s

Обновляем систему:

apt update && apt upgrade -y

Устанавливаем дополнительные компоненты:

apt install mc nano wget net-tools -y

Устанавливаем имя нашему серверу:

hostnamectl set-hostname conference.tuning-admina.ru

Устанавливаем временную зону:

timedatectl set-timezone Europe/Moscow

Устанавливаем службу синхронизации времени:

apt install chrony -y

Добавляем службу в автозагрузку:

systemctl enable chrony

Устанавливаем пакет

apt install apt-transport-https

Перед тем как продолжить перезагрузим систему:

reboot

Установка Jitsi Meet

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

curl https://download.jitsi.org/jitsi-key.gpg.key | sudo sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg'

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

echo 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null

Обновим список пакетов в репозиториях:

apt update

Устанавливаем Jitsi Meet:

apt install jitsi-meet

-2

Во время установки вам необходимо ввести имя хоста для экземпляра Jitsi:

-3

Система предложит нам 3 варианта по поводу использования сертификатов SSL, выбираем 1-й:

-4

Вводим почтовый ящик, для регистрации в Let's Encrypt:

-5

Телефон указывать не будем, NO

Установка завершена идем в браузер проверять:

conference.tuning-admina.ru

-6

Установливаем SSL-сертификат Let’s Encrypt.

Устанавливаем пакет для работы с Let's Encrypt:

apt install certbot

Запускаем скрипт для автоматизации процесса получения сертификата:

/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

Настройка брандмауэра

Настоятельно рекомендую вам использовать на серверах брандмауэрами и защитой от брутфорс атак. В качестве брандмауэра я использую UFW, со следующими настройками:

ufw allow 22/tcp from ip_address_admina

ufw allow 80/tcp

ufw allow 443/tcp

ufw allow 4443/tcp

ufw allow 10000/udp

ufw reload

Переходим по адресу:

https://conference.tuning-admina.ru

Заключение

Данное решение мне понравилось, лёгкое в установке и настройке, а также заслуживает вашего внимания.