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

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

Іноді буває потрібно щось обговорити з людиною або навіть кількома людьми. Терміново і, наскільки це можливо, безпечно. На жаль, ваші співрозмовники абсолютні новачки. У них немає відповідних програм. Немає знань і навичок, немає мотивації, немає часу на інструктаж і абсолютно різні використовувані пристрої: Windows, Mac, Android, планшет, смартфон …

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

Так як стаття у нас охоплює всі відразу, то ми розіб’ємо її на декілька частин.

  1. Опис функціоналу сервісу
  2. Встановлення сервісу на 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 18.04

Для цього нам буде потрібно готовий встановлений чистий Ubuntu Server 18.04 з мінімальними вимогами до обладнання: жорстким диском 10G, пам’яттю 2G і процесором з 2-я ядрами.
Слід врахувати, що це мінімальні ресурси, що б він запрацював. Зі збільшенням кількості залів конференції і одночасних учасників буде необхідність у збільшенні оперативної пам’яті і процесорних потужностей. А також якщо ви будете записувати відеоконференції, то треба буде збільшити і обсяг жорсткого диска.
Не варто забувати і про швидкості каналу зв’язку з сервером, чим більше учасників і чим вища якість переданого зображення, тим ширше потрібен канал.
Наступна інформація про тест зібрана на основі одноядерной віртуальної машини з використанням налаштувань відео високої якості:

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

Різниця в використанні ресурсів між двома і трьома учасниками обумовлена тим, що Jitsi перенаправляє дані викликів безпосередньо між клієнтами, якщо їх тільки двоє. Якщо є більше двох клієнтів, дані виклику пересилаються через сервер Jitsi Meet.

Якщо ви хочете використовувати на сервері SSL сертифікат Let’s Encrypt, тоді вам також потрібно мати пряму IP адресу і доменне ім’я.
А далі йдемо по кроках.

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

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 bionic partner
deb http://archive.ubuntu.com/ubuntu bionic main universe restricted multiverse
deb http://security.ubuntu.com/ubuntu/ bionic-security multiverse universe restricted main
deb http://archive.ubuntu.com/ubuntu bionic-updates multiverse universe restricted main
deb http://archive.ubuntu.com/ubuntu bionic-backports multiverse universe restricted main

Потім

sudo apt update

Якщо сервер лається на відсутність ключа, то діємо як описано тут:

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

Після цього встановлюємо останнє HWE ядро, оновлюємо всі інші пакети і перезавантажуємо операційну систему

sudo apt install -y linux-generic-hwe-18.04 linux-headers-generic-hwe-18.04 linux-image-generic-hwe-18.04 linux-signed-generic-hwe-18.04 linux-signed-image-generic-hwe-18.04 linux-tools-generic-hwe-18.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-headless

Як тільки Java встановлено, перевірте версію Java. Висновок повинен бути приблизно таким:

$ java -version
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu218.04)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.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 -

Оновіть інформацію про пакети та встановіть 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 /run/nginx.pid; додати include /etc/nginx/modules-enabled/*.conf;:

pid /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
● nginx.service - nginx - high performance web server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2020-05-17 08:25:23 EEST; 19s ago
     Docs: http://nginx.org/en/docs/
 Main PID: 2632 (nginx)
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/nginx.service
           ├─2632 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
           └─2633 nginx: worker process

May 17 08:25:23 jmeet systemd[1]: Starting nginx - high performance web server...
May 17 08:25:23 jmeet systemd[1]: nginx.service: Can't open PID file /var/run/nginx.pid (yet?) after start: No s
May 17 08:25:23 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 -

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

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

Під час установки з’явиться кілька повідомлень.

Повідомлення про хост-ім’я: The hostname of the current installation.
Потрібно вказати створене нами хост-ім’я у вигляді доменного імені (або поддомена), потім підтвердити зміни натисканням клавіші Enter.
У наступному повідомленні нас запитають про SSL сертифікаті.
Якщо у вас вже є готовий сертифікат для вашого домену Jitsi, то вибираєте другу опцію – I want to use my own certificate.

Якщо у вас його немає і ви хочете використовувати самоподпісанний сертифікат або плануєте використовувати сертифікат Let’s Encrypt, то вибираємо рядок – Generate a new self-signed certificate (You will later get a chance to obtain a Let's Encrypt certificate)«Генерувати новий самоподпісанний сертифікат».
і натискаємо клавішу Enter.

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 скрипт оновлення, який буде запускатися щотижня.

Подивимося що ми отримали.
Для цього вам необхідно відкрити посилання в браузері за назвою хост-імені (доменного імені або поддомена) наприклад 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
Більшості стандартне оформлення підійде, але ви ж не такий, як усі: smile:
Ви хочете, що б зайшовши на сторінку, ви спостерігали власний логотип, або ви більше творча людина і вам не подобаються стандартні іконки.

Отже. Всі зображення основної сторінки находяться в папці /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