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
Во время установки вам необходимо ввести имя хоста для экземпляра Jitsi:
Система предложит нам 3 варианта по поводу использования сертификатов SSL, выбираем 1-й:
Вводим почтовый ящик, для регистрации в Let's Encrypt:
Телефон указывать не будем, NO
Установка завершена идем в браузер проверять:
conference.tuning-admina.ru
Установливаем 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
Заключение
Данное решение мне понравилось, лёгкое в установке и настройке, а также заслуживает вашего внимания.