Похоже вы используете более старую версию поддерживаемого браузера bigbluebutton

Обновлено: 07.07.2024

Все настройки BigBlueButton можно разделить на две группы: настройки клиента и настройки сервера.

Базовые настройка клиента

Что из config.xml может Вас заинтересовать?
Если у Вас есть собственный файл справки, то можете изменить элемент help:

Выбор языка интерфейса? Не знаю как Вам, а мне вполне достаточно одного языка. Можно убрать лишний элемент управления:

Элемент skinning позволяет установить другой скин! Вот это уж точно должно Вас заинтересовать!

Что еще можно посмотреть в config.xml?

Модули

Далее в файле config.xml идет перечень подключаемых модулей:

Я думаю, что всем понятно из названия за что отвечает модуль ChatModule. У большинства описаний модулей есть атрибут position, позволяющий изменить положение модуля. Остальные атрибуты меняют значения по умолчанию различных параметров, для каждого модуля набор атрибутов свой.
Есть ещё кое-что: в самом конце конфигурационного файла есть описания еще трех модулей. Они отключены (закомментированы).

Для включения модулей достаточно убрать комментарии.
С включенными модулями ExampleChatModule и SharedNotesModule Ваш клиент не запустится, т.к. этих модулей просто нет с системе, а вот модуль DynamicInfoModule имеется, после его включения в верхней строке Вашего клиента появится дополнительная информация. Настройка модуля DynamicInfoModule находится рядом с config.xml в файле example-info-data.xml, можете создать свой файл, только не забудьте указать его имя в атрибуте infoURL описания модуля.
Конфигурация example-info-data.xml демонстрирует все возможности этого модуля: вы можете вывести дополнительную текстовую информацию, выпадающие списки и даже создать свои кнопки.

Следующим шагом, возможно, Вам захочется изменить (или хотя бы просто перевести) текст приветствия по умолчанию, отображаемого в чате.

Простое изменение кодировки Вам не поможет, серверу нужен текст UTF-8 в формате ASCII, что-то типа этого: «\u0442\u0435\u0441\u0442».
Перекодировку туда/обратно умеет делать утилита native2ascii, она входит в JDK.

На сегодня Всё!
Всем заранее спасибо за комментарии, замечания и дополнения!



У всех нас может возникнуть потребность в проведении видеоконференции. Цели могут быть разные: совещание, обучение, а быть может и просто чтобы поболтать с друзьями.

Инструментов для таких задач сейчас представлено немало, но в рамках этой статьи хотелось бы остановиться именно на BigBlueButton. Главная идея при разработке данной платформы — «Она должна быть проста в использовании как большая синяя кнопка».

В данной статье мы поговорим о том, как установить BigBlueButton на свой сервер. Кому интересен данный вопрос — добро пожаловать под кат.

▍ Системные требования


На момент написания данной статьи версия BigBlueButton 2.3 является самой свежей. Посмотрим минимальные системные требования для сервера в документации к BBB:
Если Вы устанавливаете BigBlueButton для локальной разработки на рабочей станции, Вы можете пренебречь некоторыми требованиями, поскольку к серверу будет подключаться лишь несколько клиентов. Ориентируясь на требования выше, Вы можете понизить их следующим образом:
  • 4 CPU cores/8 GB of memory
  • Installation on a local VM container
  • 50G of disk space
  • IPV4 address only

Вне зависимости от конфигурации оборудования, на сервер нужно будет установить SSL-сертификат. Причина в следующем: чтобы пользователи могли делиться аудио- и видеопотоками со своих компьютеров, все браузеры требуют валидный SSL-сертификат, дабы дать доступ к веб-камере и микрофону пользователя через WebRTC. Если подключаться к BigBlueButton только по IP-адресу, то браузеры заблокируют клиенту BBB доступ к веб-камере и микрофону.

▍ Заказ сервера

Для начала нам нужен сервер для размещения на нём BigBlueButton. На случай если он уже имеется — пролистайте до следующего раздела.


Переходим на сайт RUVDS.
Нажимаем на «Выбрать VPS».

В разделе «Своя конфигурация» нажимаем на «Собрать».


Выбираем из списка нужный дата-центр.


Пролистываем чуть ниже и выбираем нужную конфигурацию сервера. Напомним, что если сервер нужен для проведения видеоконференций, то необходимо 8 ядер CPU и 16 ГБ RAM. Если же на нём предполагается разработка, то будет достаточно 4 ядер и 8 ГБ соответственно.
В случае, если предполагается запись видеоконференций, объём диска должен быть не менее 500 ГБ. Если же не предполагается, то достаточно 100 ГБ; будет с небольшим запасом.
В качестве шаблона сервера выбираем «Docker CE — Ubuntu 18.04».
Затем выбираем необходимый срок аренды сервера.


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


Появится форма выбора метода оплаты. Выбираем наиболее удобный и проходим через процедуру платежа.


Появится список, содержащий только что заказанный сервер. Все необходимые данные для подключения (IP-адрес, user, password) будут находиться в соответствующих полях.

▍ Привязка доменного имени к серверу

Для корректной работы и получения SSL-сертификата, к серверу должно быть привязано доменное имя. Если оно уже привязано — пролистайте до следующего раздела.


Далее нажимаем «Оформить заказ».


Затем кликаем «Use DNS».


В появившихся полях выбираем срок предоставления доменного имени, IP-адрес сервера и нажимаем кнопку «Continue».


В появившейся форме вводим валидный адрес электронной почты и нажимаем «Verify My Email Address».


Проверяем входящую почту на предмет пришедшего письма от Freenom. В пришедшем письме переходим по ссылке валидации.


В открывшейся форме заполняем поля.


После заполнения формы ставим флажок, соглашаясь с условиями, и нажимаем на «Complete Order».

Потребуется некоторое время, пока обновленная информация о доменных записях распространится между другими DNS-серверами. Это может занять до 24 часов.

▍ Подготовка и проверка перед установкой

Итак, у нас есть сервер с 64-битным Ubuntu версии 18.04, с привязанным доменным именем. Перед тем как приступать непосредственно к инсталляции, проведём несколько проверок, чтобы убедиться, что сервер соответствует минимальным требованиям.
Проведение этих проверок сильно уменьшает шансы столкнуться с проблемами в процессе установки.
Также, установим необходимые пакеты и обновим сервер.

Подключимся к серверу по SSH. Инструкцию для пользователей Windows можно найти здесь.

Также, если мы подключаемся под пользователем root, то префиксы команд sudo везде ниже не нужны.

❒ В первую очередь обновим сервер:


❒ Затем установим пакет gnupg:


❒ Убедимся, что локаль сервера — en_US.UTF-8:


❒ Затем нужно выйти из SSH-сессии и зайти снова, это перезагрузит настройки локали для сессии.
Наберём команду cat /etc/default/locale. Необходимо убедиться, что есть только одна строка LANG=«en_US.UTF-8».

Если Вы видите ещё одну строку LC_ALL=en_US.UTF-8, уберите её из /etc/default/locale, после чего завершите SSH-сессию и откройте её снова.

❒ Далее, выполняем команду sudo systemctl show-environment и убеждаемся, что видим LANG=en_US.UTF-8:


Если LANG=en_US.UTF-8 нет, то выполняем команду sudo systemctl set-environment LANG=en_US.UTF-8, а затем ещё раз выполняем sudo systemctl show-environment, чтобы убедиться, что в выводных данных LANG=en_US.UTF-8

❒ Затем убедимся, что на сервере есть 16 ГБ оперативной памяти при помощи команды free -h. Выводные данные должны быть примерно такими:


Если в строке Mem в столбце total менее 15G, то серверу недостаточно памяти для запуска BigBlueButton в боевом режиме, и необходимо увеличить количество памяти хотя бы до 16G. Впрочем, если Вы планируете использовать сервер для задач разработки, 8G будет достаточно.

❒ Далее, убедимся, что на сервер установлена Ubuntu 18.04:


❒ Удостоверимся, что запущена 64-разрядная версия Ubuntu:


❒ Далее, проверим, что сервер поддерживает IPv6:


Если нет строки inet6 ::1/128 scope host, то после установки BigBlueButton нужно будет внести изменения в настройки FreeSWITCH, чтобы отключить поддержку IPv6.

❒ Следующим шагом убедимся, что сервер запущен на ядре Linux v.4.x:


❒ Далее, проверим, что у сервера есть минимум 8 ядер. Напоминаем, что для задач разработки достаточно 4 ядра:


Итак, мы закончили предустановочные проверки и настройки. Следующий шаг — непосредственно установка BigBlueButton.

▍ Установка BigBlueButton

Установка BigBlueButton производится скриптом bbb-install.sh. Данная ссылка содержит подробную информацию по использованию данного скрипта.

После того как скрипт bbb-install.sh закончит свою работу, можно проверить состояние сервера командой bbb-conf --check.

Также, можно использовать команду sudo bbb-conf --status чтобы проверить все ли процессы BigBlueButton стартовали и работают.

Итак, мы рассмотрели системные требования к BigBlueButton, выполнили предустановочные операции и провели установку продукта.
Перейдём по ссылке на свой демо-сайт, у меня это был: bbb-test.cf и посмотрим что мы получили в итоге.

Появится приветственное меню. Введём в поле ввода своё имя и нажмём «Join» :


Затем давайте попробуем включить микрофон в конференции:


Разрешаем доступ к микрофону:


Нажимаем на «Да», если наш голос слышен, или на «Нет» в противном случае:


Итак, открылась сама конференция:


В ней уже можно проводить собрания, несмотря на то, что это API — демонстрационное.
Если потребуется разработать что-либо на базе BigBlueButton, продукт обладает обширной документацией, что здорово поможет в деле.

Ну что же, пора и завершаться. Стабильной работы оборудования и приятных конференций!

error_log с основного сервера


На тестовом сервере эта команда работает, но после добавления в курс и ввода названия конференции BigBlueButton выдает ошибку:

" Debug info: ОШИБКА: нулевое значение в колонке "meetingid" нарушает ограничение NOT NULL
DETAIL: Ошибочная строка содержит (22, 0, 360, 345, , 1, null, ********, ********, 0, 1, , 0, 0, 0, 1542716824, 0, , [,INSERT INTO xxx_bigbluebuttonbn
"
Причем, в БД префикса "xxx_" нет, есть только таблица с нормальным префиксом mdl_ , то есть mdl _bigbluebuttonbn. Пробовали дублировать имеющиеся таблицы mdl_bigbluebuttonbn и mdl_bigbluebuttonbn_log, и переименовать их с префиксом "ххх_", не помогло.
Префикс не ххх_ конечно, просто написал чтобы скрыть название организации)))
Лог с тестового:

error_log с тестового сервера

Доступа в серверу BBB нет. Сисадмин говорит, что не там ищем, когда начинаем подозревать неполадки на самом сервере BBB.
Что случилось, не ясно. Работало несколько лет нормально и тут такое.

Может сталкивался кто? Есть идеи?

Сразу предупреждаю: с BigBlueButton плотно не работал, так, эксперименты на локалке ставил

  1. Какая версия модуля установлена? Судя по 2.9.1, то mod_bigbluebuttonbn - 2.1.14, верно?
  2. Беглый просмотр кода модуля показал, что ошибка general_error_unable_connect возможна в 2-х случаях: на странице /admin/settings.php?section=modsettingbigbluebuttonbn указан неверный адрес сервера BBB или сервер BBB вовсе не работает.
  3. По поводу таблиц в БД. Посмотрите install.xml из каталога db модуля своей версии и сравните поля таблицы bigbluebuttonbn с теми, которые на скрине с ошибкой INSERT INTO . Я вижу, что поля как-то не совсем соответствуют, мягко говоря. А поле meetingid вовсе в вашем запросе отсутствует. Проверяйте структуру таблиц.

Возможно, он прав Нужно попробовать снести модуль и установить заново, но данные всех конференций будут утеряны.

Спасибо за ответ
1. Да, на основном сервере плагин версии 2.1.14. На тестовом 2.2.6.
2. Ну незнаю . Сервер BBB один для двух серверов мудл. Сам по себе он работает, если в браузере переходить по адресу сервера BBB указанного в настройках плагина. С основного мудла не получается подключится вообще, а с тестового хотя бы подключение к серверу работает.
3. "По поводу таблиц в БД. Посмотрите install.xml из каталога db модуля своей версии"
Это на сервере мудл или на БД?? Просто на серваке мудл не видал такого когда искал возможные причины.

Еще раз спасибо за ответ.

Это в Мудл, плохо искали. Каждый плагин, хранящий свои данные в базе данных, содержит каталог db, а в нем файл install.xml, из которого и создаются таблицы в БД при установке плагина.

Откройте папку /mod/bigbluebuttonbn/db и посмотрите этот файл install.xml, в нем прописаны 2 таблицы с полями, сравните с полями из запроса на вашем скрине с ошибкой.

Да, ещё посмотрите в Moodle тут: «Администрирование ► Разработка ► Редактор XMLDB», ссылка «Проверить внешние ключи». Думаю, там будет интересное.

проверка внешних ключей

Проверка внешних ключей показала следующее:

Я так понимаю, это не должно влиять на BBB.
Да и с неверным префиксом я разобрался.Префикс правильный. Оказалось , что я посмотрел неверную БД. У нас на сервере их много очень, вот и перепутал. А вот пока к настоящей БД не могу подключится посмотреть таблички, нет прав доступа. Чуть позже ещё посмотрю.

нет кнопки удалить

И еще одна загвоздка. Плагин похоже переустанавливали только на основном сервере, так как на тестовом сервере кнопки "удалить" как таковой вовсе нет.

