8.2.5 Розгортаємо сервер для відеоконференцій за допомогою Jitsi на VPS

Jitsi — це безкоштовна та відкрита платформа для організації відеоконференцій, яку можна розгорнути на Віртуальному або Виділеному сервері. Це особливо корисно для компаній та команд, яким важливо контролювати свої дані та уникнути обмежень сторонніх сервісів. У цьому посібнику ми покроково встановимо Jitsi Meet на Віртуальний сервер з ОС Ubuntu та забезпечимо його роботу через HTTPS.

Системні вимоги

Для коректної роботи Jitsi рекомендуються:

  • VPS з Ubuntu 20.04 або 22.04;
  • Мінімум 2 ГБ ОЗП (краще 4+ ГБ для конференцій з 5+ учасниками);
  • 1 CPU, краще 2+;
  • Доменне ім’я, спрямоване на IP сервера;
  • Права root або sudo доступ

Якщо у Вас немає доменного імені, то Ви можете придбати його тут.

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

Для початку переконайтеся, що Ваш домен спрямований на ip адресу сервера. Перейдіть за адресою https://thehost.ua/domains/checkup і введіть назву Вашого домену.

Оновіть систему:

sudo apt update && sudo apt upgrade -y

Встановіть потрібні утиліти:

sudo apt install curl gnupg2 apt-transport-https software-properties-common -y

Встановлення Jitsi

Додаємо репозиторій Jitsi:

sudo apt install curl gnupg2 -y
curl https://download.jitsi.org/jitsi-key.gpg.key | sudo gpg --dearmor -o /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

Важливо: перед встановленням Jitsi Meet необхідно встановити ssl сертифікат для доменного імені.

Встановити безкоштовний SSL сертифікат Ви можете згідно з нашою інструкцією.

Встановлення Jitsi Meet

Приступіть до встановлення Jitsi Meet

sudo apt update
sudo apt install jitsi-meet -y

Вкажіть ваш домен (наприклад, meet.example.com); Виберіть Let’s Encrypt сертифікат.

Налаштування авторизації та обмежень

Jitsi за замовчуванням дозволяє будь-якому користувачу створювати конференції. Щоб обмежити це: Відкрийте файл:

sudo nano /etc/prosody/conf.avail/meet.example.com.cfg.lua

Змініть:

authentication = "internal_plain"

Додайте користувача:

sudo prosodyctl register moderator meet.example.com

Потім перезапустіть сервіси:

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

Налаштування Firewall

Відкрийте необхідні порти за допомогою (UFW):

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 10000/udp
sudo ufw allow 22/tcp
sudo ufw enable

Важливо: Порт 10000/UDP використовується для передачі відеопотоку WebRTC. Без нього не працюватиме відео та звук.

Альтернативно або додатково — налаштування iptables:

# Дозволити SSH
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# Дозволити HTTP
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# Дозволити HTTPS
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# Дозволити WebRTC (UDP 10000)
sudo iptables -A INPUT -p udp --dport 10000 -j ACCEPT

# Дозволити встановлені з'єднання та loopback
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT

# Відхилити все інше (за замовчуванням)
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

Після вищезазначених дій перевірте роботу сервісу в браузері. Перейдіть за адресою домену, який Ви використовуєте, або IP адреси Вашого сервера. У браузері має відкритися вікно створення конференції.

Інформуємо: Для отримання додаткової інформації можете скористатися офіційними ресурсами: