Почему не работает jitsi meet
Перейти к содержимому

Почему не работает jitsi meet

  • автор:

Все в порядке, но.

Этот текст мало кто будет читать и мы можем написать здесь все, что угодно, например.
Вы живете в неведении. Роботы уже вторглись в нашу жизнь и быстро захватывают мир, но мы встали на светлый путь и боремся за выживание человечества. А если серьезно, то.

В целях обеспечения безопасности сайта от кибератак нам необходимо убедиться, что вы человек. Если данная страница выводится вам часто, есть вероятность, что ваш компьютер заражен или вы используете для доступа IP адрес зараженных компьютеров.

Если это ваш частный компьютер и вы пытаетесь зайти на сайт, например, из дома — мы рекомендуем вам проверить ваш компьютер на наличие вирусов.

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

  • © 2005-2023, «4PDA». 4PDA® — зарегистрированный товарный знак.

Jitsi

решено

Jitsi. При подключении 3-го участника, отваливается видео и звук у всех.

Программа для видеоконференций

решено

Jitsi vs Matrix vs Эскобар

jitsi riot видеозвонки

Не могу увеличить один экран в jitsi

jitsi приложение экран

Jitsi CORS | Nginx вываливается в 405 на постах

cors header http

Посоветуйте аналог Jitsi с работой на мобильных браузерах

asterisk jitsi skype

решено

jitsi meet и мобила

Расскажите про Jitsi и Jitsi Meet

jitsi конференция мессенджер

Замена скайпу для видеоконференций/вебинаров

jitsi skype вебинар

Говорилка для терминала

jitsi sip голос

Проблемы с именем хоста JITSI-MEET

jitsi rocketchat ubuntu

Браузерное средство телеконференций(интервью, общение)

interview jitsi voice

Asterisk нет входящего звука

Аналоги для корпоративного общения

Openfire Jingle как заставить работать?

jingle jitsi openfire

Jitsi — аудио и видео не работает за NAT.

«Альтернатива Скайпу» — сбор опробованных свободных вариантов для видео-связи

jitsi sip skype

Jitsi videobridge: не перебрасывает пакеты.

jabber jitsi openfire

SIP(Астериск) и демонстрация экрана

asterisk blink jitsi

Jitsi проблема с сайтом

решено

В openfire проиходит сбой после которого к нему нельзя подключиться до перезагрузки

centos jitsi openfire

jitsi хранение истории

Не работает webrtc через nat

jitsi nat openfire

черный экран, Logitech Webcam Pro 9000

Установка и настройка Jitsi Meet на Ubuntu 22.04

Инструкция про установку и базовую настройку Jitsi Meet: как подготовить систему, настроить аутентификацию для создания конференций и не только.

Введение

В этой статье мы расскажем, что такое сервер видеоконференций Jitsi Meet и как установить его на свой сервер. Мы будем рассматривать настройку публичного сервера, доступного из интернета. Поэтому выпустим бесплатный TLS-сертификат от Let’s Encrypt и добавим обязательную авторизацию для создания конференций.

Что такое Jitsi Meet

Jitsi Meet — это бесплатный сервис для проведения аудио/видео конференций с открытым исходным кодом. Поддерживает все необходимые для конференц-связи функции: создание нескольких залов, демонстрацию экрана, запись конференции, общение в чате и так далее. Для подключения можно использовать браузер или отдельный клиент, который есть для всех популярных платформ: Windows, MacOS, Linux, Android, iOS.

В отличие от других аналогичных сервисов, вроде Zoom или Google Meet, Jitsi Meet можно установить на свой сервер. Это значит, вы не зависите от стороннего сервиса и полностью контролируете свои данные. Jitsi Meet состоит из различных модулей. Часть из них — основные модули, которые составляют ядро системы. Другие — дополнительные, которые позволяют кастомизировать Jitsi Meet и добавлять функциональность при необходимости.

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

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

  • Сеть. Небольшому серверу для общения с друзьями или небольшой командой будет достаточно скорости 1 Гбит/с, но для серьезного сервера на большое число конференций рекомендуется скорость 10 Гбит/с.
  • RAM. В большинстве случаев рекомендуется 8 ГБ оперативной памяти. Для небольших совещаний можно обойтись 4 ГБ, а для тестирования можно вообще ограничиться 2 ГБ. Использовать больше 8 ГБ не рекомендуется — лучше создать кластер из нескольких серверов, а не добавлять больше памяти.
  • CPU. Для большинства ситуаций хватит 4х ядер процессора физического сервера. Если Jitsi Meet развернут на VPS, то процессор будет делить время с другими потребителями этого сервера, и в этой ситуации лучше использовать больше ядер.
  • Диск. Вполне будет достаточно 20 ГБ HDD. Можно использовать и SSD, но особой оптимизации это не даст.

