LINUX.ORG.RU

Развернуть Webinar платформу на собственном сервере

 webinar, онлайн семинар


0

1

В связи с известной ситуацией, возникла необходимость в быстром разворачивании платформы для проведения онлайн-семинаров (вебинаров) со студентами. Погуглил и нашёл несколько таких платформ (типа Apache OpenMeetings, BigBlueButton и др.), но как всегда хочется, чтобы всё, сразу и быстро :)

Собственно, вопрос, у кого есть опыт разворачивания на собственном сервере таких штук?

В идеале, конечно, хотелось бы просто взять уже готовый образ виртуальной машины (или docker), чтобы с минимум телодвижений это всё заработало. Под «это всё» я понимаю: трансляция с вебкамеры, возможность работать в режиме презентации, подключение до 20 человек (максимум), чат, голосовая связь. Лучше бы всё через браузер, конечно.

★★★★☆

Последнее исправление: Sahas (всего исправлений: 1)

тоже пришёл на ум BigBlueButton но я так давно его щупал, что пришла мысль аля «о, BigBlueButton. Жив ещё перделка» :D

thymikon
()

Мы юзаем прогу Zoom, нраицца.

Alve ★★★★★
()
Ответ на: комментарий от Sahas

Greenlight - это какая-то примочка, bbb работает через вебчик. Кто-то же его ставил недавно, мы даже там в чатике зажигали.
Shulman это был.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 2)
Ответ на: комментарий от Sahas

Ага, все правильно. При этом руководство по установке написано околоидеально… поэтому все разворачивается быстро… ну если что пиши подскажу

Shulman
()
Последнее исправление: Shulman (всего исправлений: 1)
Ответ на: комментарий от Shulman

crutch_master

Спасибо за информацию! Буду пробовать, если что — обращусь за советом :)

Sahas ★★★★☆
() автор топика

Shulman

В общем, я установил bbb в виртуалку, и там же в docker'е крутится Greenlight. Пока устанавливал, делал всё через http, а теперь надо прикрутить https. К bbb, вроде как, получилось его прикрутить, а вот Greenlight, зараза, всё равно через http ходит... Куда копать?

В файле .env для Greenlight прописано BIGBLUEBUTTON_ENDPOINT=http://192.168.1.233/bigbluebutton/

При попытке прописать BIGBLUEBUTTON_ENDPOINT=https://192.168.1.233/bigbluebutton/

docker run --rm --env-file .env bigbluebutton/greenlight:v2 bundle exec rake conf:check

выдаёт:

Checking environment: Passed
Checking Connection: Failed
Error connecting to BigBlueButton server - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (error number 1)

Sahas ★★★★☆
() автор топика
Последнее исправление: Sahas (всего исправлений: 1)
Ответ на: комментарий от Sahas

Ну так либо пропиши валидный сертификат, либо добавь самоподписанный в список доверенных CA

Либо, если тебе срать на безопасность - можешь отключить верификацию сертификатов. Но запомни - я тебе такого не советовал...

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Sahas

Либо в /etc/ssl, либо в /etc/pki. Зависит от того какой у тебя дистрибутив - без знания этого я тебе точный путь, увы, не подскажу.

Если бы у тебя там была Java, всё было бы еще сложнее, но у тебя там вроде Ruby(судя по rake), он ЕМНИП как все нормальные языки смотрит в системную базу сертификатов

P.S. А, и да, у тебя там Docker. Прописывать, как ты уже догадался, это нужно внутрь контейнера. И вот как это сделать через Docker... это на самом деле отличный вопрос :-). Не, можно конечно тупо «расшарить» /etc/ssl хостовой машины с контейнером. Но что-то это решение черезжопным попахивает.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 3)
Ответ на: комментарий от Pinkbyte

Спасибо!

похоже, надо было прописать https вместо http в настройках bbb... Правда, теперь вообще непонятно как работает...

Буду разбираться

Sahas ★★★★☆
() автор топика
Ответ на: комментарий от Pinkbyte

у меня сертификат на доменное имя, а я пытаюсь подключиться по ip... Как и где соотнести эти две вещи? В /etc/hosts?

wget https://192.168.1.233/
--2020-03-19 21:40:34--  https://192.168.1.233/
Connecting to 192.168.1.233:443... connected.
    ERROR: certificate common name ‘*.spbstu.ru’ doesn't match requested host name ‘192.168.1.233’.
Sahas ★★★★☆
() автор топика
Последнее исправление: Sahas (всего исправлений: 1)
Ответ на: комментарий от Sahas

В инструкции же шаг за шагом описан, или у тебя реально серый айпи будет основным?

Там же описано как прикрутить Let’s Encript прикрутить?

Shulman
()
Ответ на: комментарий от Shulman

SSL прикрутить удалось, но возникла другая проблема.

BBB крутится в виртуалке на хосте aero.spbstu.ru. У виртуалки IP 192.168.1.233. На хосте aero.spbstu.ru помимо BBB крутится ещё много чего (в том числе сайт), поэтому в настройках NGINX на aero.spbstu.ru стоит перенаправление, условно https://aero.spbstu.ru/webinar -> https://192.168.1.233/webinar

В настройках BBB везде прописан IP адрес внутренний (т.е. 192.168.1.233), и, соответственно, для Greenlight тоже он.

Когда я захожу на https://aero.spbstu.ru/webinar, я без проблем попадаю на главную страничку Greenlight, могу там делать разные действия...

НО: когда я захожу в комнату, Greenlight автоматически редиректит меня на https://192.168.1.233/html5client/join?sessionToken=yeehp2jly9beghi8. Поскольку я нахожусь «внутри» своей сети, то для меня спокойно открывается комната и всё работает (звук, камера и т.д.). Понятно, что заходя «извне» я получу шиш с маслом.

Если я пропишу вместо IP адрес сервера, т.е. https://aero.spbstu.ru/html5client/join?sessionToken=yeehp2jly9beghi8, то выдаётся следующая ошибка:

401
Unauthorized
Session yeehp2jly9beghi8 not found.
(в конфиге NGINX сервера прописан редирект https://aero.spbstu.ru/html5client -> https://192.168.1.233/html5client)

Не могу понять, как «заставить» greenlight выдавать имя моего сервера, а не IP

Sahas ★★★★☆
() автор топика
Ответ на: комментарий от Shulman

весь сервак плохо, там же куча сервисов крутится...

Похоже, это не в Greenlight дело, а в самом BBB... Думается мне, что страничка html5client генерится самим BBB. А он почему-то возвращает URL с IP вместо доменного имени. Что логично, поскольку в конфигах BBB везде прописано IP

Sahas ★★★★☆
() автор топика
Последнее исправление: Sahas (всего исправлений: 3)
Ответ на: комментарий от Shulman

Спасибо, вроде, что-то заработало... Но не всё — похоже, надо прописать редиректы на все доп. сервисы, которые BBB использует. В частности, ругается на WebSocket connection (error 1002) при попытке запустить аудио

Sahas ★★★★☆
() автор топика

Проблема: не получается редиректить websocket. Firefox пишет:

Fri Mar 20 2020 12:12:09 GMT+0300 (GMT+03:00) | sip.ua | · wsServers: [{"ws_uri":"wss://aero.spbstu.ru/ws","sip_uri":"<sip:aero.spbstu.ru;transport=ws;lr>","weight":0,"status":0,"scheme":"WSS"}]
...
Fri Mar 20 2020 12:12:09 GMT+0300 (GMT+03:00) | sip.transport | connecting to WebSocket wss://aero.spbstu.ru/ws
Firefox can’t establish a connection to the server at wss://aero.spbstu.ru/ws.

в конфиге /etc/bigbluebutton/nginx/sip.nginx

location /ws {
        proxy_pass https://192.168.1.233:7443/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_read_timeout 6h;
        proxy_send_timeout 6h;
        client_body_timeout 6h;
        send_timeout 6h;
}
Sahas ★★★★☆
() автор топика
Последнее исправление: Sahas (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.