Исправление проблем конфигурации BigBlueButton

Дата: 2026-01-08
Контейнер: BBB-CONT22-1
Проблема: Обнаружены проблемы при выполнении bbb-conf --check

Обнаруженные проблемы

1. Nginx: BigBlueButton appears to be disabled

Проблема:

- no symbolic link in /etc/nginx/sites-enabled/bigbluebutton to /etc/nginx/sites-available/bigbluebutton

Причина:
В директории /etc/nginx/sites-enabled/ находится обычный файл вместо символической ссылки на файл в /etc/nginx/sites-available/.

Решение:
Удалить обычный файл и создать символическую ссылку:

rm /etc/nginx/sites-enabled/bigbluebutton
ln -sf /etc/nginx/sites-available/bigbluebutton /etc/nginx/sites-enabled/bigbluebutton

2. Предупреждение о HTTPS в sip.nginx

Проблема:

Warning: You have this server defined for https, but in
  /usr/share/bigbluebutton/nginx/sip.nginx
 did not find the use of https in definition for proxy_pass
            proxy_pass http://10.218.14.37:5066;

Warning: You have this server defined for https, but in
  /usr/share/bigbluebutton/nginx/sip.nginx
 did not find the use of port 7443 in definition for proxy_pass
            proxy_pass http://10.218.14.37:5066;

Причина:
Сервер настроен для работы через HTTPS, но в конфигурации sip.nginx используется HTTP и порт 5066 вместо HTTPS и порта 7443.

Текущая конфигурация:

location /ws {
    proxy_pass http://10.218.14.37:5066;
    ...
}

Решение:
Изменить proxy_pass на использование HTTPS и порта 7443:

location /ws {
    proxy_pass https://10.218.14.37:7443;
    ...
}

Примечание:
FreeSWITCH настроен на прослушивание WSS (WebSocket Secure) на порту 7443 (wss-binding: :7443), поэтому proxy_pass должен использовать HTTPS.

3. Ошибка журнала (Journal file I/O error)

Проблема:

An error was encountered while opening journal file or directory 
/var/log/journal/524d3a88aad4472f9971cba5aa867181/system@000647832286807b-b823a805bf9ed939.journal~, 
ignoring file: Input/output error

Причина:
Проблема с файловой системой контейнера или поврежденный файл журнала systemd.

Решение:
Эта ошибка не влияет на работу BigBlueButton, но может указывать на проблемы с файловой системой. Для исправления можно:
1. Перезапустить контейнер
2. Очистить поврежденные файлы журнала (если проблема сохраняется)
3. Проверить состояние файловой системы контейнера

Автоматическое исправление

Создан скрипт для автоматического исправления проблем 1 и 2:

Скрипт: /home/cdto/DENKART/scripts/fix-bbb-conf-issues.sh

Использование:

# Использование с контейнером по умолчанию (BBB-CONT22-1)
./scripts/fix-bbb-conf-issues.sh

# Или с указанием контейнера
./scripts/fix-bbb-conf-issues.sh BBB-CONT22-1

Что делает скрипт:
1. Создает резервные копии текущих конфигураций
2. Исправляет символическую ссылку для nginx bigbluebutton
3. Обновляет конфигурацию sip.nginx для использования HTTPS и порта 7443
4. Проверяет синтаксис конфигурации Nginx
5. Перезагружает Nginx

Ручное исправление

Если предпочитаете исправить вручную:

Шаг 1: Исправление символической ссылки

lxc exec BBB-CONT22-1 -- bash
# Внутри контейнера
rm /etc/nginx/sites-enabled/bigbluebutton
ln -sf /etc/nginx/sites-available/bigbluebutton /etc/nginx/sites-enabled/bigbluebutton

Шаг 2: Исправление sip.nginx

# Создать кастомную конфигурацию (переопределит стандартную)
mkdir -p /etc/bigbluebutton/nginx
cp /usr/share/bigbluebutton/nginx/sip.nginx /etc/bigbluebutton/nginx/sip.nginx

# Изменить proxy_pass
sed -i 's|proxy_pass http://\([^:]*\):5066;|proxy_pass https://\1:7443;|g' /etc/bigbluebutton/nginx/sip.nginx

# Проверить изменения
grep proxy_pass /etc/bigbluebutton/nginx/sip.nginx

Шаг 3: Проверка и перезагрузка

# Проверить синтаксис
nginx -t

# Перезагрузить Nginx
systemctl reload nginx

Проверка исправлений

После применения исправлений выполните проверку:

lxc exec BBB-CONT22-1 -- bbb-conf --check

Ожидаемый результат:
- ✅ Символическая ссылка nginx создана
- ✅ Предупреждения о HTTPS в sip.nginx исчезли
- ⚠️ Ошибка журнала может остаться (не критично)

Резервные копии

Скрипт создает резервные копии в:

/tmp/bbb-conf-fix-backup-YYYYMMDD-HHMMSS/

Содержимое:
- sip.nginx.backup - резервная копия стандартной конфигурации
- sip.nginx.custom.backup - резервная копия кастомной конфигурации (если существовала)
- bigbluebutton.sites-enabled.backup - резервная копия файла из sites-enabled (если был обычным файлом)

Восстановление из резервной копии

Если что-то пошло не так:

lxc exec BBB-CONT22-1 -- bash
# Восстановить sip.nginx
cp /tmp/bbb-conf-fix-backup-*/sip.nginx.custom.backup /etc/bigbluebutton/nginx/sip.nginx
# Или удалить кастомную конфигурацию
rm /etc/bigbluebutton/nginx/sip.nginx

# Восстановить sites-enabled (если необходимо)
cp /tmp/bbb-conf-fix-backup-*/bigbluebutton.sites-enabled.backup /etc/nginx/sites-enabled/bigbluebutton

# Перезагрузить Nginx
systemctl reload nginx

Статус

  • ✅ Скрипт создан и готов к использованию
  • ⏳ Требуется выполнение для применения исправлений

Следующие шаги:
1. Запустить скрипт исправления
2. Проверить результат с помощью bbb-conf --check
3. Протестировать работу BigBlueButton