Создание виртуальной машины на платформе Selectel

Перед началом установки Jitsi Meet мы создадим виртуальную машину, где будем разворачивать этот сервис. В разделе Облачная платформа выберем Серверы и нажмем кнопку Создать сервер.

создание виртуальной машины

Переходим в интерфейс создания новой виртуальной машины.

конфигурация и проверка ssh-ключа

  • В первую очередь выберем источник образа — Ubuntu 22.04.
  • Затем выберем конфигурацию CPU и RAM. Так как мы создаем тестовый сервер, будет достаточно 2 CPU и 4 ГБ RAM.
  • Выбираем HDD-диск размером не менее 20 ГБ, как того требует Jitsi Meet.
  • Выбираем существующую публичную подсеть или создаем новый публичный IP-адрес. Мы планируем настраивать публичный адрес, поэтому сервер должен быть доступен всем из интернета.
  • Обязательно проверьте, что выбрали правильный SSH-ключ для подключения к машине.

После создания сервера подождем несколько минут, пока виртуальная машина настраивается и загружается. После этого в списке серверов мы увидим новый сервер. Копируем публичный IP-адрес и подключимся к нему по SSH с использованием ключа, который мы выбрали при создании машины.

копируем публичный ip-адрес

Мы подготовились к установке и настройке Jitsi Meet.

Открытие портов брандмауэра

Для работы Jitsi Meet на сервере должны быть открыты несколько обязательных портов:

  • 80/TCP – Если используется Let’s Encrypt, этот порт нужен для выпуска и обновления TLS-сертификата.
  • 443/TCP – Для общего доступа к Jitsi Meet, в том числе через браузер.
  • 10000/UDP – Для проведения аудио/видео конференций.
  • 5349/TCP – Резервный порт для аудио/видео конференций на случай, если UPD-порт 10000 заблокирован.

Чтобы открыть эти порты, выполним команды:

iptables -I INPUT -p tcp --match multiport --dports 80,443 -j ACCEPT
iptables -I INPUT -p tcp --dport 10000 -j ACCEPT
iptables -I INPUT -p tcp --dport 5349 -j ACCEPT

Чтобы эти настройки сохранились и после перезагрузки сервера и брандмауэр не блокировал подключения, установим пакет iptables-persistent и сохраним правила:

apt install iptables-persistent
netfilter-persistent save

Перед началом установки Jitsi Meet нужно выбрать имя домена, на котором будет доступен сервер. Мы для примера во всех настройках будем использовать доменное имя meet.my-domain.com. Во всех последующих инструкциях заменяйте это имя на свое.

Для начала вам нужно добавить в DNS запись с типом A, которая будет указывать на IP-адрес вашего сервера. В зависимости от вашего регистратора доменных имен, это делается по-разному, поэтому обратитесь к соответствующей документации вашего провайдера.

Далее нужно настроить сервер, чтобы также установить соответствие доменного имени и IP-адреса. Выполним команду:

hostnamectl set-hostname meet.my-domain.com

Затем добавим в файл /etc/hosts запись вида:

5.159.102.117 meet.my-domain.com

где 5.159.102.117 – публичный IP-адрес вашего сервера.

Установка сервера видеоконференций Jitsi Meet

Мы будем устанавливать Jitsi Meet на виртуальную машину с Ubuntu 22.04. Для начала убедимся, что в системе активирован репозиторий universe, который необходим для установки зависимостей:

sudo apt-add-repository universe

Далее добавим репозиторий Prosody. Это кроссплатформенный XMPP-сервер, который используется в Jitsi «под капотом»:

curl -sL https://prosody.im/files/prosody-debian-packages.key | sudo tee /etc/apt/keyrings/prosody-debian-packages.key echo "deb [signed-by=/etc/apt/keyrings/prosody-debian-packages.key] http://packages.prosody.im/debian $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/prosody-debian-packages.list apt install lua5.2

Теперь добавим непосредственно репозиторий Jitsi Meet:

 curl -sL https://download.jitsi.org/jitsi-key.gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/jitsi-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/" | sudo tee /etc/apt/sources.list.d/jitsi-stable.list

