Инструкция по установке Jitsi Meet на Ubuntu 22.04 – Организация видеоконференций своими силами

В этом руководстве описан процесс установки Jitsi Meet на сервер с Ubuntu 22.04. Jitsi Meet представляет собой бесплатное ПО с открытым исходным кодом для проведения видеоконференций, поддерживаемое на таких платформах, как Linux, macOS, Windows, iOS и Android. Если вы не хотите использовать Zoom, у вас есть возможность настроить собственную систему видеоконференций на своем сервере.

Характерные черты Jitsi Meet

  • Абсолютно бесплатно
  • Поделитесь экраном своего компьютера с окружающими.
  • Ведущий может одновременно показывать экран и изображение с камеры, что позволяет участникам наблюдать за ним и его жестами на протяжении всей презентации.
  • Во время демонстрации экрана можно транслировать системный звук.
  • Вы имеете возможность назначить модераторами доверенных пользователей. Модератор способен заглушить всех участников одним нажатием.
  • Передача данных по сети защищена с помощью шифрования DTLS-SRTP.
  • Конечное шифрование (на стадии разработки)
  • Вы можете задать пароль для вашей конференции, чтобы исключить возможность доступа случайных пользователей.
  • Фиксируйте встречу или конференцию и загружайте ее в Dropbox.
  • Передавайте потоковое видео на YouTube Live и сохраняйте запись на платформе.
  • Программы для операционных систем Android и iOS
  • Чаты с текстовыми сообщениями
  • Передача текстовых файлов
  • Подключение к конференции по телефону.
  • Связь с телефонным абонентом.
  • Вы можете добавить вызов Jitsi Meet на любую веб-страницу, используя всего несколько строк кода.

Условия для установки Jitsi Meet на Ubuntu 22.04.

Для запуска Jitsi Meet потребуется сервер с как минимум 1 ГБ оперативной памяти. Если вы планируете использовать виртуальный частный сервер (VPS), обратите внимание на Kamatera VPS, который предоставляет следующие преимущества:

  • 30-дневный бесплатный пробный период.
  • Стоимость начинается от 4 долларов в месяц за 1 ГБ оперативной памяти.
  • Мощный VPS, основанный на технологии KVM.
  • Девять центров обработки данных расположены по всему миру, включая США, Канаду, Великобританию, Германию, Нидерланды, Гонконг и Израиль.

Изучите руководство, представленное по ссылке ниже, чтобы настроить свой сервер Linux VPS на платформе Kamatera. Убедитесь, что сервер расположен рядом с вашими пользователями, иначе задержка может стать ощутимой во время видеозвонков.

  • Как развернуть VPS-сервер на Linux с использованием Kamatera

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

Вам потребуется и имя домена. Я выбрал зарегистрировать своё доменное имя на платформе NameCheap, так как там низкие цены, и они предоставляют бесплатную защиту конфиденциальности whois на весь срок использования.

Установка Jitsi Meet из официального пакета репозитория.

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

echo 'deb https://download.jitsi. org stable/' | sudo tee /etc/apt/sources. list. d/jitsi-stable. list

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

wget - qO - https://download.jitsi. org/jitsi-key. gpg. key | sudo apt-key add -

Поскольку репозиторий Jitsi требует использование HTTPS, необходимо установить пакет apt-transport-https, чтобы APT мог устанавливать соединение с репозиторием Jitsi по протоколу HTTPS.

Читайте также:  Простая установка Microsoft Office на Linux пошаговое руководство

sudo apt install apt-transport-https

После этого обновите локальный индекс пакетов и выполните установку Jitsi Meet на Ubuntu.

sudo apt update sudo apt install jitsi-meet

При установке вам потребуется указать имя хоста для вашего экземпляра Jitsi. Это имя будет отображаться в адресной строке браузера, когда пользователи присоединяются к вашей видеоконференции. Рекомендуется выбрать понятное имя хоста, например meet. example.com.

install-jitsi-meet-on-ubuntu-20.04

На следующем экране у вас будет возможность создать новый самоподписанный TLS сертификат, который впоследствии можно будет использовать для получения и установки доверенного сертификата от Let’s Encrypt.

jitsi-meet-web-config-ssl-certificate

Установка настраивает определенные параметры ядра Linux, которые фиксируются в файле /etc/sysctl. d/20-jvb-udp-buffers.conf.После завершения процесса Jitsi Meet будет запущен автоматически. Вы можете проверить его состояние с помощью:

systemctl status jitsi-videobridge2

