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

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

Иногда бывает нужно что-то обсудить с человеком или даже несколькими людьми. Срочно и, насколько это возможно, безопасно. К сожалению, ваши собеседники абсолютные новички. У них нет подходящих программ. Нет знаний и навыков, нет мотивации, нет времени на инструктаж и совершенно разные используемые устройства: Windows, Mac, Android, планшет, смартфон…

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

Так как статья у нас охватывает все сразу, то мы разобьем ее на несколько частей.

  1. Описание функционала сервиса
  2. Установка сервиса Jitsi Meet на Ubuntu 18.04
  3. Работа с сервисом
  4. Дополнительно
  5. Заключение

Что же позволяет этот чудесный сервис

1. Описание функционала сервиса

Сервис Jitsi Meet Jitsi – это надежный, простой способ видеосвязи, который работает по принципу “точка – точка”, от браузера к браузеру. Он создает виртуальные залы и позволяет организовывать профессиональные вебинары, видеоконференции и проведение презентаций на несколько человек, для доступа к которым требуется только браузер и которые обеспечивают функции, аналогичные Zoom или Skype.

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

Каким же еще функционалом он обладает?

  • До 75 участников (до 35 при сохранении высокого качества связи)
  • Автоматическое переключение на видео активного докладчика
  • Публичные и приватные чаты
  • Размытие фона за человеком (функция пока в бета-версии)
  • Интеграция со Slack, Google Calendar и Office 365
  • Трансляция видеоконференции на YouTube
  • Пользователи могут делиться своим рабочим столом или отдельными окнами
  • Встроенный чат для обмена текстовыми сообщениями
  • Функция записи текущего обсуждения
  • Совместное использование рабочего стола
  • Передавать файлы
  • Защита паролем подключения к конференции

А также, можно в чате Jitsi смотреть видео с YouTube всем вместе, совместно редактировать документы в Etherpad, и имеется возможность подключения участников через телефонный шлюз Jigasi.
У участников конференции есть возможность виртуально поднять руку с помощью собственной кнопки — сигнализировать, что вы хотите получить слово следующим.
Все потоки данных передаваемые между клиентом и сервером шифруются (подразумевается, что сервер работает на собственных мощностях).

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

Ограничения

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

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

Итак, приступим к установке этого чудесного сервиса.

2. Установка сервиса на Ubuntu 22.04

Для этого нам потребуется готовый установленный чистый Ubuntu Server 22.04 c минимальным требованием к оборудованию: жестким диском 10G, памятью 2G и процессор с 2-я ядрами.
Следует учесть, что это минимальные ресурсы, что бы он заработал. По мере увеличения количества залов конференции и одновременных участников будет необходимость в увеличении оперативной памяти и процессорных мощностей. А также если вы будете записывать видеоконференции, то надо будет увеличить и объем жесткого диска.
Не стоит забывать и про скорости канала связи с сервером, чем больше участником и чем выше качество передаваемого изображения, тем шире необходим канал.
Следующая информация о тесте собрана на основе одноядерной виртуальной машины с использованием настроек видео высокого качества:

Участники Процессор Пропускная способность сервера
Два 3% 30 Кбит/с входящее, 100 Кбит/с исходящее
Три 15% 7 Мбит/с всходящее, 6,5 Мбит/с исходящее

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

Если вы хотите использовать на сервере SSL сертификат Let’s Encrypt, тогда вам также необходимо иметь доменное имя.
А дальше идем по шагам.

Подготовка сервера

2.1. Установить имя сервера и FQDN к системе
Например имя нашего сервера будет jmeet.ualinux.com
Для этого выполняем команды:

sudo hostnamectl set-hostname jmeet
sudo sed -i 's/^127.0.1.1.*$/127.0.1.1 jmeet.ualinux.com jmeet/g' /etc/hosts

Если у вас в файле не было строчки 127.0.1.1, то вторая команда ничего не выполнит.
Для этого сами откройте файл /etc/hosts на редактирование и добавьте в него следующую строчку

127.0.1.1	jmeet.ualinux.com jmeet

Теперь проверьте правильность установленного имени хоста командами

@jmeet:~$ hostname
jmeet
manager@jmeet:~$ hostname -f
jmeet.ualinux.com

Сопоставление доменного имени сервера Jitsi Meet с адресом 127.0.0.1 позволяет серверу Jitsi Meet использовать несколько сетевых процессов, устанавливающих локальные соединения друг с другом на IP-адресе 127.0.0.1. Для аутентификации и шифрования этих соединений используется сертификат TLS, зарегистрированный на ваше доменное имя. Локальное сопоставление доменного имени с адресом 127.0.0.1 позволяет использовать сертификат TLS для этих соединений локальной сети.

2.2. Настраиваем правила фаервола для работы платформы Jitsi Meet
В соответствии с требованиями Jitsi Meet необходимо разрешить трафик OpenSSH, HTTP и HTTPS, а также входящий UDP трафик по определенным портам, чтобы он мог взаимодействовать с клиентами которые осуществляют вызов. Процессу установки TLS также требуется открыть порт, чтобы можно было провести аутентификацию запроса сертификата.

Запустите следующие команды ufw, чтобы открыть эти порты:

sudo ufw allow OpenSSH    # используется вами для доступа к серверу
sudo ufw allow http       # используется для запроса сертификата TLS и редиректа пользователей на 443 порт
sudo ufw allow https      # используется для создания веб-страницы конференции
sudo ufw allow 4443/tcp              # используется для приема и передачи шифрованного трафика вызова
sudo ufw allow in 10000:20000/udp    # используется для приема и передачи шифрованного трафика вызова
sudo ufw enable

При выполнении последней команды  сервер отобразит следующее предложение:
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
Выберите Y и затем нажмите клавишу Enter.
И проверим что у нас получилось с помощью команды:

$ sudo ufw status
Status: active

To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
4443/tcp ALLOW Anywhere
10000:20000/udp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
4443/tcp (v6) ALLOW Anywhere (v6)
10000:20000/udp (v6) ALLOW Anywhere (v6)

Теперь сервер готов к следующему шагу, а именно — установке Jitsi.

2.3. Обновляем сервер
Для этого приводим к следующему виду файл источника репозиториев /etc/apt/sources.list

deb http://archive.canonical.com/ubuntu jammy partner

deb http://archive.ubuntu.com/ubuntu jammy main universe restricted multiverse
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted multiverse universe
deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted multiverse universe
deb http://archive.ubuntu.com/ubuntu jammy-backports main restricted multiverse universe

Потом

sudo apt update

Если сервер ругается на отсутствие ключа, то действуем как описано здесь:

Исправляем ошибку NO_PUBKEY или как добавить ключ репозитория

После этого устанавливаем последнее HWE ядро, обновляем все остальные пакеты и перезагружаем операционную систему

sudo apt install -y linux-generic-hwe-22.04 linux-headers-generic-hwe-22.04 linux-image-generic-hwe-22.04 linux-tools-generic-hwe-22.04
sudo apt dist-upgrade -y && sudo shutdown -r now

2.4. Устанавливаем OpenJDK Java Runtime Environment (JRE) 8
Для платформы Jitsi Meet требуется установленный Java Runtime Environment. Выполняем команду в терминале:

sudo apt-get install -y openjdk-11-jre

Как только Java установлен, проверьте версию Java. Вывод должен быть примерно таким::

$ java -version
openjdk version "11.0.16" 2022-07-19
OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Ubuntu-0ubuntu122.04, mixed mode, sharing)

Кроме того, вы можете настроить переменную среды JAVA_HOME следующим образом:

echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
source /etc/profile

2.5. Обновляем и устанавливаем NGIX

Jitsi Meet, использует Nginx в качестве обратного прокси. Таким образом, необходимо будет установить его на сервере.
Установите предварительно необходимые пакеты:

sudo apt install -y curl gnupg2 ca-certificates lsb-release

Добавьте репозиторий стабильных пакетов nginx в систему:

echo "deb [arch=amd64] http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list

Импортируйте официальный ключ подписи nginx, чтобы apt смогла проверить подлинность пакетов:

(как было раньше)
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -

(как надо делать сейчас)
в Ubuntu 22.04 рекомендуют положить сертификат непосредственно в папку /etc/apt/trusted.gpg.d/
$ sudo curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/nginx.gpg

Обновите информацию о пакетах и установите nginx:

sudo apt update && sudo apt install -y nginx

Потом провести необходимую его подготовку:

sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled
sudo mkdir /etc/nginx/modules-enabled

Внести изменения в файл /etc/nginx/nginx.conf

Вначале файла после строки pid /var/run/nginx.pid; добавить include /etc/nginx/modules-enabled/*.conf;

...
pid /var/run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
...

А в разделе http { после строки include /etc/nginx/conf.d/*.conf; добавить include /etc/nginx/sites-enabled/*;

...
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
...

Перезагрузить сервис и включить автоматический его запуск при старте системы:

sudo systemctl restart nginx.service
sudo systemctl enable nginx.service

Как только Nginx установлен, можно проверить статус службы Nginx следующей командой:

$ sudo systemctl status nginx
Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nginx
root@jmeet:/etc/nginx#  sudo systemctl status nginx
● nginx.service - nginx - high performance web server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-10-21 10:58:25 UTC; 13s ago
       Docs: https://nginx.org/en/docs/
   Main PID: 5446 (nginx)
      Tasks: 5 (limit: 2236)
     Memory: 4.0M
        CPU: 13ms
     CGroup: /system.slice/nginx.service
             ├─5446 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
             ├─5447 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
             ├─5448 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
             ├─5449 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
             └─5450 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

жов 21 10:58:25 jmeet systemd[1]: Starting nginx - high performance web server...
жов 21 10:58:25 jmeet systemd[1]: Started nginx - high performance web server.

В дальнейшем настройке веб-сервера Nginx, нет необходимости, так как установщик Jitsi Meet чуть позже справится с этой задачей сам.

Примечание: Если Nginx или Apache отсутствуют, установщик Jitsi Meet автоматически установит Jetty (контейнер сервлетов, который может использоваться как HTTP-сервер) вместе с программой Jitsi Meet.

Установка платформы Jitsi Meet

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

sudo sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"

И импортировать официальный ключ подписи Jitsi Meet, чтобы apt могла проверить подлинность пакетов:

(как было раньше)
$ wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -

(как надо делать сейчас)
в Ubuntu 22.04 рекомендуют положить сертификат непосредственно в папку /etc/apt/trusted.gpg.d/
$ sudo wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/jitsi.gpg

Теперь необходимо обновить информацию о пакетах и установить платформу Jitsi Meet:

sudo apt update && sudo apt install -y jitsi-meet

Во время установки появится несколько уведомлений.

Уведомление о хост-имени: The hostname of the current installation.
Необходимо указать созданное нами хост-имя в виде доменного имени (или поддомена), затем подтвердить изменения нажатием клавиши Enter.

 

jitsi-meet

В следующем уведомлении нас спросят о SSL сертификате.
Если у вас уже есть готовый сертификат для вашего домена Jitsi, то выбираете вторую опцию  — I want to use my own certificate.

 

jitsi-meet

Если у вас его нет и вы хотите использовать самоподписанный сертификат или планируете использовать сертификат Let’s Encrypt, то выбираем строчку — Generate a new self-signed certificate«Генерировать новый самоподписанный сертификат».
и нажимаем клавишу Enter.

Или же вы можете получить сертификат сразу во время установки сервера, выбрав опцию "Let's Encrypt certificates" но для этого ваш сервер уже должен быть доступен из интернета по указанному имени. В нашем случае — это jmeet.ualinux.com

Jitsi Meet использует сертификаты TLS для шифрования трафика вызова, чтобы никто не мог прослушивать вызов через Интернет. Сертификаты TLS — это те же сертификаты, которые используются сайтами для активации URL с протоколом HTTPS.

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

Вначале добавьте в систему репозиторий Certbot, программы для автоматической генерации сертификата Let’s Encrypt и установите ее:

sudo add-apt-repository -y ppa:certbot/certbot
sudo apt update && apt -y dist-upgrade
sudo apt install certbot

Теперь вы можете использовать скрипт установки SSL-сертификата от Let’ Encrypt, предоставленный Jitsi Meet. Этот скрипт будет автоматически обрабатывать любые задачи, связанные с SSL-сертификатом Let’s Encrypt:

sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

При запуске скрипта откроется следующий диалог ввода адреса электронной почты. Этот адрес электронной почты будет отправлен эмитенту сертификата https://letsencrypt.org и будет использоваться для уведомлений о безопасности и других вопросах, связанных с вашим сертификатом.
Для продолжения установки необходимо ввести адрес электронной почты и подтвердите нажатием на Enter. После этого установка продолжится без дальнейших остановок.

После ее завершения ваш экземпляр Jitsi Meet будет настроен для использования подписанного сертификата TLS для вашего доменного имени.
Обновление сертификатов также будет производиться автоматически, поскольку программа установки разместила по адресу /etc/cron.weekly/letsencrypt-renew скрипт обновления, который будет запускаться каждую неделю.

После установки Jitsi необходимо перезагрузить наш веб-сервер nginx.

$ sudo systemctl restart nginx.service

Посмотрим что мы получили.
Для этого вам необходимо открыть ссылку в браузере по названию хост-имени (доменного имени или поддомена) например https://jmeet.ualinux.com.
Если вы установили не самоподписанный SSL-сертификат, а сертификат от Let’Encrypt, или ваш собственный, то страница должна открыться без каких либо предупреждений и ругани:

На этом установка платформы Jitsi Meet завершена и можно сразу приступать к ее использованию.

3. Работа с сервисом

Итак, сервис установлен и готов к работе!

Использование через веб-браузер.

Для общения достаточно запустить web-браузер Opera, Firefox, Chrome или другой и перейти на сайт. В нашем примере сервис доступен по адресу: https://jmeet.ualinux.com или по вашему адресу.
Перед вами откроется главная страница:

Для работы всего механизма вам достаточно придумать и ввести имя будущей конференции. В имени можно использовать буквы на любом языке и пробелы). Чуть ниже будет отображаться список наших прошлых созданных конференций. Сейчас он естественно пуст.
Введем имя нашей конференции, например «Тестовая конференция» и нажмем кнопку ОК.
После этого будет создана конференция и браузер попросит дать ему разрешение на использование веб-камеры и микрофона. (В разных браузерах и операционных системах этот запрос может выглядеть по-разному)

Естественно мы это разрешаем, а как иначе участвовать в конференции.

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

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

Рассмотрим панель управления

Первая идет иконка «Демонстрация экрана». Она дает возможность выбора, что вы будете показывать другим участникам:

  • весь экран монитора
  • окно приложения или программы
  • определенная вкладка браузера

Может быть полезно, когда вы объясняете другим собеседникам, как совершать то или иное действие на компьютере и демонстрируете это сами. Или, наоборот, увидеть, что у них не в порядке.

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

Завершает первую тройку иконок «Чат» – это запускает чат в данной конференции, в котором можно делиться текстовыми сообщениями или задавать вопросы, не создавая эффект «базара» в основной голосовой конференции.

Посередине экрана расположились три основных иконки.

  • Микрофон – позволяет включать и отключать микрофон вашего устройства.
  • Завершить. Красная кнопка – выход с трансляции.
  • Камера – включение и выключение веб-камеры вашего устройства.

В завершении последних три иконки справа

Первая это «Изменить внешний вид окна чата» (четыре квадратика).  Вы можете вывести окошки собеседников в центр экрана, сделать их крупнее, если так вам удобнее общаться.
Вторая «Информация о чате«. Во всплывающем окне приведена ссылка, которую нужно скопировать и отправить участникам собрания для приглашения (В нашем примере: https://jmeet.ualinux.com/Тестоваяконференция). Придумывайте его немного сложнее, чтобы случайно другой пользователь не мог забрести на вашу трансляцию. Приглашение можно рассылать любому количеству участников, ограничения нет.
Очень полезная функция здесь – возможность защитить чат паролем. В этом окне нажмите «Установить пароль», чтобы ввести пароль, а затем нажмите Enter. После того, как для конференций Jitsi был установлен пароль, всем, кто захочет присоединиться к конференции, будет предложено ввести пароль. Может быть полезно, что бы исключит вероятность подключения к собранию постороннего лица, который каким-то образом получил URL-адрес конференции, но фактически не был приглашен.


Последняя кнопка во всплывающем меню «Три точки» ведет к дополнительным функциям Jitsi Meet.

Рассмотрим их по порядку сверху вниз.

  • Ваше экранное имя. (В данном случае «khgk»). Вы можете в любой момент поменять его, если выберете этот пункт.
  • Качество связи. По умолчанию оно высокое, но вы можете попробовать снизить его, если ваш чат «тормозит».
  • Полный экран. Можно развернуть чат на полный экран.
  • Видео Youtube. А здесь вы можете поделиться с участниками вашего чата каким-либо интересным и полезным роликом Youtube (достаточно просто указать ссылку).
  • Размыть фон на видео
  • Настройки. Здесь вы можете переопределить устройства (выбрать другие камеру и/или микрофон, если у вас в системе больше одной камеры и больше одного микрофона) и осуществить ряд прочих мелких настроек.
  • Выключить микрофон у всех
  • Статистика. Сколько говорил каждый участник.
  • Комбинации клавиш. Подсказка для тех, кто любит использовать «клавиатурные сокращения» вместо пунктов меню.

«Настройки»
Сервис мультиязычный и для удобства можно переключить на необходимый вам язык.

В разделе профиль заполнить имя (будут видеть другие участники) и по желанию E-mail. Если почта прописана, сервис подтянет ваш граватар на экран.

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

И можете увидеть информацию о качестве соединения участника с сервером. Для этого вам необходимо опять-таки в квадратике пользователя уже в левом верхнем углу выбрать кружок с делениями.

Теперь вы смело можете использовать Jitsi Meet в вашей работе. Но только не увлекайтесь и помните про ресурсы, которые начнет кушать ваш сервер, с увеличением количества участников.

Использование с мобильного устройства.

Для работы в конференции с мобильного телефона придется загрузить приложение из Play Маркета. В принципе, если вы не организатор конференции, то не обязательно его предварительно устанавливать.
Если вы откроете ссылку которую вам дали на существующую конференцию в браузере на Android или iOS-устройстве, то будете автоматически перенаправлены в магазин приложений, где сможете загрузить клиент Jitsi Meet. Как только он установится, появится кнопка «продолжить», которая мгновенно перенаправит вас к видеозвонку. Опять же, вам ничего не потребуется делать, кроме как нажать «загрузить» и «продолжить».

Функций этого клиента немного меньше, но это не помешает организовывать или участвовать в конференциях, стримах и вебинарах.

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

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

4. Дополнительно


Хотел уделить внимание еще на пару моментов в использовании, не входящих в рамки базовой установки и использования.

Администраторы конференций

После создания конференции ее администратором становится только тот, кто ее создал.
Администратор может удалять пользователей из конференции, выключать их микрофоны, давать пользователю слово.
Назначить кого-то еще администратором нельзя. Такого понятия как «назначение кого-то администратором» конференции отсутствует.
В случае если администратор покинул конференцию, то ее администратором становится тот, кто подключился следующий после него.
Сама конференция существует до тех пор, пока в ней есть хотя бы один человек.

Создание Jitsi-пользователей с правами создавать новые конференции

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

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

  • отредактируйте файл /etc/prosody/conf.avail/jmeet.ualinux.com.cfg.lua

Изменив в нем запись:
...
authentication = "anonymous"
...

на запись
...
authentication = "internal_plain"
...

Эта конфигурация предписывает Jitsi Meet использовать аутентификацию с именем пользователя и паролем, прежде чем разрешить новому посетителю создавать конференции.

Затем добавьте в конец этого файла следующий раздел:
...
VirtualHost "guest.jmeet.ualinux.com"
authentication = "anonymous"
c2s_require_encryption = false

Эта конфигурация позволяет анонимным пользователям присоединяться к конференциям, созданным пользователем, прошедшим аутентификацию. Однако для входа у гостя должен иметься уникальный адрес и пароль конференции (если этот пароль задан).

Здесь вы добавили guest. перед доменным именем. Например, для jmeet.ualinux.com мы указываем put guest.jmeet.ualinux.com. Имя хоста guest.обычно используется Jitsi Meet для внутренних целей. Это имя не вводится в браузер, и не надо создавать для него запись DNS.

  • Теперь отредактируем второй файл /etc/jitsi/meet/jmeet.ualinux.com-config.js

Изменив в нем запись:
...
// anonymousdomain: 'guest.example.com',
...

на запись
...
anonymousdomain: 'guest.jmeet.ualinux.com',
...

Эта конфигурация укажет Jitsi Meet, какое внутреннее имя хоста следует использовать для гостей, не прошедших аутентификацию.

  • Для завершения изменений конфигурации отредактируем последний файл /etc/jitsi/jicofo/sip-communicator.properties

В конец этого файла добавьте следующую строку:
...
org.jitsi.jicofo.auth.URL=XMPP:jmeet.ualinux.com

Эта конфигурация перенаправляет процессы Jitsi Meet на локальный сервер, который выполняет аутентификацию пользователя. Авторизация теперь обязательна.

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

И теперь вам нужно зарегистрировать этих пользователей и их пароли. Для этого мы используем утилиту prosodyctl.

sudo prosodyctl register ПОЛЬЗОВАТЕЛЬ jmeet.ualinux.com ПАРОЛЬ

Добавляемый здесь ПОЛЬЗОВАТЕЛЬ и ПАРОЛЬ не является системным пользователем. Это пользователь только Jitsi Meet для создания конференций, но это не тот пользователь, который сможет войти на ваш сервер через SSH.

Увидеть список созданных пользователей можно в виде файлов с расширением .dat в котором храниться пароль. Они находятся в папке /var/lib/prosody/<strong>ВАШ ДОМЕН</strong>/accounts
В нашем случае это будет выглядеть вот так:

$ ls -1 /var/lib/prosody/jmeet%2eualinux%2ecom/accounts
jitsiadmin.dat

В названии папки вместо символа (точки) используется %2.

Изменить пароль у пользователя:

sudo prosodyctl passwd ПОЛЬЗОВАТЕЛЬ

Удалить пользователя

sudo prosodyctl deluser ПОЛЬЗОВАТЕЛЬ

В завершении перезапускаем процессы Jitsi Meet для загрузки новой конфигурации:

sudo systemctl restart prosody.service
sudo systemctl restart jicofo.service
sudo systemctl restart jitsi-videobridge2.service

Теперь ваш сервер Jitsi Meet имеет защищенную конфигурацию и будет требовать ввести имя пользователя и пароль в диалоге при создании конференции.

Авторизация всех пользователей через LDAP
скоро…

Брендирование Jitsi Meet

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

Итак. Все картинки основной страницы находяться в папке /usr/share/jitsi-meet/images
Нас интерисует пока только две картинки:
<strong>watermark.png</strong> — главный логотип (размер 612 х 272 пикселей)
<strong>favicon.ico</strong> — иконка, отображаемая в закладке браузера (размер 32 х 32 пикселей)

Но если вы кликните на уже на появившийся ваш логотип, вас перебросит на сайт https://jitsi.org/.
Как-то не по феншую.
Поэтому открываем файл: /usr/share/jitsi-meet/interface_config.js
и значение в строчке JITSI_WATERMARK_LINK: 'https://jitsi.org', а именно https://jitsi.org заменяем на ваш URL,

Все звуки вы найдете в папке /usr/share/jitsi-meet/sounds

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

Другие параметры по измению оформления оставляем вам на домашнее задание: wpds_wink:

Заключение

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

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

А вы уже используете средства для проведения видеоконференций?
Если — да, то какие?

Поделитесь с друзьями

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

15 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
Григорий

Добрый день. Мое имя Григорий. Пытаюсь работать с Jitsi на планшете Acer ICONICA/W700. Видео не подключается. Только звук. В чем может быть причина?

Юрий

Подскажите возможно сделать чтобы гости заходили не дожидаясь модератора. А то народ ждет когда зайдет модер.

Тим

Добрый день. Сделал все по инструкции, правда ssl использовал свои готовые. Ничего не происходит( из 20 установок один раз получилось, но там напортачил с сертификатом и решил переустановить. В чем может быть причина? замучался уже/

Буду очень признателен за помощь — иностранные ресурсы не дают ответа вообще — все обыскал уже.

UALinux

что происходит, что не происходит, что в логах пишет, что на экране творится и т.д. ?

Тим

Спасибо, что ответили!
На экране просто отображается заглушка которая в директории домена по умолчанию лежала.

Логи к своему стыду не знаю как посмотреть(

UALinux

100% это настройка веб-сервера NGINX.
вы не первый )
вы где-то или не достроили
или посчитали что так будет работать.
а нужно сделать все как по инструкции.

Тим

Напишите пожалуйста, если с вами можно консультацию организовать (если нужно платную). Спасибо! Буду очень благодарен за помощь

UALinux

платные консультации — это к UALinux   :wpds_smile: 

Тим

короче еще 10 реинсталов и заработало))) я не знаю как)
Но спасибо! Даже для нубов работает мануал. Если есть ссылка на донат — киньте пожалуйста!

UALinux

Самый лучший донат это популяризация этого сайта )

BohDan

Якщо хтось використовує вже відео сервер, дайте знати, який процесор та скільки ОЗУ потрібно для організації відеоконференції до 25 учасників?
Також цікавить якої ширини інтернет — каналу буде достатньо?

UALinux

в виртуалке: 8 ядер от 48 ядерного процессора, 6 Г оперативки и 100М хватило.
все зависит какое у вас железо.
вам может и 16 ядер не хватить, если у вас старый процессор и видео подстраивается под ширину канала само

Serge

При попытке добавить пользователя командой prosodyctl register появляется ошибка
Error: Account creation/modification not supported

igor_sayutin

Респект автору.

Сделал все по єтой инструкции и все заработало с первого раза!

Единственное хотел поставить Jibri — и с єтим разобраться не смог. Очень нужно руководство по настройке записи и экспорту на YouTube! ждем с нетерпением!

Руслан
15
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x