Я упустил из виду, что скрин ошибки с тестового сервера, а на нем поля соответствуют install.xml. Нужно разбираться, почему в meetingid передается 0. Не связано ли это с тем, что у вас Postgres, а в дополнительных модулях иногда SQL-запросы «запилены“ под MySQL? Сталкивались с таким в каком-то модуле.

Вы не сможете удалить BigBlueButton и ссылка «Удалить» не появится, пока не удалите сначала модуль записи видео. У вас же на скрине видно, что mod_bigbluebuttonbn требуется для mod_recordingsbn

Да, у нас Postgres

Пробовал переустанавливать ВВВ. При удалении mod_recordingsbn выдавал ошибку (что то про права было написано). После перезагрузки сервера и выставления полного доступа папке с мудлом, наконец удалил и переустановил ВВВ. Всё заработало.
С тестовым сервером разобрались.
Огромное спасибо Вам, Вадим. Без ваших советов навряд ли сумели так оперативно разобраться. Всё таки вы человек знающий, а я так, компьютеры чиню

Осталась проблема с основным сервером, который даже не может получить ответ от сервера ВВВ ("wget -O - --quiet http://******/bigbluebutton/api; echo "), но при этом пинг проходит.

ЗЫ: тестовый заработал, будет проще - сравнивайте настройки основного и тестового. Машины же разные? Где-то порт закрыт, маршрут не тот

И я бы попробовал основной обновить, старая версия Мудл + старая версия модуля BigBlueButton (а разница с новой версией большая) - глюки могут быть

Вадим, адрес вида ***/bigbluebutton/api должен просто вернуть версию api, в зависимости от которой путь входа в перспективе может быть разным (но пока он один и тот же). Поэтому запрос по этому адресу всегда должен вернуть хоть что-нибудь, и не требует данных для авторизации

У вас, вероятно, достаточно сложная система маршрутизации внутри подсети серверов.

Например, если используется проброска портов, на внешнем интерфейсе маршрутизатора, но не используется на внутреннем, а dns-имя указывает на адрес внешнего интерфейса.

Кроме пинга пробуйте делать трассировку, она покажет, если пакеты ходят по кругу.

Сделайте nslookup, чтобы выяснить, какой адрес у интерфейса, куда идет обращение, и находится ли он в локальной сети.

Сделайте telnet **** 80 или telnet **** 443 чтобы убедиться, что 80 и 443 порт открыт для вас на bbb.

В итоге пропишите в hosts на moodle для сервера bbb такой ip, чтобы запросы шли минуя реверсные прокси, маршрутизаторы и т.п.

Ubuntu 16.04, в Big Blue Button не работает отображение презентаций, при этом в логе такое:

То есть серт я обновил, и wget все устраивает, а что нужно этой программе?



apt-cache search big blue
tenmado - hard-core shoot 'em up game in blue-or-red world


Deathstalker , ты?


если ты ТП big blue - помоги человеку, не хорохорся!

darkenshvein ★★★★★ ( 01.10.21 16:22:17 )
Последнее исправление: darkenshvein 01.10.21 16:22:27 (всего исправлений: 1)



у меня wget выдавал эту же ошибку, я ее исправил, но в этой службе ошибка осталась.

вообще сюда написал только чтобы шквор себе, а контент лору.

ни на чью помощь особо не расчитываю

Там часть в докере крутится, в нем тоже надо корневые обновить. Либо свой составной сделать.


Я докер обновил, без этого Greenlight не хотел авторизовывать


гм. была проблема в сертификате nginx

Удалил из fullchain.pem 3-й сертификат ( который intermediate ) - все заработало.



Если у тебя в nginx указан файл сертификата fullchain.pem (или .cer) внутри которого 3 сертификата.

Сохрани третью секцию от "-----BEGIN CERTIFICATE-----" по "-----END CERTIFICATE-----" в файл и посмотри его

nginx-у не забудь сделать reload

PS перед этим было сделано

в /etc/ca-certificates.conf и выполнено update-ca-certificates (по статье в хабре) vel ★★★★★ ( 01.10.21 21:05:35 )
Последнее исправление: vel 01.10.21 21:26:12 (всего исправлений: 2)


Спасибо! Пионеры тебя будут помнить!


Скажи вот что, я поставил последнюю версию certbot из snap, далее я делал

и установку последней версии ca-certificates + update-ca-certificates

после чего пробовал перегенерить среты лестенкрипта, а он упорно тянет эту фигню, не повторится ли проблема после того, как certbot снова пересоздаст серты?


обрезает строку в конце, вместо переноса, так что на github БББ не зря делали именно как показал я


Я не использую corebot.

У меня сертификаты обновляются централизовано, т.ч. удалить промежуточный сертификат не проблема.

Читайте также: