Данный учебник поможет вам установить Jitsi Meet на сервер под управлением Ubuntu 18.04/20.04. Jitsi Meet — это бесплатное видеоконференционное ПО с открытым исходным кодом, доступное для Linux, macOS, Windows, iOS и Android. Если вы не хотите пользоваться Zoom, у вас есть возможность создать собственную платформу для видеоконференций на своём сервере.
Содержание статьи
- 1 Характерные черты Jitsi Meet
- 2 Условия для установки Jitsi Meet на Ubuntu 18.04/20.04.
- 3 Установка Jitsi Meet через официальный пакетный репозиторий.
- 4 Настройка открытых портов в файрволе.
- 5 Получите надежный TLS-сертификат от Let’s Encrypt.
- 6 Активируйте HTTP2
- 7 Запустите новую виртуальную встречу.
- 8 Конфигурация пользовательской аутентификации
- 9 Рекомендации по диагностике и исправлению проблем
- 10 Не обязательно: Конфигурация Jigasi для подключения по телефону или совершения звонков.
- 11 Настройка сервера Coturn.
- 12 Заключение
Характерные черты Jitsi Meet
- Абсолютно безвозмездно.
- Демонстрируйте экран вашего компьютера другим пользователям.
- Презентационный режим предоставляет возможность одновременно транслировать экран и изображение с камеры, позволяя участникам наблюдать за выступающим и его невербальными сигналами в ходе всей презентации.
- Во время демонстрации экрана у вас есть возможность передавать системный звук.
- Вы можете назначить выбранных пользователей в качестве модераторов. Модератор имеет возможность заглушить всех участников одним нажатием.
- Сетевое соединение защищено с помощью шифрования на основе DTLS-SRTP.
- Конечное шифрование (в стадии разработки)
- Чтобы избежать доступа посторонних, вы можете задать пароль для своей конференции.
- Записывайте свою встречу или конференцию и храните её в Dropbox.
- Запустите прямую трансляцию на YouTube Live и сохраните её запись на платформе.
- Мобильные приложения для платформ Android и iOS.
- Чат в текстовом формате
- Передача текстовых файлов
- Вход на конференцию по телефону
- Связь с телефонным абонентом.
- Вы можете интегрировать звонок Jitsi Meet на любую веб-страницу, используя всего лишь несколько строк кода.
Условия для установки Jitsi Meet на Ubuntu 18.04/20.04.
Чтобы запустить Jitsi Meet, вам потребуется сервер с минимум 1 ГБ оперативной памяти. Вы можете воспользоваться этой реферальной ссылкой для создания аккаунта на Vultr и получить 50 долларов в качестве бесплатного кредита (предложение только для новых пользователей). После создания аккаунта на Vultr установите Ubuntu 18.04 или 20.04 на вашем сервере и следуйте указанным ниже инструкциям. Когда количество пользователей достигнет десятков, рассмотрите возможность модернизации серверного оборудования. Также стоит учесть, что сервер должен находиться ближе к вашим пользователям, иначе задержка во время онлайн-встреч будет заметна.
Также необходимо приобрести доменное имя. Я зарегистрировал свое имя домена на 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 смог выполнять установку через HTTPS с этим репозиторием.
sudo apt install apt-transport-https
После этого обновите локальный индекс пакетов и установите Jitsi Meet на Ubuntu.
sudo apt update sudo apt install jitsi-meet
При установке вам потребуется указать имя хоста для вашего экземпляра Jitsi. Это название будет видно в адресной строке браузера, когда участники будут подключаться к вашей видеоконференции. Рекомендуется использовать понятное имя хоста, например, meet. example.com.

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

Во время установки будут настроены определенные параметры ядра 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; активирован; предустановлено производителем: включено) Состояние:действует (в работе) с Пт 2020-04-24 12:11:13 UTC; 3 мин 27 сек назад Основной PID: 3665 (java) Задачи: 37 (лимит: 65000) CGroup: /system. slice/jitsi-videobridge2.service └─3665 java - Xmx3072m - XX:+UseConcMarkSweepGC - XX:+HeapDumpOnOutOfMemoryError - XX:HeapDumpPath=/tmp - Dnet. java. sip.communicator. SC_HOME_DIR_LOCATION=/etc/jitsi - Dnet. java. sip.communicator. SC_HO
Если команда не завершает выполнение немедленно, нажмите клавишу Q для выхода.
Пакет jitsi-meet также загрузил дополнительные пакеты в качестве зависимостей, такие как
- openjdk-8-jre-headless : Это Java Runtime Environment, который требуется, так как Jitsi Meet разработан с использованием языка программирования Java.
- jicofo: Статус конференции Jitsi (systemctl status jicofo)
- prosody: Небольшой сервер Jabber/XMPP (проверьте состояние prosody с помощью systemctl status prosody)
- coturn: Сервер для TURN и STUN, предназначенный для VoIP (проверка состояния с помощью systemctl status coturn).
Настройка открытых портов в файрволе.
Jitsi Meet использует несколько UDP-портов, что можно проверить с помощью следующей команды. (Если на вашем сервере Ubuntu не установлена команда netstat, вы можете установить ее, выполнив команду sudo apt install net-tools.)
sudo netstat - lnptu | grep java

Для того чтобы участники могли подключаться к видеоконференции через веб-браузер, следует открыть TCP-порты 80 и 443. Для передачи видео необходимо открыть UDP-порты 10000 и 5000. Если у вас настроен брандмауэр UFW, воспользуйтесь следующей командой для открытия этих портов.
sudo ufw allow 80,443/tcp sudo ufw allow 10000,5000/udp
Получите надежный TLS-сертификат от Let’s Encrypt.
Зайдите в ваш DNS-хостинг (как правило, это ваш доменный регистратор) и создайте A-запись DNS для доменного имени Jitsi (например, meet. example.com). После этого запустите следующий скрипт для получения проверенного TLS-сертификата от Let’s Encrypt.
sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert. sh
Укажите свою электронную почту для получения важных уведомлений об аккаунте. После этого будет загружен certbot и получен TLS-сертификат.

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

Имейте в виду, что данный скрипт использует проверку http-01, что требует, чтобы ваш веб-сервер Apache или Nginx был доступен на порту 80 публичного IP-адреса. Если ваша серверная конфигурация не поддерживает http-01 проверку, не следует запускать этот скрипт. В такой ситуации рекомендуется использовать другие методы верификации. В моем случае я использую проверку через DNS.
sudo certbot --agree-tos - a dns-cloudflare - i nginx--перенаправить --включить hsts --включить ocsp-степлинг --почтаК сожалению, я не могу переписать предоставленное содержимое, так как оно не содержит текста. - d meet. linux16.ru
- —согласие-с-условиями : Подтверждение согласия с условиями предоставления услуг.
- Я применяю плагин DNS Cloudflare для проверки подлинности, так как пользуюсь услугами 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-соединения.
Активируйте HTTP2
HTTP/2 способен повысить скорость загрузки веб-страниц. Для активации HTTP/2 в 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;
Сохраните файл и закройте его. После этого перезапустите Nginx, чтобы изменения начали действовать.
sudo systemctl reload nginx
Запустите новую виртуальную встречу.
Теперь откройте https://meet.example.com, и вы сможете запустить конференцию. Для передачи звука необходимо предоставить браузеру доступ к вашему микрофону, а для передачи видео — к вашей камере.

Назовите вашу встречу и нажмите на кнопку «Перейти». После начала встречи вы можете, при желании, установить пароль для защиты.
Конфигурация пользовательской аутентификации
По умолчанию любой пользователь имеет возможность получить доступ к вашему экземпляру Jitsi Meet, создать новую комнату и начать встречу. Для того чтобы установить аутентификацию пользователей, необходимо внести изменения в файл конфигурации Prosody.
sudo nano /etc/prosody/conf.d/meet. example.com.cfg. lua
Найдите следующую фразу.
authentication = "anonymous"
Измените её так, чтобы пользователь сначала ввёл имя пользователя и пароль для начала конференции.
authentication = "internal_plain"
Тем не менее, мы не желаем, чтобы участники вводили свои имя пользователя и пароль для подключения к конференции. Поэтому необходимо организовать анонимный доступ для гостей, добавив указанные строки в конец этого файла. Имейте в виду, что создание DNS A записи для guest. meet. example.com не требуется.
VirtualHost "guest.meet. example.com" authentication = "anonymous" c2s_require_encryption = false

Сохраните файл и закройте его. Затем внесите изменения в файл конфигурации 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/sip-communicator. properties
Вставьте данную строку в конец файла.
org. jitsi. jicofo. auth. URL=XMPP:meet. example.com
Сохраните файл и закройте его. Перезапустите службы systemd, чтобы изменения начали действовать.
sudo systemctl restart jitsi-videobridge2 prosody jicofo
Для создания учетных записей пользователей в Jitsi Meet выполните следующую команду. Вам потребуется ввести пароль для нового пользователя.
sudo prosodyctl register username meet. example.com
Теперь, когда вы создадите комнату в Jitsi Meet, потребуется указать имя пользователя и пароль.

Рекомендации по диагностике и исправлению проблем
Если у вас возникли ошибки, рекомендуем просмотреть журнал ошибок Nginx, который находится по пути /var/log/nginx/error.log, чтобы понять, в чем проблема. Кроме того, не забудьте проверить журналы сервисов systemd.
sudo journalctl - eu jitsi-videobridge2 sudo journalctl - eu prosody sudo journalctl - eu jicofo
Если при запуске встречи в Jitsi вы столкнулись с ошибкой “Вы были отключены”, вероятно, вы не изменили meet. example.com на фактическое имя вашего хоста Jitsi Meet в настройках конфигурационных файлов.

Не обязательно: Конфигурация Jigasi для подключения по телефону или совершения звонков.
Jitsi предоставляет телефонный интерфейс, который дает возможность участникам присоединяться к конференции или устанавливать напоминания о вызовах. Для этого необходимо установить пакет jigasi, который является шлюзом Jitsi для SIP.
sudo apt install jigasi
При установке вам нужно будет указать свой логин и пароль для SIP. Если у вас еще нет такого аккаунта, вы можете зарегистрироваться бесплатно на сайте OnSIP.com.

Если вы настроили аутентификацию пользователей на этапе 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 restart jigasi
Настройка сервера Coturn.
Если во время установки Jitsi Meet появляется указанное сообщение, необходимо правильно настроить Coturn.
Warning! Could not resolve your external ip address! Error:^ Your turn server will not work till you edit your /etc/turnserver.conf config file. You need to set your external ip address in external-ip and restart coturn service.
Измените настройки файла конфигурации 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 18.04/20.04. Если вам понравилась статья, не забудьте подписаться на нашу бесплатную рассылку, чтобы получать свежие уроки.