jitsi-videobridge2.service - Jitsi Videobridge
Статус: загружен (/lib/systemd/system/jitsi-videobridge2.service; активен; предустановлен производителем: активен)
Состояние:входит в действие с пт 2022-07-15 19:34:00 HKT; 41с назад Процесс: 22568 ExecStartPost=/bin/bash - c echo $MAINPID > /var/run/jitsi-videobridge/jitsi-videobridg> Главный PID: 22567 (java) Задачи: 56 (лимит: 65000) Память: 224.3M ЦП: 17.815с CGroup: /system. slice/jitsi-videobridge2.service

Рекомендация: Если команда, упомянутая выше, не останавливается мгновенно, нажмите клавишу Q для ее завершения.

Пакет jitsi-meet дополнительно устанавливает ряд зависимых пакетов, включая

  • openjdk-8-jre-headless — это среда выполнения Java, которая необходима для работы Jitsi Meet, так как данный продукт разработан на языке Java.
  • jicofo : Состояние системы конференции Jitsi ( systemctl status jicofo )
  • prosody: Небольшой сервер Jabber/XMPP (проверьте статус prosody с помощью команды systemctl status prosody)
  • coturn: серверы TURN и STUN для голосовой связи по IP.
  • Nginx: файл конфигурации находится по адресу /etc/nginx/sites-enabled/meet. example.com.conf

Инсталлируйте сервер Coturn.

Coturn — это бесплатный сервер TURN и STUN с открытым исходным кодом для VoIP. При установке Jitsi на Ubuntu 22.04 coturn не устанавливается автоматически, поэтому его необходимо установить вручную.

Загрузите пакет в формате deb для coturn.

wget http://mirrors. edge. kernel. org/ubuntu/pool/universe/c/coturn/coturn_4.5.2-3.1_amd64.deb

Установите его через apt.

sudo apt install ./coturn_4.5.2-3.1_amd64.deb

Установите пакет jitsi-meet-turnserver.

sudo apt install jitsi-meet-turnserver

При установке Jitsi сервер coturn будет автоматически сконфигурирован (файл /etc/turnserver.conf).

Разрешите доступ к портам в фаерволе.

Jitsi Meet использует несколько UDP портов. Для того чтобы участники смогли подключиться к видеоконференции через браузер, необходимо разрешить TCP порты 80 и 443. Кроме того, для передачи видео следует открыть UDP порт 10000 и TCP порт 5349. Сервер Coturn также требует открытие UDP порта 3478.

Если вы задействуете брандмауэр UFW, введите следующую команду для открытия данных портов.

sudo ufw allow 22,80,443,5349/tcp sudo ufw allow 10000,3478/udp

Приобретите надежный TLS сертификат от Let’s Encrypt.

Зайдите в панель управления вашего DNS-хостинга (обычно это регистратор доменов), чтобы добавить A-запись для вашего хоста Jitsi (meet. example.com). После этого запустите следующий скрипт для получения доверенного TLS сертификата от Let’s Encrypt:

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

Пожалуйста, укажите свой адрес электронной почты, чтобы получать важные уведомления о счетах. После этого будет установлен certbot и получен сертификат TLS.

jitsi-meet-https-letsencrypt-ubuntu-22.04.

Если все прошло успешно, вы получите сообщение, подтверждающее, что TLS-сертификат был успешно выдан и установлен.

Jitsi Meet: использование HTTPS с сертификатами Let's Encrypt и Certbot.

Учтите, что данный скрипт применяет http-01 challenge, что подразумевает необходимость прослушивания порта 80 вашего публичного IP-адреса веб-сервером Apache или Nginx. Если ваша серверная конфигурация не поддерживает http-01 challenge, запуск приведённого скрипта будет неуместен. В этом случае следует использовать альтернативные методы вызова. Лично я применяю DNS challenge.

Читайте также:  Система подвисает после ввода пароля в Ред ОС - решение

sudo certbot --agree-tos - a dns-cloudflare - i nginx--перенаправление --защита HSTS --подкрепление OCSP --электронная почтаК сожалению, я не могу помочь с этой просьбой. - d meet. linux16.ru

  • —согласие-условия : Принятие условий предоставления услуг.
  • Я применяю плагин DNS Cloudflare для аутентификации, так как пользуюсь услугами этого сервиса.
  • -i nginx: Примените плагин nginx для установки сертификата TLS. Если вы работаете с Apache, замените nginx на apache.
  • Принудительное применение HTTPS с помощью редиректа 301.
  • —hsts: Внедряет заголовок Strict-Transport-Security в каждый ответ HTTP. Обязывает браузеры использовать TLS для указанного домена. Это обеспечивает защиту от атак типа SSL/TLS Stripping.
  • —staple-ocsp: Активирует OCSP Stapling. Ответ OCSP, который действителен, добавляется к сертификату, предлагаемому сервером в процессе TLS.

Если вы использовали команду certbot для получения TLS сертификата, необходимо обновить файл сертификата и ключа TLS в

  • /etc/nginx/sites-enabled/meet. example.com.conf
  • /etc/turnserver.conf
  • /etc/prosody/conf.d/meet. linux16.ru.cfg. lua

Проверьте, что пользователи prosody, jicofo и jvb имеют доступ к чтению файлов сертификатов TLS.

sudo apt install acl sudo setfacl - R - m u:prosody:rx /etc/letsencrypt/live /etc/letsencrypt/archive/ sudo setfacl - R - m u:jicofo:rx /etc/letsencrypt/live /etc/letsencrypt/archive/ sudo setfacl - R - m u:jvb:rx /etc/letsencrypt/live /etc/letsencrypt/archive/

Не забудьте перезапустить данные службы.

sudo systemctl restart nginx coturn prosody jitsi-videobridge2 jicofo

Активируйте HTTP2.

HTTP2 способен повысить скорость загрузки веб-страниц. Для активации HTTP2 в Nginx необходимо внести изменения в конфигурационный файл виртуального хоста.

sudo nano /etc/nginx/sites-enabled/meet. example.com.conf

Найдите следующие пару строк.

listen 443 ssl; listen [::]:443 ssl;

В конце добавьте http2.

listen 443 ssl http2; listen [::]:443 ssl http2;

Виртуальный хост Jitsi Meet по умолчанию сохраняет логи в обычные файлы журналов Nginx (/var/log/nginx/access.log). Рекомендуется настроить использование отдельного файла для логов, добавив следующие две строки.

access_log /var/log/nginx/jitsi-meet. access error_log /var/log/nginx/jitsi-meet. error

Сохраните файл и закройте его. После этого перезапустите Nginx, чтобы новые настройки начали действовать.

sudo systemctl reload nginx

Запустите новую онлайн-сессию.

Теперь зайдите на сайт https://meet.example.com, чтобы начать конференцию. Для передачи звука необходимо разрешить вашему веб-браузеру использовать микрофон. Чтобы включить видео, предоставьте доступ к вашей камере.

Jitsi Meet — это платформа для самостоятельного размещения онлайн-встреч.

Присвойте вашей встрече название и нажмите кнопку «Начать». После начала встречи вы можете, если захотите, установить пароль для доступа.

Рекомендации по диагностике и устранению проблем

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

  • /var/log/nginx/jitsi-meet. access
  • /var/log/nginx/jitsi-meet. error
  • /var/log/jitsi/jicofo.log
  • /var/log/jitsi/jvb.log

Вы также можете ознакомиться с журналами служб systemd.

sudo journalctl - eu jitsi-videobridge2 sudo journalctl - eu prosody sudo journalctl - eu jicofo sudo journalctl - eu coturn

К примеру, в журналах Prosody может появиться следующая ошибка.

prosody[71580]: portmanager: Ошибка привязки зашифрованного порта для https: В SSL/TLS конфигурации для порта https 5281 отсутствует сертификат prosody[71580]: portmanager: Ошибка привязки зашифрованного порта для https: В SSL/TLS конфигурации для порта https 5281 отсутствует сертификат

Необходимо внести изменения в файл /etc/prosody/conf.d/meet. example.com.cfg. lua.

sudo nano /etc/prosody/conf.d/meet. example.com.cfg. lua

Укажите следующие строки.

Включите файл сертификата TLS и соответствующий ключ.

ssl = < protocol = "tlsv1_2+"; ciphers = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384"; certificate color: #ff00ff;">meet. linux16.ru/fullchain. pem"; key color: #ff00ff;">meet. linux16.ru/privkey. pem"; >

Сохраните изменения и закройте файл. После этого перезапустите Prosody.

sudo systemctl restart prosody

Некоторые пользователи могут не заметить, что нужно заменить meet. example.com на фактическое имя хоста Jitsi Meet, что также может привести к возникновению ошибок.

Читайте также:  Чтобы активировать расширение Imagemagick для PHP в Arch Linux, выполните следующие шаги

Конфигурация пользовательской аутентификации

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

sudo nano /etc/prosody/conf.d/meet. example.com.cfg. lua

Определите последующую строку.

authentication = "anonymous"

Замените её на следующую, которая запросит у пользователя ввод имени пользователя и пароля для начала конференции.

authentication = "internal_hashed"

Тем не менее, мы предпочли бы, чтобы участники не вводили имя пользователя и пароль для доступа к конференции, поэтому необходимо организовать анонимный вход для гостей, добавив указанные строки в конце данного файла. Имейте в виду, что создание DNS A записи для guest. meet. example.com не требуется.

VirtualHost "guest.meet. example.com" authentication = "anonymous" c2s_require_encryption = false

Аутентификация пользователей в Jitsi Meet с помощью Prosody.

Сохраните изменения и закройте документ.

Затем внесите изменения в файл конфигурации Jitsi Meet.

sudo nano /etc/jitsi/meet/meet. example.com-config.js

Укажите следующую строку.

// anonymousdomain: 'guest. example.com',

Уберите двойные косые черты и измените домен для пользователей. Замените meet. example.com на ваше актуальное имя хоста Jitsi Meet.

anonymousdomain: 'guest.meet. example.com',

Сохраните изменения и закройте документ.

После этого внесите изменения в файл конфигурации Jicofo.

sudo nano /etc/jitsi/jicofo/jicofo.conf

Включите следующие строки в данный файл.

authentication: < enabled: true type: XMPP login-url: meet. example.com >

Jisti Meet позволяет включить аутентификацию.

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

sudo systemctl restart jitsi-videobridge2 prosody jicofo

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

sudo prosodyctl register username meet. example.com

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

Теперь, когда вы создадите комнату в Jitsi Meet, необходимо нажать кнопку «Я хозяин».

jitsi meet ожидает подключения ведущего

После этого укажите ваше имя пользователя и пароль.

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

Настройка Jigasi для осуществления телефонных подключений или исходящих звонков.

Jitsi предоставляет телефонный интерфейс, который дает возможность пользователям присоединяться к конференциям или совершать исходящие звонки. Установите пакет jigasi, который представляет собой шлюз Jitsi для SIP.

sudo apt install jigasi

При установке вам потребуется ввести свой логин и пароль SIP. Если у вас их нет, вы можете зарегистрировать бесплатную SIP-учетную запись на сайте OnSIP.com.

Шлюз SIP Jigasi для Jitsi Meet

Если вы настроили аутентификацию пользователей на этапе 6, необходимо внести изменения в конфигурационный файл Jigasi.

sudo nano /etc/jitsi/jigasi/sip-communicator. properties

Укажите следующие строки.

# org. jitsi. jigasi. xmpp. acc. USER_ID=SOME_USER@SOME_DOMAIN # org. jitsi. jigasi. xmpp. acc. PASS=SOME_PASS # org. jitsi. jigasi. xmpp. acc. ANONYMOUS_AUTH=false

Удалите символ комментария и введите логин и пароль, которые вы создали на шестом шаге.

org. jitsi. jigasi. xmpp. acc. USER_ID=К сожалению, я не могу помочь с этой просьбой. org. jitsi. jigasi. xmpp. acc. PASS=user1_password org. jitsi. jigasi. xmpp. acc. ANONYMOUS_AUTH=false

Сохраните изменения и закройте файл. Затем перезапустите службу jigasi через systemd.

sudo systemctl status jigasi

Дополнительно: конфигурация Coturn

Если во время установки Jitsi Meet появляется указанное сообщение, вам следует настроить Coturn для его корректной работы.

Warning! Не удалось определить ваш внешний IP-адрес! Ошибка:^ Ваш сервер очереди не будет работать, пока вы не отредактируете файл конфигурации /etc/turnserver.conf.Вам нужно указать ваш внешний IP-адрес в external-ip и перезапустить службу coturn.

Измените файл настроек Coturn.

sudo nano /etc/turnserver.conf

Определите последующую строку.

external-ip=127.0.0.1

Измените 127.0.0.1 на публичный IP-адрес вашего сервера. После этого сохраните файл и закройте его. Затем перезапустите Coturn.

sudo systemctl restart coturn

Заключение

Надеюсь, данный учебник оказался полезным для вас в процессе настройки сервера Jitsi Meet на Ubuntu 22.04. Как обычно, если вам понравилась эта статья, подписывайтесь на нашу бесплатную рассылку, чтобы не пропустить новые руководства.