Установка Jitsi Meet на сервер Ubuntu 18.04 LTS для организации безопасных видеоконференций

2020-05-24 10204 комментарии
Jitsi Meet – это бесплатное, безопасное, простое и масштабируемое решение с открытым исходным кодом для проведения частных видеоконференций, которое может стать отличной альтернативой для коммерческих сервисов

Сейчас во время пандемии коронавируса (COVID-19) многие люди работают и проводят собрания онлайн. Многие пользователи выбрали бесплатные решения для видеоконференций, такие как Zoom.

Однако, такие сервисы оказались подвержены различным уязвимостям, например «зумбомбингу». Это когда постороннее лицо подключается к веб-конференции и прерывает собрание. Таким образом, все же лучше воспользоваться более безопасным и приватным решением для видеоконференций.

К счастью, проект с открытым исходным кодом Jitsi предоставляет необходимое программное обеспечение для создания собственного сервиса видеоконференций, который можно развернуть с помощью виртуального сервера, такого как Vultr VPS.

Что такое Jitsi?

Jitsi – бесплатное кроссплатформенное решение для проведения видеоконференций. Данный проект позволяет вам создать собственное решение для проведения частных видеоконференций, которое может стать отличной альтернативой для коммерческих сервисов видеоконференций. Jitsi является полностью бесплатным проектом с открытым исходным кодом и полностью совместим с WebRTC.

Jitsi предлагает несколько стандартных для сервисов видеоконференций функций:

  • Передача звука и видеоизображения
  • Текстовые чаты
  • Парольная защита для сеансов видеоконференций
  • Поддержка большого количества участников

Jitsi Meet – проект с открытым исходным кодом, который позволяет установить свое собственное безопасное, простое и масштабируемое решение, которое можно использоваться в качестве отдельного приложение или интегрировать его в свои собственные веб-приложения. Клиент Jitsi Meet будет работать в браузере без необходимости установки дополнительного ПО. Бесплатно протестировать Jitsi Meet можно на сайте https://meet.jit.si.

Установка Jitsi на Vultr VPS

Jitsi может быть установлен на виртуальной машине Linux всего за несколько шагов, потому что большая часть процесса установки автоматизирована разработчиками Jitsi. Для использования сервиса вам потребуется сервер Linux на базе Ubuntu. Проще всего настроить Jitsi можно в облачном сервисе Vultr.

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

Установка платформы видеоконференций Jitsi Meet на сервер Ubuntu 18.04

Рассмотрим установку серверной части платформы видеоконференций Jitsi Meet на сервер Ubuntu 18.04. В качестве примера будет показана установка платформы при использовании хостинг-провайдера Vultr.

Необходимые условия:

  • Операционная система Ubuntu 18.0.4 или выше, или Debian 9 или выше
  • Параметры сервера – 1 CPU и 1 ГБ оперативной памяти, минимум.
  • Доменное имя. Достаточно поддомена с доступом по изменению настроек DNS.

Приступаем к установке Jitsi Meet.

Выбор сервера

В качестве примера используется хостинг-провайдер Vultr. Регистрируемся на сайте, выбираем сервер Cloud Compute. В качестве расположения сервера стоит выбрать локацию с наиболее близкой страной. В моем случае это Германия (Frankfurt). Операционная система Ubuntu 18.04.

Создаём swap-файл подкачки

Рекомендуется создать файл подкачки с тем же размером, что объем оперативной памяти. В нашем случае оперативной памяти 1 ГБ, соответственно файл подкачки создадим с таким же размером. В терминале выполните следующие команды:

sudo dd if=/dev/zero of=/swapfile count=1024 bs=1M

sudo chmod 600 /swapfile

sudo mkswap /swapfile

sudo swapon /swapfile

echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab

free -m

Доменное имя и создание хост-имени

Для использования шифрования платформы Jitsi Meet необходимо использовать доменное имя. Если у вас уже есть доменное имя, то достаточно будет создать поддомен и настроить DNS.

Если у вас нет доменного имени, то его нужно приобрести. Сделать это можно на различных сайтах, например на Reg.ru или Timeweb.ru.

Примечание: при покупке домена стоит обращать внимание не только на стоимость покупки (первого года), но и на стоимость продления. Зачастую стоимость продления может быть значительно выше стоимости покупки.

На скриншоте отображена стоимость и продление домена в различных зонах регистратора TimeWeb. У этого же регистратора можно подобрать домен в зоне ru по цене в 99 рублей и продлении в 399 рублей.

После покупки домена, если есть необходимость, то создаем поддомен.

В настройках домена, либо поддомена меняем настройки DNS, заменяя А-запись на IP-адрес сервера.

Если на сервере используется адрес ipv6, то в настройках домена/поддомена укажите его в качестве AAA-записи.

Смена хост-имени сервера

Для смены хост-имени выполняем следующие команды (где jitsi это имя сервера, а jitsi.example.com название поддомена):

sudo hostnamectl set-hostname jitsi

sudo sed -i 's/^127.0.1.1.*$/127.0.1.1 jitsi.example.com jitsi/g' /etc/hosts

Проверяем имя хоста:

hostname

hostname -f

Настройка правил фаервола для работы платформы Jitsi Meet

В соответствии с требованиями Jitsi Meet необходимо разрешить трафик OpenSSH, HTTP и HTTPS, а также входящий UDP трафик по определенным портам. Для этого выполняем данные команды:

sudo ufw allow OpenSSH

sudo ufw allow http

sudo ufw allow https

sudo ufw allow in 10000:20000/udp

sudo ufw enable

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

Обновляем и перезагружаем систему

sudo apt update

sudo apt upgrade -y && sudo shutdown -r now

Устанавливаем OpenJDK Java Runtime Environment (JRE) 8

Для платформы Jitsi Meet требуется установка Java Runtime Environment. Выполняем команду в терминале:

sudo apt install -y openjdk-8-jre-headless

Проверяем результат следующей командой:

java -version

Вывод должен быть примерно таким:

openjdk version "1.8.0_242"

OpenJDK Runtime Environment (build 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08)

OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)

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

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

Установка веб-сервера Nginx

Для лучшей работы Jitsi Meet стоит установить веб-сервер Nginx:

sudo apt install -y nginx

sudo systemctl start nginx.service

sudo systemctl enable nginx.service

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

Примечание: Если Nginx или Apache отсутствуют, установщик Jitsi Meet автоматически установит Jetty вместе с программой Jitsi Meet.

Установка Jitsi Meet на сервер

В современной системе Ubuntu или Debian вы можете легко установить Jitsi Meet с помощью официального DEB репозитория Jitsi. Добавляем репозиторий:

cd

wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -

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

sudo apt update -y

Устанавливаем платформу Jitsi Meet:

sudo apt install -y jitsi-meet

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

Уведомление о хост-имени: The hostname of the current installation.

Необходимо указать созданное нами хост-имя в виде доменного имени (или поддомена), затем подтвердить изменения нажатием клавиши Enter.

В следующем уведомлении нас спросят о SSL сертификате, выбираем строчку Generate a new self-signed certificate (You will later get a chance to obtain a Let's Encrypt certificate) и нажимаем клавишу Enter.

После успешной установки Jitsi Meet используйте следующий скрипт, чтобы подать заявку на бесплатный SSL-сертификат от Let' Encrypt:

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

Во время установки надо будет указать адрес электронной почты и подтвердите нажатием на Enter. Этот скрипт будет автоматически обрабатывать любые задачи, связанные с SSL-сертификатом Let's Encrypt.

На этом установка платформы Jitsi Meet завершена. В браузере откройте ссылку по названию хост-имени (доменного имени или поддомена), например jitsi.tuxcomss.ru.

Защита видеоконференций Jitsi с помощью пароля

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

Сделать это можно следующим образом в веб-интерфейсе Jitsi:

  • В нижнем правом углу Jitsi Meet нажмите иконку дополнительной информации.

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

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

Безопасный сервис с открытым исходным кодом

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

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

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

Всем продуктивной удаленной работы!

© . По материалам Vultr, Build5Nines

Комментарии и отзывы

Добавляя комментарий, ознакомьтесь с Правилами сообщества

Нашли ошибку?