В связи с известными обстоятельствами многим понадобилось живое общение посредством камеры. Один из вариантов — установка сервера видеоконференций Jitsi. Jitsi — это набор проектов с открытым исходным кодом, который позволяет легко создавать и развертывать безопасные решения для видеоконференций.
Вот основные составные части Jitsi:
- Jitsi Meet — безопасная, простая и масштабируемая платформа видеоконференции, которую можно использовать в качестве автономного приложения
- Jitsi Videobridge — механизм медиасервера (также известный как Selective Forwarding Unit (SFU)), который поддерживает все многосторонние видеоконференции Jitsi
- Jigasi — сервис шлюза, который соединяет SIP-телефонию с конференцией Jitsi Videobridge
- Jibri — вещатель и рекордер, используемые для сохранения записей видеозвонков и потоковой передачи на YouTube Live
- Jidesha — расширение для Chrome и Firefox для расшаривания экрана
Установка достаточно простая, требуется установленный сервер Ubuntu/Debian с внешним ip-адресом.
Сначала установите ключ репозитория Jitsi на вашу систему:
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
Создайте файл sources.list.d с хранилищем
sudo sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"
Обновим список пакетов.
sudo apt-get -y update
Установка полной версии Jitsi
sudo apt-get -y install jitsi-meet
В процессе установки у вас запросят доменное имя данного сервера. Под него будет сгенерирован самоподписанный сертификат, который, впрочем, после окончания установки лучше заменить на нормальный.
Для работы сервера Jitsi необходимо открыть следующие порты: tcp 443, tcp 4443, udp 10000.
Установка сертификата Let’s Encrypt
Если все заработало, то следующий шаг — установка сертификата. В противном случае не смогут подключатся пользователи Android и iOS. Есть уже готовый скрипт: /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
После запуска у вас попросят указать свой адрес электронной почты на который будут приходить сообщения о проблемах с сертификатом. Весь остальной процесс автоматизирован.
Что делать если сервер Jitsi находится за NAT ?
Если сервер находится за NAT, необходимо внести изменения в файл /etc/jitsi/videobridge/sip-communicator.properties:
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<Local.IP.Address>
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<Public.IP.Address>
Соответственно вместо Local.IP.Address — указываем адрес сервера в локальной сети, а вместо Public.IP.Address прописываем адрес внешний.
Далее, пробрасываем порты на маршрутизаторе. Предположим, что наш сервер Jitsi имеет адрес 192.168.100.5
iptables -A FORWARD -p tcp -d 192.168.100.5 --dport 443 -j ACCEPT
iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.100.5:443
iptables -A FORWARD -p tcp -d 192.168.100.8 --dport 4443 -j ACCEPT
iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -p tcp -m tcp --dport 4443 -j DNAT --to-destination 192.168.100.5:4443
iptables -A FORWARD -p udp -d 192.168.100.5 --dport 10000 -j ACCEPT
iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -p udp -m udp --dport 10000 -j DNAT --to-destination 192.168.100.5:10000
Для того чтобы отработал скрипт получения сертификата Let’s Encrypt нужно также пробросить порт 80.
iptables -A FORWARD -p tcp -d 192.168.100.5 --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.100.5:80
Вот и все!
Хотел бы попросить автора связаться, для конкретной настройки на сайте.
Уведомление:Как включить аутентификацию на сервере Jitsi - Блог системного администратора
Уведомление:Как включить аутентификацию на сервере Jitsi – System administrator Blog
Уведомление:Установка сервера видеоконференций Jitsi — mini Wiki
Уведомление:Как включить аутентификацию на сервере Jitsi — mini Wiki