Обновим список пакетов:

sudo apt update

Теперь установим Jitsi Meet. Установщик сам убедится, что в системе присутствует Nginx или Apache и сконфигурирует виртуальный хост для веб-сервера. Если у вас уже запущен какой-либо сервер на порту 443, установка завершится ошибкой из-за конфликта, т.к. Jitsi Meet тоже использует этот порт.

sudo apt install -y jitsi-meet lua-unbound

Вскоре запустится интерактивный установщик, который периодически будет требовать выбрать те или иные опции:

  • На первом экране нужно указать домен, на котором будет располагаться ваш сервер. Мы для примера используем meet.my-domain.com.
  • Далее необходимо определиться с SSL-сертификатом. Установщик может самостоятельно выпустить сертификат через Let’s Encrypt, использовать ваш сертификат или выпустить новый самоподписанный. Мы выберем первый вариант — выпуск сертификата через Let’s Encrypt.
  • Далее нужно указать e-mail адрес, как того требует соглашение сервиса Let’s Encrypt. На этот адрес будут приходить уведомления, в том числе об истечении сертификата.

Если DNS-записи вашего домена настроены правильно, то через несколько минут Jitsi Meet автоматически сгенерирует сертификат Let’s Encrypt и поместит его в нужный каталог.

Настройка аутентификации пользователей

По умолчанию в Jitsi Meet любой пользователь может создавать конференции. Если сервер развернут внутри корпоративной сети, тогда такой вариант может вам подойти. Но если разворачивать публичный сервер, необходима авторизация. Мы настроем Jitsi Meet так, что создавать конференции смогут только зарегистрированные пользователи, а подключаться к ним — кто угодно.

Для начала отредактируем файл:

/etc/prosody/conf.avail/meet.my-domain.com.cfg.lua

В разделе VirtualHost «[meet.my-domain.com]» заменим анонимную аутентификацию на аутентификацию с паролем:

VirtualHost "jitsi-meet.example.com" authentication = "internal_hashed" 

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

VirtualHost "guest.jitsi-meet.example.com" authentication = "anonymous" c2s_require_encryption = false

В данном случае поддомен guest необходим только для настроек Jitsi. Для него не нужно создавать DNS-запись, генерировать TLS-сертификат или настраивать веб-сервер.

Далее будем редактировать файл:

/etc/jitsi/meet/meet.my-domain.com-config.js. Нужно найти в нем строки: hosts: < // XMPP domain. domain: 'meet.my-domain.com',

И добавить строку anonymousdomain: ‘guest.meet.my-domain.com’, чтобы в итоге получилось так:

 hosts: < // XMPP domain. domain: 'meet.my-domain.com', anonymousdomain: 'guest.meet.my-domain.com',

Тем самым мы указываем, на каком хосте нужно выполнять аутентификацию анонимных пользователей.

Следующим шагом редактируем файл /etc/jitsi/jicofo/jicofo.conf. Найдем в нем раздел jicofo и добавим в него новый блок:

authentication:

Настройка Jitsi Meet завершена. Нам остается только создать пользователей, которые смогут создавать конференции. Для этого выполним команду:

sudo prosodyctl register meet.my-domain.com

Осталось перезапустить все компоненты Jitsi, чтобы применить выполненные настройки:

sudo systemctl restart prosody jicofo jitsi-videobridge2

Начало работы с Jitsi Meet

Теперь немного попробуем использовать Jitsi в действии. Открываем в браузере адрес нашего сервера, например https://meet.my-domain.com.

адрес сервера в jitsi meet

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

создаем комнату

Дальше появляется окно, в котором Jitsi предлагает нам залогиниться. Нажимаем кнопку I’m a host, вводим логин и пароль созданного пользователя. Наша настройка авторизации для создания конференций работает.

Теперь попробуем залогиниться в эту комнату анонимно, чтобы проверить вторую часть конфигурации. Для этого копируем из адресной строки ссылку и открываем ее в приватной вкладке или в другом браузере. Подключаемся к конференции, при этом Jitsi не запросит логин и пароль, т.к. комната уже создана и подключаться к ней может любой желающий.

Заключение

Мы рассмотрели установку и базовую настройку Jitsi Meet на Ubuntu 22.04. Подготовили систему к установке, автоматически выпустили TLS-сертификат, а также настроили обязательную аутентификацию для создания конференций.

Зарегистрируйтесь в панели управления

И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.

Почему не работает самоподписанный сертификат?

Помогите разобраться, я плохо понимаю тему с сертификатами.
Устанавливаю Jitsi Meet с помощью Docker.
Допустим мой сервер на Убунту, выполняющий роль удостоверяющего центра (CA), называется Hostname1. С помомощью мануалов из Интернета (https://redos.red-soft.ru/base/server-configuring/. ) установил EasyRSA и выпустил сертификат для СА-сервера. Назвал его ca.crt.
Далее сделал запрос сертификата для сервера и выпустил сертификат hostname1.crt (уже для сервера, а не CA, хотя это одна и та же машина).
Скопировал оба сертификата в /etc/ssl/certs. Ввел "dpkg-reconfigure ca-certificates", выбрал там эти сертификаты.
Далее я устанавливал эти сертификаты на компьютер пользователя (Windows) в доверенные корневые центры сертификации. Так вот, когда я копирую туда ca.crt, то соединение с сервером успешно устанавливается. А когда удаляю ca.crt и копирую вместо него hostname1.crt, то нет.
Как сделать правильно?

И второй вопрос, который лучше на форуме Jitsi задать, но вдруг тут ответят:
Вот что у них сказано про самоподписанные сертификаты:
https://jitsi.github.io/handbook/docs/devops-guide.
Какой сертификат здесь имеется в виду? В моем случае это ca.crt или hostname1.crt?

P.S. чтобы окончательно запутаться, я сделал запись CNAME в DNS на имя jitsimeet.domainname (хочу дать пользователям понятное имя сервиса, но не переименовывать сам сервер). Аналогично сертификату hostname1.crt выпустил новый сертификат jitsimeet.crt, установил туда же. Все эксперименты делаю именно с ним.

  • Вопрос задан 15 дек. 2022
  • 560 просмотров

3 комментария

Средний 3 комментария

Valentin Barbolin @dronmaxman
Зачем самоподписанный сертификат в 2022 году можно использовать бесплатный от LetsEncrypt?
RedFirefly @RedFirefly Автор вопроса

Andrey Barbolin, нет возможности вытащить этот сервер в интернет.
Я бы и сам хотел поупражняться с LetEncypt. А то не знаю про это ничего. Там, вроде, надо доменное имя иметь, а, насколько я понимаю, его надо регистрировать и оплачивать?

Valentin Barbolin @dronmaxman

RedFirefly, Можно найти очень низкие цена в непопулярных зонах на домен. На крайний случай можно получить домен бесплатно https://fitsmallbusiness.com/free-domain-name/.

Может есть какой-то знакомый с доменом, попросить у него одно доменное имя третьего уровня.

Решения вопроса 0
Ответы на вопрос 3
Developer, ex-admin

В корневые нужно пихать только сертификат ЦА. Это контейнер для них.

Самоподписанный сертификат - это другое. Это когда у вас нет ЦА и вы просто выпускаете сертификат сервера и он сам себя подписывает. Такой простейший вариант сертификата.

Сертификат ЦА - самоподписанный, т.к. его никто не подписывавет, но используете вы сертификат сервера и возможно клиента, а эти оба сертификата подписываются ЦА и они не самоподписанные. В работе используется сертификат ЦА только для проверки подписи предоставленного сертификата сервера и/или клиента, дальше для всего используются серверный и клиентский сертификаты.
Не знаю особенностей Jitsi Meet, но по ссылке нет самоподписанных сертификатов. Там упор делается на использование LetsEncrypt, но по большому счету разницы нет - используете ли вы ЦА от LetsEncrypt или свой собственный. В случае своего ЦА , вы должны обеспечить возможность проверки сертификатов, правильно установив сертификат ЦА, тогда как сертификат LetsEncrypt (и других известных публичных ЦА) обычно уже установлен в системе. Процесс контроля за сроком сертификатов, их перевыпуском, ведением списка отозванных сертификатов и его доступностью то же ложится на вас.

Любой сертификат содержит в себе публичный ключ владельца сертификата. Вторая часть ключа - секретный ключ - идет в отдельном файле. Серктеный ключ ЦА должен находится только на самом ЦА, он требуется только для выпуска новых клиентских сертификатов. В остальных случаях используется только сертификат ЦА, который можно свободно распространять. Аналогично и секретные ключи сервера/клиента - они должны находиться только у владельца ключа.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *