Ставил недавно bigbluebutton, решил поделиться- вдруг да кому-то пригодится..
Задача: установить bigbluebutton для использования только в локальной сети. На сайте есть простой способ установки: берем сервер, у которого есть доменное имя и его видно из инета. Запускаем команду
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install-2.5.sh | bash -s -- -v focal-250 -s bbb.example.com -e notice@example.com -g
- ставится сам БББ, greenlight и создается сертификат, который надо обновлять раз в 3 месяца. Установка занимает полчаса.
Не получилось.
1. Нет доступа к repo.mongo... - запретили доступ из нашей страны. Выход- установка VPN на этом же сервере. Я брал отсюда: whoer.net - ищем там установку для Линукса- она там точно есть- надо только поискать.
2. Ставил в локальной сети, поэтому делал самоподписанный сертификат. Чтобы установка не вылетала из-за сертификата, сначала скачиваем установочный файл командой
wget --no-check-certificate https://ubuntu.bigbluebutton.org/bbb-install-2.5.sh && chmod 777 bbb-install-2.5.sh
, а потом запускаем командой
bbb-install-2.5.sh -v focal-250 -s имя_вашего_сервера -e эл_почта -g
Перед запуском- редактируем: убираем строчку "err "Let's Encrypt SSL request for $HOST did not succeed - exiting" (можно просто закомментировать), чтобы установка не вылетала из-за невозможности создать сертификат, а он не создастся, т.к. сервер стоит внутри сети и снаружи его не видно. Также в этом файле есть проверка на объем оперативки- можно подредактировать процедуру check_mem() , если у вас меньше 4Гб. Т.к. будет самоподписанный сертификат- перед установкой запускаем команду:
echo insecure > /root/.curlrc
В конце запускаем
systemctl status nginx
(хотя, она вроде сама запустится после установки)- видим, что ругается на то, что в папке нет сертификатов(они не создались, потому что). Делаем их вручную(см п.6), кладем туда, куда просит и снова запускаем установку. После окончания установки- отключаем ВПН.
4. Запускаем
bbb-conf --check
(он вроде тоже после установки запускается) которая выведет кучу информации. Т.к. мы запускали через ВПН, то увидим там левые IP-адреса. Нужно пройтись по всем файлам, где они упоминаются и поменять на IP вашего сервера
5. Убеждаемся, что сервер пингуется по имени. После этого идем по ссылке https://ваш_сервер Вроде бы все хорошо, но при попытке перейти по некоторым ссылкам выходит сообщение "Проверьте BigBlueButton Endpoint и Secret"
Запускаем:
docker run --rm --env-file .env bigbluebutton/greenlight:v2 bundle exec rake conf:check
и видим, что он ругается на сертификат.
Идем в ~/greenlight и создаем там папку ssl и файл Dockerfile
Содержимое Dockerfile:
FROM bigbluebutton/greenlight:v2
COPY ./ssl/fullchain.pem /root/
RUN cp /root/fullchain.pem /usr/local/share/ca-certificates/ \
&& /usr/sbin/update-ca-certificates
В папку ssl кладем файл fullchain.pem (см п.6)
Запускаем команды:
docker-compose down
docker-compose up -d --build
systemctl restart docker
После этого запускаем
docker run --rm --env-file .env bigbluebutton/greenlight:v2 bundle exec rake conf:check
и видим, что все проверки прошли.
После этого лучше перезагрузить сервер.
Должно все работать. Если не работает- смотрим:
systemctl status nginx
bbb-conf --check
docker run --rm --env-file .env bigbluebutton/greenlight:v2 bundle exec rake conf:check
- ошибок быть не должно
6. Создание самоподписанного сертификата. Должен быть установлен openssl
Создаем файл req.cnf Его содержимое:
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
C = RU
ST = VA
L = Kirov
O = XZ
OU = XZ
CN = serv.my.local
[v3_req]
keyUsage = critical, digitalSignature, keyAgreement
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = www.serv.my.local
DNS.2 = my.local
DNS.3 = serv.my.local
DNS.4 = https://serv.my.local
Где serv.my.local - имя вашего сервера, есс-но

Запускаем:
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
-keyout privkey.pem -out fullchain.pem -config req.cnf -sha256
Если req.cnf заполнить неправильно- особенно поле CN и раздел alt_names - то браузеры будут ругаться на сертификат, несмотря на то, что вы его добавите в "Доверенные корневые центры.." в браузере.
Получаются 2 файла, кладем их в папку в п.2 и в п.5
Поправил форматирование. Не благодарите. Впредь прошу оформлять свои ссобщения согласно правил форума.