Как установить и настроить BigBlueButton на VPS
Zoom и Google Meet не заточены под преподавание: там нет нормальной интерактивной доски, опросов внутри урока и деления группы на breakout-комнаты без танцев с бубном. BigBlueButton — опенсорсная платформа видеоконференций, спроектированная именно для онлайн-обучения, и её можно поднять на собственном VPS за один вечер, если заранее понимать требования к ресурсам и не наступать на типовые грабли установки.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Что такое BigBlueButton и зачем ставить его на свой сервер
BigBlueButton (BBB) — веб-конференц-платформа с упором на педагогику: общая интерактивная доска с мультикурсорами, опросы в реальном времени, breakout-комнаты для групповой работы, запись занятий, шаринг презентаций с рендером слайдов на сервере, встроенный чат и подключаемая интеграция с LMS (Moodle, Canvas, Sakai) через LTI.
Свой сервер даёт три вещи, которых нет у облачных решений: полный контроль над записями занятий (они физически лежат у вас, а не в чужом облаке), отсутствие лимитов на число участников и длительность конференций, и предсказуемую стоимость — вы платите за сервер, а не за количество "минут конференций" или подписку на ученика.
Обратная сторона: BBB — тяжёлое приложение. Это не docker-контейнер, который поднимается за пять минут, а связка из полутора десятков сервисов (FreeSWITCH для аудио, Kurento/mediasoup для видео, Redis, PostgreSQL, HTML5-клиент, Greenlight как фронтенд) под управлением systemd. Установка автоматизирована официальным скриптом, но требования к железу и сети нужно закрыть заранее.
Требования к серверу и сети
Официальные рекомендации BigBlueButton ориентированы на реальную учебную нагрузку, а не на "попробовать":
| Параметр | Минимум для теста | Рекомендация для продакшена |
|---|---|---|
| CPU | 4 vCPU | 8 vCPU и больше |
| RAM | 8 ГБ | 16 ГБ и больше |
| Диск | 50 ГБ SSD | 100+ ГБ SSD (записи занимают место быстро) |
| ОС | Ubuntu 24.04 LTS, 64-бит | то же |
| Сеть | публичный статический IPv4 | то же + желательно IPv6 |
Точное число одновременных участников, которое потянет конкретная конфигурация, зависит от того, у скольких из них включена камера одновременно — именно видеопотоки, а не аудио, съедают CPU. Ориентируйтесь на диапазон "десятки участников на 8 ядрах", но проверяйте нагрузку на своих занятиях, а не на чужих бенчмарках — цифры сильно гуляют в зависимости от разрешения видео и его количества.
Обязательно нужен домен (поддомен), который резолвится в IP сервера — BBB требует HTTPS и валидный сертификат, самоподписанным или IP-адресом не обойтись. Если домена под рукой ещё нет, сначала настройте домен и DNS на новом Ubuntu-сервере, и только потом переходите к установке.
Сетевые порты, которые должны быть открыты наружу:
- 80/tcp и 443/tcp — веб-интерфейс, HTML5-клиент, выпуск сертификата;
- UDP 16384–32768 — медиапотоки (аудио/видео) через FreeSWITCH и Kurento, это диапазон по умолчанию.
Если на сервере уже стоит firewall — сначала разберитесь, как настроить UFW на VPS, потому что закрытый UDP-диапазон — самая частая причина "звук/видео не идёт, хотя всё установилось".
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать серверПодготовка сервера
Берём чистый Ubuntu 24.04 LTS. Сначала — базовая гигиена: обновление системы, часовой пояс, hostname, совпадающий с доменом.
apt update && apt -y upgrade
timedatectl set-timezone Europe/Moscow
hostnamectl set-hostname bbb.example.com
Важно, чтобы hostname -f возвращал именно тот FQDN, на который смотрит DNS-запись — установщик BBB сверяет это при выпуске сертификата. Проверьте A-запись до старта:
dig +short bbb.example.com
Она должна вернуть публичный IP вашего сервера. Если сервер стоит за NAT или на нём несколько сетевых интерфейсов, укажите публичный IP явно на этапе установки — иначе Let's Encrypt не сможет подтвердить домен.
Также стоит сразу увеличить своп на серверах с 8–16 ГБ RAM — сборка и параллельная работа сервисов BBB иногда даёт кратковременные пики по памяти. Как это сделать с нуля, описано в отдельной статье про настройку swap на Ubuntu.
Установка BigBlueButton официальным скриптом
Проект поддерживает установочный bash-скрипт bbb-install.sh, который разворачивает всю связку сервисов, настраивает FreeSWITCH, выпускает сертификат Let's Encrypt и поднимает Greenlight (веб-интерфейс для преподавателей) одной командой. Актуальную версию скрипта и точные флаги для вашей версии BBB всегда стоит сверять в официальном репозитории на GitHub (bigbluebutton/bbb-install) — команда установки со временем меняется вместе с релизами, поэтому вставлять "вечную" команду в статью смысла нет.
Типовой вызов выглядит так (структура флагов может отличаться в актуальной версии, сверяйтесь с документацией):
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
Где:
-s— ваш домен (тот, на который смотрит DNS);-e— email для выпуска сертификата Let's Encrypt (уведомления об истечении);-w— установить Greenlight, веб-панель, через которую преподаватели создают комнаты и планируют занятия без консоли.
Установка идёт 20–40 минут в зависимости от канала сервера и включает: установку Docker (для Greenlight), пакетов BBB из официального репозитория, настройку nginx как reverse proxy, генерацию сертификата и первичную конфигурацию FreeSWITCH под ваш публичный IP.
По завершении скрипт обычно выводит команду проверки состояния:
bbb-conf --check
Она проходится по ключевым сервисам (bbb-web, freeswitch, redis, kurento, html5) и явно показывает, что не запустилось — гораздо быстрее, чем вычитывать логи каждого сервиса вручную.
Настройка Greenlight и создание учебных комнат
Greenlight — это тот интерфейс, с которым реально работают преподаватели: список комнат, история записей, настройки доступа. После установки на https://bbb.example.com создаётся первый администратор:
docker exec greenlight-v3 bundle exec rake admin:create
(имя контейнера может отличаться в зависимости от версии Greenlight — проверьте через docker ps).
Дальше в панели администратора можно:
- включить/выключить регистрацию новых пользователей (для учебного заведения обычно включают только приглашение по ссылке или SSO);
- настроить брендинг — логотип, цвет темы;
- задать роли: администратор, преподаватель (может создавать комнаты), обычный пользователь.
Для каждой учебной группы удобно заводить отдельную "комнату" (room) — постоянную ссылку, которую преподаватель использует из занятия в занятие, а не создаёт новую конференцию каждый раз.
Настройка под онлайн-обучение: доска, опросы, breakout-комнаты
Ключевые для преподавания функции в BigBlueButton включены по умолчанию, но их поведение настраивается через bbb-html5.yml и параметры комнаты в Greenlight:
Интерактивная доска. Работает "из коробки" при шаринге презентации — участники с правом "presenter" или явно выданным доступом могут рисовать поверх слайдов синхронно, у каждого свой цвет курсора. Право работы с доской модератор выдаёт студенту точечно через меню участника — это удобно для контрольных заданий у доски.
Опросы (polling). Запускаются модератором прямо во время презентации — заготовленные варианты ("Да/Нет/Не уверен", множественный выбор) или произвольный вопрос. Результаты показываются в реальном времени и попадают в запись занятия, если она включена.
Breakout-комнаты. Модератор делит участников основной конференции на подгруппы автоматически (случайно) или вручную, с таймером на возврат. Каждая подгруппа получает изолированную аудио/видео-сессию — по сути отдельный мини-BBB внутри одной конференции. Это самая ресурсоёмкая функция: N breakout-комнат создают N параллельных FreeSWITCH-сессий, так что на слабом сервере при большом классе стоит ограничивать число одновременных подгрупп.
Запись занятий. Включается флагом при создании комнаты в Greenlight. Обработка записи (rendering) идёт асинхронно после конференции и требует дополнительных CPU-ресурсов — на нагруженном сервере она может занимать заметное время после занятия, это нормально, конвейер обработки работает в фоне.
Если планируете интеграцию с LMS — Moodle умеет подключаться к BBB через официальный плагин по протоколу LTI, что даёт студентам вход в конференцию прямо из курса без отдельной регистрации в Greenlight.
Обслуживание, обновления и диагностика
BBB развивается быстро, и версии не всегда обратно совместимы между собой — планируйте обновление через официальный bbb-install.sh с флагом обновления той же версии, а не через apt upgrade пакетов BBB вслепую.
Базовые команды для повседневной эксплуатации:
bbb-conf --status # состояние всех сервисов
bbb-conf --check # диагностика конфигурации и сети
bbb-conf --restart # перезапуск всей связки
journalctl -u bbb-html5 -f # логи HTML5-клиента в реальном времени
Если участники жалуются на обрывы видео или "не могу подключиться к звуку" — в 9 случаях из 10 причина в блокировке UDP-диапазона провайдером или корпоративным файрволом на стороне студента, а не в самом сервере. BBB умеет проксировать медиа через TURN-сервер (coturn) для таких сетей — если у вашей аудитории много пользователей за строгими NAT/файрволами, установку TURN-релея стоит планировать сразу.
Место на диске нужно мониторить отдельно — записи занятий в высоком качестве накапливаются быстро, особенно если группа записывает каждый урок. Настройте ротацию старых записей через Greenlight или cron-задачу, которая переносит записи старше N дней во внешнее хранилище.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать серверНужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.
Частые вопросы
Хватит ли VPS на 4 ядра и 8 ГБ для BigBlueButton?
Для тестовой установки и небольших групп до десятка человек с видео — да, но это нижняя граница. Для регулярных занятий закладывайте минимум 8 ядер и 16 ГБ, особенно если планируете breakout-комнаты.
Можно ли обойтись без домена и использовать только IP?
Нет. BigBlueButton требует HTTPS с валидным сертификатом, а Let's Encrypt не выпускает сертификаты на голый IP-адрес — нужен домен с настроенной A-записью.
Чем BigBlueButton отличается от Jitsi Meet для образовательных задач?
Jitsi проще ставится и легче по ресурсам, но у него нет встроенной педагогической логики — опросов, breakout-комнат с таймером возврата, полноценной многопользовательской доски поверх слайдов. Если вам нужен именно инструмент под преподавание, а не общая видеосвязь, BBB для этого подходит лучше; если задача — просто быстрые созвоны, посмотрите статью про установку Jitsi Meet на VPS.
Как защитить сервер от посторонних подключений?
Ограничьте регистрацию в Greenlight приглашениями, закройте административные порты файрволом снаружи и держите систему в актуальном состоянии — базовые практики те же, что и для любого публичного веб-сервиса.
Нужен ли отдельный TURN-сервер сразу при установке?
Не обязательно на старте, но если среди студентов много подключений из офисных/учебных сетей со строгими файрволами, TURN-релей (coturn) стоит развернуть заранее — без него часть аудитории будет получать проблемы со звуком и видео, которые сложно диагностировать постфактум.
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →