Jitsi Meeting — это открытое программное обеспечение для проведения безопасных видеоконференций, которое вы можете развернуть на своем собственном сервере. В этом руководстве мы рассмотрим, как развернуть Jitsi Meet на Ubuntu 18.04.
Требования
- Сервер Ubuntu 18.04;
- Доменное имя и доступ к управлению зонами DNS;
- Установленный и настроенный сервер Nginx;
- Установленный и настроенный Certbot (для SSL-сертификатов Let’s Encrypt).
Выполнение требований к записям DNS
Создайте следующие записи:
1. A запись:
meet.your_domain.ru -> IP-адрес сервера, на котором установлен Jitsi Meet
2. SRV запись:
_xmpp-client._tcp.meet.your_domain.ru -> 5 0 5222 meet.your_domain.ru
3. SRV запись:
_xmpp-server._tcp.meet.your_domain.ru -> 5 0 5269 meet.your_domain.ru
4. SRV запись:
_turn._udp.meet.your_domain.ru -> 0 0 3478 meet.your_domain.ru
5. TXT запись:
_turn._udp.meet.your_domain.ru -> "v=1; u=username:password"
6. A запись:
auth.meet.your_domain.ru -> IP-адрес сервера, на котором запущен Prosody XMPP-сервер
7. A запись:
internal-muc.meet.your_domain.ru -> IP-адрес сервера, на котором установлен Jitsi Meet
8. A запись:
muc.meet.your_domain.ru -> IP-адрес сервера, на котором установлен Jitsi Meet
9. A запись:
jitsi-videobridge.meet.your_domain.ru -> IP-адрес сервера, на котором Jitsi Video Bridge
Code language: JavaScript (javascript)
Шаг 1: Установка Jitsi Meeting
- Добавьте репозиторий Jitsi в список источников APT:
echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-stable.list
Code language: Bash (bash)
- Добавьте ключ GPG Jitsi в свой менеджер пакетов:
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
Code language: Bash (bash)
- Обновите список пакетов:
sudo apt-get update
Code language: Bash (bash)
- Установите пакет jitsi-meet:
sudo apt-get -y install jitsi-meet
Code language: Bash (bash)
Во время установки вас попросят ввести доменное имя вашего сервера. Введите его и продолжите установку.
Шаг 2: Настройка SSL
Jitsi Meet требует наличия SSL-сертификата для работы. Если у вас уже есть SSL-сертификат, вы можете пропустить этот шаг. Если нет, вы можете использовать Certbot для получения бесплатного SSL-сертификата от Let’s Encrypt.
- Установите Certbot:
sudo apt-get install certbot
Code language: Bash (bash)
- Получите SSL-сертификат:
sudo certbot certonly --standalone --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx" -d your_domain.ru
Code language: Bash (bash)
Замените your-domain.com
на ваше доменное имя.
- Настройте Jitsi Meet для использования вашего нового SSL-сертификата:
/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
Этот скрипт автоматически настроит Jitsi Meet на использование вашего SSL-сертификата.
Шаг 3: Настройка аутентификации
По умолчанию, в Jitsi Meet любой может создать новую конференцию. Если вы хотите ограничить это только авторизованными пользователями, вы можете включить аутентификацию.
- Установите пакет prosody.
- Откройте файл конфигурации Prosody для вашего домена:
sudo nano /etc/prosody/conf.avail/your_-_domain.cfg.lua
Code language: Bash (bash)
Замените your_domain
на ваше доменное имя.
- Найдите следующую строку:
authentication = "anonymous"
Code language: JavaScript (javascript)
и замените ее на:
authentication = "cyrus"
Code language: JavaScript (javascript)
- Добавьте следующие строки в тот же файл:
VirtualHost "guest.your_domain"
authentication = "anonymous"
c2s_require_encryption = false
Code language: JavaScript (javascript)
- Сохраните и закройте файл.
- Откройте файл конфигурации Jicofo:
sudo nano /etc/jitsi/jicofo/sip-communicator.properties
Code language: Bash (bash)
- Добавьте следующую строку в конец файла:
org.jitsi.jicofo.auth.URL=XMPP:your_domain
Замените your_domain
на ваше доменное имя.
- Сохраните и закройте файл.
- Откройте файл «/etc/jitsi/meet/yoonur-domainfig.js
- Раскоментируйте строку:
anonymousdomain: 'guest.your_domain',
Code language: JavaScript (javascript)
- Перезапустите все службы Jitsi:
sudo systemctl restart prosody.service
sudo systemctl restart jicofo.service
sudo systemctl restart jitsi-videobridge2.service
Code language: Bash (bash)
Теперь, чтобы создать новую конференцию, пользователи должны будут войти в систему: