Установка Jitsi Meet на Ubuntu 18.04
Кратко: пошаговое руководство по развёртыванию собственного сервера видеоконференций на основе Jitsi Meet в Ubuntu 18.04 — установка Java, Nginx (в режиме обратного прокси), Jitsi Meet из официального репозитория, получение сертификата Let’s Encrypt, настройка UFW и базовое тестирование. Включены рекомендации по безопасности, проверкам и устранению неполадок.
О чём эта инструкция
Это подробный практический гайд по развёртыванию Jitsi Meet на сервере с Ubuntu 18.04 LTS. Руководство охватывает требования, установку зависимостей (OpenJDK), развёртывание через официальный репозиторий Jitsi, настройку Nginx как обратного прокси, получение SSL-сертификата через Let’s Encrypt, базовую настройку UFW и тестирование из браузера и мобильного приложения. Также приведены рекомендации по безопасности, отладке и эксплуатационному контролю.
Важно: инструкция предполагает, что у вас есть домен (например, meet.hakase-labs.io) и доступ для изменения DNS-записей.
Преамбула — основные термины
- Jitsi Meet: веб-приложение на JavaScript/WebRTC для видеоконференций.
- Jitsi Videobridge: компонент для маршрутизации медиапотоков между участниками.
- Jicofo: компонент конференц-менеджмента (контроллер конференций).
- Prosody: XMPP-сервер, используемый Jitsi для signalling.
Предварительные требования
- Сервер Ubuntu 18.04 LTS
- root-доступ (или sudo)
- Домен или поддомен (например meet.hakase-labs.io) с A-записью на IP сервера
- Открытые порты и возможность установить пакеты из интернета
Совет: добавьте запись A в DNS до начала установки — Let’s Encrypt должен уметь резолвить ваш домен.
Что мы сделаем
- Проверим DNS и установим Java OpenJDK 8
- Установим и запустим Nginx
- Добавим официальный репозиторий Jitsi и установим jitsi-meet
- Сгенерируем и установим SSL через Let’s Encrypt
- Настроим UFW (фаервол)
- Протестируем веб и мобильный доступ
- Краткая проверка и рекомендации по безопасности
Полезная схема ментальной модели
- DNS → указывает на сервер
- Nginx → принимает HTTPS и проксирует запросы к Jitsi
- Prosody, Jicofo, Videobridge → внутренние сервисы Jitsi
- Браузер / мобильное приложение → WebRTC соединения с видеомостом
Шаг 0 — Проверка DNS и системная подготовка
Перед установкой убедитесь, что имя домена указывает на IP сервера:
# локально или на машине управления
dig +short meet.hakase-labs.ioЕсли возвращается IP вашего сервера — можно продолжать. На сервере выполните обновление пакетов:
sudo apt update && sudo apt upgrade -yРекомендуется установить базовые утилиты:
sudo apt install -y wget curl gnupg2 apt-transport-https ca-certificates software-properties-commonШаг 1 — Установка Java OpenJDK 8
Jitsi требует Java 8 для части своих компонентов (Jicofo, видеомосты). Установим OpenJDK 8:
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt update
sudo apt install -y openjdk-8-jre-headlessПроверка версии:
java -versionОжидаемый результат: OpenJDK версии 1.8.x.

Шаг 2 — Установка Nginx
Nginx используется как обратный прокси (TLS termination) перед сервисами Jitsi. Установим и запустим Nginx:
sudo apt install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginxПроверьте, что Nginx слушает 80-й порт:
sudo ss -tulpn | grep nginx
Если у вас уже есть веб-сервер, перед установкой Jitsi убедитесь, что виртуальные хосты не конфликтуют с ожидаемым доменом.
Шаг 3 — Установка Jitsi Meet из официального репозитория
Добавим ключи и репозиторий Jitsi:
sudo wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
echo 'deb https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list
sudo apt updateУстановим пакет jitsi-meet:
sudo apt install -y jitsi-meetВо время установки установщик попросит указать доменное имя для Jitsi; введите ваш домен (например meet.hakase-labs.io). Также будет вопрос по SSL: выберите «generate a new self-signed certificate» (сгенерировать самоподписанный сертификат) — временная опция, которую мы заменим на реальный Let’s Encrypt ниже.


После установки в систему будут добавлены компоненты: prosody, jicofo, jitsi-videobridge2 и конфигурация виртуального хоста Nginx.
Шаг 4 — Генерация сертификата Let’s Encrypt
Jitsi поставляет скрипт для автоматической установки сертификата Let’s Encrypt. Запустите его:
sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.shСкрипт установит certbot (если требуется) и попытается получить сертификат для указанного домена; вам потребуется ввести email для уведомлений о сроке действия сертификата.
Сертификаты сохраняются в /etc/letsencrypt/live/meet.hakase-labs.io/

Примечание: если порт 80 уже занят или ваш DNS ещё не обновлён — получение сертификата завершится неудачей. В таких случаях исправьте конфигурацию и запустите скрипт повторно.
Короткая проверка nginx:
sudo nginx -t && sudo systemctl reload nginxШаг 5 — Настройка UFW (фаервол)
Jitsi использует следующие порты (минимум):
- 22 TCP — SSH (удалённое управление)
- 80 TCP — HTTP (для валидации Let’s Encrypt, перенаправляется на HTTPS)
- 443 TCP — HTTPS (медиа сигналинг по WSS/HTTPS)
- 10000 UDP — основной RTP/UDP порт для WebRTC
- 20000 UDP — иногда используется в диапазоне 10000:20000/udp стартовым портом для медиапотоков
Разрешим необходимые порты:
sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw allow in 10000:20000/udpВключите UFW и проверьте статус:
sudo ufw enable
sudo ufw status verbose
Важно: если вы управляете сервером через панель провайдера, убедитесь, что провайдерский фаервол не блокирует порты.
Шаг 6 — Тестирование
- Тест из браузера
Откройте https://meet.hakase-labs.io в браузере. Должна открыться стартовая страница Jitsi Meet.

Создайте комнату, нажмите “GO” (или локальный эквивалент) и разрешите доступ к камере и микрофону.

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

Проверьте демонстрацию шаринга рабочего стола:

- Тест с Android
Установите приложение Jitsi Meet из Google Play и подключитесь к той же комнате.

Если оба клиента видят видео и слышат звук — базовая функциональность работает.
Базовые проверки и отладка сервисов
Полезные команды для диагностики:
sudo systemctl status prosody
sudo systemctl status jicofo
sudo systemctl status jitsi-videobridge2
sudo systemctl status nginx
sudo journalctl -u jitsi-videobridge2 -fПроверьте логи в /var/log/jitsi и /var/log/prosody при проблемах.
Частые проблемы и решения
Проблема: не удаётся получить сертификат Let’s Encrypt
- Причина: DNS не указывает на сервер или порт 80 занят. Решение: исправьте A-запись, временно остановите сервис, который занимает 80, или выполните валидацию другим методом.
Проблема: участники видят чёрный экран или нет аудио
- Причина: UDP порты (10000+) заблокированы. Решение: откройте UDP-порты в фаерволе и на уровне провайдера.
Проблема: низкая производительность при многих участниках
- Причина: аппаратные ресурсы/сетевой канал. Решение: масштабируйте Videobridge или добавьте дополнительные мосты, используйте более мощный CPU и пропускную способность.
Рекомендации по безопасности и конфиденциальности
- Включите аутентификацию домена (secure domain) в Prosody, чтобы только зарегистрированные пользователи могли создавать комнаты.
- Рассмотрите использование JWT для интеграции с вашей системой аутентификации.
- Регулярно обновляйте пакеты системы и Jitsi: sudo apt update && sudo apt upgrade.
- Настройте автоматическое обновление сертификатов (certbot ставит cron для обновления). Проверьте работу:
sudo certbot renew --dry-run- Если обрабатываете личные данные участников, проверьте соответствие GDPR/местному законодательству: хранение логов, запись трансляций, уведомления участников.
Критерии приёмки
- HTTPS доступ к https://ваш-домен
- Успешное подключение как минимум двух клиентов (браузер + мобильное приложение)
- Работа видеошеринга и аудио
- Открыты порты 443 TCP и 10000 UDP в фаерволе
- Сертификат действителен и обновляется автоматически
Роли и чек-листы
Администратор:
- Убедиться в наличии A-записи
- Обновить систему
- Выполнить установку и проверить сервисы
Оператор:
- Мониторить логи jitsi-videobridge2 и jicofo
- Контролировать нагрузку CPU/сеть
- Контролировать статус certbot и UFW
Пользователь:
- Проверить камеру/микрофон в браузере
- Тестировать соединение с мобильного приложения
Дополнительные подходы и масштабирование
- Разделение видеомостов: при высокой нагрузке добавляйте отдельные Jitsi Videobridge-узлы и балансируйте их.
- Использование TURN-серверов (coturn) при проблемах NAT — обязательно, если участники за строгими NAT/файрволами.
- Централизованный мониторинг: подключите Prometheus/Grafana для метрик Jitsi (если вам нужно наблюдение).
Резюме
Вы развернули Jitsi Meet на Ubuntu 18.04: установили OpenJDK 8, Nginx, Jitsi Meet из официального репо, получили SSL через Let’s Encrypt, настроили UFW и выполнили базовое тестирование. Дальше стоит думать о безопасности (аутентификация комнат), резервировании и мониторинге при росте нагрузки.
Важно: регулярно обновляйте систему и следите за журналами. Если нужны интеграция с LDAP/SSO, запись встреч или масштабирование, подготовьте отдельную архитектуру и тестовую среду.
Справочная ссылка
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента