BigBlueButton на Ubuntu 24.04: пошаговая установка
Если вы преподаёте онлайн или проводите регулярные вебинары, Zoom и Google Meet рано или поздно упираются в лимиты — по времени, по числу участников или просто по цене за лицензии на весь коллектив. BigBlueButton решает эту задачу как self-hosted платформа: доска для рисования, опросы в реальном времени, breakout-комнаты для групповой работы и запись занятий — всё на своём сервере, без ежемесячной платы за место в чужом Zoom. Дальше — пошаговая установка на Ubuntu 24.04, с честными оговорками о требованиях к серверу и о том, где разработчики BBB чуть отстают от свежих релизов Ubuntu.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Требования к серверу и сети
BigBlueButton — тяжёлое приложение: он транскодирует видео и звук в реальном времени для каждого участника конференции, а не просто ретранслирует поток. Экономить на ресурсах здесь не получится.
Официальные рекомендации разработчиков для продакшена:
| Параметр | Минимум | Комфортно для занятий |
|---|---|---|
| CPU | 4 ядра | 8 ядер и больше |
| RAM | 8 ГБ | 16 ГБ |
| Диск | 50 ГБ SSD | 100+ ГБ SSD (если пишете записи) |
| Сеть | 1 Гбит/с, безлимит | 1 Гбит/с, безлимит |
| IP | Публичный, без NAT | Публичный, без NAT |
Это ориентир, не жёсткая формула — реальная нагрузка сильно зависит от того, сколько человек в комнате включают камеру одновременно. Одна конференция на 25 человек с включённым видео у всех нагружает сервер сильнее, чем три параллельные комнаты по 8 человек с выключенными камерами. Если не уверены, как считать запас — есть отдельный разбор, как рассчитать конфигурацию сервера под нагрузку.
Обязательные условия по сети:
- Публичный статический IP — BBB не работает за NAT без проброса портов, а пробрасывать нужно будет диапазон в тысячи портов, что на практике нереально. Берите сервер с реальным белым IP.
- Домен, указывающий на этот IP — установочный скрипт сам выпускает Let's Encrypt сертификат на указанное вами FQDN.
- Открытые порты: TCP 80, 443 (HTTP/HTTPS) и UDP 16384–32768 (медиапоток WebRTC). Диапазон можно сузить, но по умолчанию именно такой.
Домен и DNS-запись настраиваются заранее — если делаете это впервые, пригодится инструкция настройка домена и DNS с нуля на Ubuntu 24.04.
Важная оговорка про Ubuntu 24.04
Официальный установщик BigBlueButton (bbb-install.sh) исторически привязан к конкретному релизу Ubuntu, который тестировала команда проекта — какое-то время это была строго Ubuntu 22.04 (Jammy). Поддержка Ubuntu 24.04 (Noble) добавлялась постепенно, вместе с обновлением зависимостей (Node.js, FreeSWITCH, Kurento-форк mediasoup).
Перед установкой обязательно проверьте в официальном репозитории bigbluebutton/bbb-install на GitHub, какой тег релиза соответствует текущей стабильной версии и заявлен как поддерживающий Noble — команда установки ниже использует такой тег, но конкретный номер версии на момент вашей установки может отличаться. Если по какой-то причине актуальный релиз ещё требует Ubuntu 22.04 — вариант тот же самый: разверните сервер на 22.04, шаги установки идентичны.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать серверПодготовка сервера перед установкой
Начинаем с чистого сервера на Ubuntu 24.04. Подключаемся по SSH и обновляем систему:
apt update && apt upgrade -y
apt install -y curl wget gnupg2 apt-transport-https ca-certificates
Проверяем hostname — он должен совпадать с доменом, который вы направили на сервер:
hostnamectl set-hostname bbb.example.com
hostname -f
Убедитесь, что на портах 80 и 443 больше ничего не висит — установщик BBB сам поднимает nginx, и конфликтующий Apache или другой веб-сервер сломает установку:
systemctl stop apache2 2>/dev/null
systemctl disable apache2 2>/dev/null
ss -tlnp | grep -E ':80|:443'
Настраиваем файрвол — открываем нужные порты и закрываем всё остальное. Если UFW ещё не настроен, сначала пройдите базовую настройку — есть отдельная статья про настройку файрвола на Ubuntu 24.04 с нуля. Применительно к BBB правила такие:
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 16384:32768/udp
ufw enable
Проверяем, что DNS-запись действительно резолвится на IP сервера, прежде чем запускать установку — иначе Let's Encrypt не сможет выпустить сертификат:
dig +short bbb.example.com
Результат должен совпадать с публичным IP сервера.
Установка BigBlueButton через bbb-install.sh
Официальный и рекомендуемый способ установки — скрипт bbb-install.sh. Он ставит всю связку компонентов (FreeSWITCH, kurento/mediasoup, HTML5-клиент, nginx, coturn) и сразу настраивает SSL.
Скачиваем и запускаем от root:
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v3.0.x-release/bbb-install.sh | bash -s -- \
-w \
-s bbb.example.com \
-e admin@example.com
Разбор флагов:
-w— сразу поставить и настроить Greenlight (веб-интерфейс для планирования и входа в комнаты, без него доступен только API);-s— ваш домен (тот, что указывает на IP сервера);-e— email для регистрации Let's Encrypt сертификата (используется и для уведомлений об истечении).
Установка идёт 15–30 минут в зависимости от скорости сети и мощности сервера — скрипт скачивает и настраивает десяток сервисов. Логи вывода стоит не сворачивать: если DNS не резолвится или порт 80 занят, ошибка будет видна сразу, а не через полчаса.
По завершении скрипт выведет ссылку на Greenlight и, если использовали -w, временный пароль администратора — сохраните его сразу, повторно скрипт его не покажет.
Проверка и первая конференция
BBB поставляется с встроенной утилитой диагностики. Запускаем полную проверку конфигурации:
bbb-conf --check
Команда проверяет сертификаты, статус всех systemd-сервисов BBB, доступность портов и версии компонентов. Красные строки в выводе — это то, что нужно чинить перед тем, как звать студентов или коллег.
Проверить, что сервисы действительно запущены:
bbb-conf --status
Дальше открываем https://bbb.example.com в браузере — должен загрузиться Greenlight с формой входа. Создайте тестовую комнату и зайдите в неё сами: проверьте, что видео и звук работают, что доска отображается и что можно поделиться экраном. Лучше поймать проблему с браузером или кодеком сейчас, чем во время реального занятия.
Если что-то не запускается — первым делом смотрите логи конкретного сервиса, например:
journalctl -u bbb-web -n 100 --no-pager
Настройка под онлайн-обучение
Из коробки BBB уже умеет большинство того, что нужно для занятий, но пара настроек стоит внимания отдельно.
Breakout-комнаты. Включаются прямо в интерфейсе модератора во время конференции — кнопка «Создать комнаты для обсуждения» в меню участников. Можно распределить студентов автоматически или вручную, задать таймер, и модератор видит все комнаты сразу и может переключаться между ними.
Запись занятий. По умолчанию запись доступна, но должна быть явно включена при создании комнаты в Greenlight (тумблер «Record this session»). Готовые записи обрабатываются отдельным сервисом и появляются в списке через несколько минут после окончания конференции — время обработки растёт вместе с длительностью записи.
Опросы и доска. Работают из коробки, дополнительной настройки не требуют — модератор запускает опрос через иконку в панели презентации, участники отвечают в реальном времени, результаты можно показать всем сразу.
Лимиты по умолчанию. Стоит явно проверить и при необходимости поднять в /etc/bigbluebutton/bbb-web.properties:
# максимум одновременных пользователей на сервере
maxUsers=...
# максимум пользователей с включённой камерой в одной комнате
После правки конфигов BBB нужно перезапустить, чтобы изменения применились:
bbb-conf --restart
Меняйте лимиты аккуратно и с оглядкой на ресурсы сервера из первого раздела — снятие ограничения не добавляет серверу CPU.
Обслуживание и обновления
BBB развивается быстро, и патчи безопасности выходят регулярно. Проверить текущую версию:
bbb-conf --version
Обновление минорной версии обычно делается тем же установочным скриптом, повторно запущенным с тем же доменом — он определяет, что BBB уже стоит, и обновляет компоненты, не трогая существующие данные и записи. Перед мажорным обновлением (например, между релизными ветками) стоит сделать снапшот сервера или бэкап /var/bigbluebutton — там хранятся записи конференций.
Полезно поставить автоматическое обновление системных пакетов Ubuntu отдельно от BBB — они обновляются независимо, и разница версий ядра/OpenSSL не должна ломать работу сервиса.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать серверНужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.
Частые вопросы
Можно ли поставить BigBlueButton за NAT, без белого IP?
Формально можно попытаться пробросить весь диапазон UDP-портов 16384–32768 плюс 80/443, но на практике это нестабильно и не рекомендуется даже разработчиками — берите сервер с публичным IP.
Хватит ли 4 ядер и 8 ГБ для реальных занятий?
Для одной группы из 10–15 человек с редким включением камер — обычно да. Для нескольких параллельных комнат с постоянным видео у всех — закладывайте 8 ядер и 16 ГБ, иначе будут просадки по звуку и видео первыми у тех, кто дальше от сервера.
Установщик ругается на неподдерживаемую версию Ubuntu — что делать?
Значит, тег релиза, который вы указали в команде, ещё не тестировался на 24.04. Проверьте README репозитория bigbluebutton/bbb-install на актуальный поддерживаемый тег или разверните сервер на Ubuntu 22.04 — шаги установки не меняются.
Нужен ли отдельный TURN-сервер?
bbb-install.sh ставит coturn автоматически как часть установки. Отдельно настраивать его нужно только в специфичных сетевых сценариях — например, если часть участников сидит за жёстким корпоративным NAT/файрволом и обычный STUN не пробивается.
Что делать, если сервер физически в другом регионе, чем участники?
Задержка растёт с расстоянием — для группы преимущественно из России стоит выбирать сервер в РФ или ближайшей локации, а не в США, чтобы не терять качество звука на слабом канале.
Как перенести BBB на более мощный сервер, если группа выросла?
Проще всего — снять бэкап /var/bigbluebutton и конфигов, поднять новый сервер по этой же инструкции и восстановить данные. Полноценной «миграции на лету» без простоя штатными средствами BBB не предусмотрено.
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →