/
Блог KatranLife & iKotov

JITSI MEET - Устанавливаем свой аналог Google Meet и ZOOM.

🔉 Про что будет статья?

Недавно Роскомнадзор начал ограничивать звонки в популярных мессенджерах, чтобы защитить пользователей от мошенников. Но появился вопрос: а где теперь общаться? Пользователи стали переходить в Google Meet, но и его частично ограничивают.


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

❗️В статье будет использован официальный гайд, но с моими дополнениями.

📚 Полезные ссылки из статьи

❗️Важно перед установкой!

  • Подразумевается, что у вас уже есть своё доменное имя. Если его нет - приобретите домен и направьте его (А-запись) на IP-адрес вашего сервера, на котором будет расположен Jitsi;
  • Устанавливать Jitsi лучше на отдельный сервер, где нет другого запущенного софта, который может конфликтовать.
  • Обновление NS-записей происходит до 24 часов. В связи с этим домен направьте заранее, хотя бы за пару часов до начала настройки, чтобы домен успел заработать.

🚀 Установка Jitsi

❗️Инструкция сделана таким образом, чтобы вы просто копировали команды и вставляли их. В некоторых пунктах потребуются дополнительные действия.

Проверяем обновления:

apt update

Устанавливаем обновления:
apt upgrade -y

Нам так же потребуется редактор nano. Устанавливаем его:
apt install nano -y

Добавляем поддержку https для репозитория:

sudo apt install apt-transport-https

Устанавливаем утилиту software-properties-common:

sudo apt install software-properties-common -y

Добавляем репозиторий universe:

sudo apt-add-repository universe

Попросит подтверждением. Нажимаем Enter:

Повторно вводим команду проверки наличия обновлений:

sudo apt update

Устанавливаем Prosody (вводим команды по очереди):
sudo curl -sL https://prosody.im/files/prosody-debian-packages.key -o /usr/share/keyrings/prosody-debian-packages.key

echo "deb [signed-by=/usr/share/keyrings/prosody-debian-packages.key] http://packages.prosody.im/debian $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/prosody-debian-packages.list

Устанавливаем lua5.2:

sudo apt install lua5.2

Добавляем репозиторий jitsi:

curl -sL https://download.jitsi.org/jitsi-key.gpg.key | sudo sh -c 'gpg --dearmor > /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

Снова проверяем наличие обновлений:

sudo apt update

Устанавливаем непосредственно сам Jitsi:

sudo apt install jitsi-meet

У вас запросит hostname. Это домен, который будет использоваться для входа в jitsi. В моём случае - jitsi.katranlife.ru. Введите домен и нажмите Enter:

Сейчас установщик просит нас выбрать нужный пункт:

1. Установщик сам получит SSL сертификат;

2. Если у вас есть сертификат (файлы .key и .crt), то вы сможете указать путь до них;

3. Создать самоподписанный сертификат. Браузеры будут на него ругаться.

Если вы не знаете что такое сертификат, то просто выбирайте 1. В этом случае я тоже выберу 1:

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

Тут нас попросит указать (Yes, No), нужна ли телефония (чтобы вам могли звонить с обычного номера телефона и подключаться к конференции). Нам это не нужно. Вводим no, нажимаем Enter:

После этого сам Jitsi установлен. В него уже можно зайти по адресу: http://ip_адрес или по домену. Но будет ругаться на SSL сертификат. Чтобы это решить - установим nginx, certbot и настроим https.

🚀 Настраиваем NGINX и SSL сертификат.

Устанавливаем NGINX:

sudo apt install nginx-full -y
Создаем файл конфигурации nginx для нашего jitsi:
sudo nano /etc/nginx/sites-enabled/jitsi
Вставляем содержимое:

server {
  server_name jitsi.katranlife.ru; # your host name
  location / {
    proxy_pass http://localhost:80;
  }
}

Адрес jitsi.katranlife.ru меняем на ваш домен. Сохраняем изменения: Ctrl + O, затем Enter. И выходим: Ctrl + X

Перезапускаем nginx:

sudo service nginx reload

Устанавливаем certbot:

sudo snap install core; sudo snap refresh core

sudo snap install --classic certbot

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Запускаем certbot:

sudo certbot --nginx

У нас попросят адрес электронной почты для создания сертификата. Указываем почту (можно любую, но лучше свою):

Соглашаемся с условиями использования. Пишем Y, затем Enter:

Тоже соглашаемся. Пишем Y, нажимаем Enter:

Если всё сделали правильно - скрипт увидит доменное имя, которое вы указали. Скорее всего, он будет один. Выбираем нужный (В моем случае пишем 1), и нажимаем Enter:

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

🔧 Краткий обзор Jitsi

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

Если нажать на шестеренку, то откроются настройки Jitsi:

Есть и виртуальные фоны. То есть, вы можете включить камеру и на заднем фоне у вас будут Горы, Лес или какой-то другой фон:

При входе в конференцию вы сразу можете включить/выключить камеру и микрофон. Настроить задний фон и указать свой ник, который будут видеть другие:

Вот так выглядит главное окно конференции. Всё стандартно:

Можно поднять руку, если вы хотите что-то сказать:

Если нажать на список участников, то вы сможете управлять другими пользователями: включать и выключать звук, камеру:

И во вкладке "Модератор" можно указать базовые настройки конференции:

Jitsi поддерживает добавление видео на Youtube для совместного просмотра:

Минус в том, что видео не синхронизируется между пользователями. У вас видео может работать на третьей минуте, у собеседников на первой минуте. А если пользователь зайдет в конференцию позже, то у него видео начнется заново.

Для одновременного просмотра какого-то видео, лучше поделиться своим экраном и звуком. Таким образом будет удобнее и будет хоть какая-то синхронизация.

И я провел небольшой тест. Об этом в следующем пункте.

Небольшой тест Jitsi на своём сервере

Дано:
1. Сервер на ОС Ubuntu 22.04. 1ГБ ОЗУ, 1 ядро, 10гб диск. Сеть 300мбит/сек.

2. Установленный Jitsi, vnstat (для просмотра трафика), установленный htop (для просмотра загруженности сервера);


Я создал конференцию и зашёл туда с четырех устройств: Основной пк, Второй пк, Android и IOS смартфон. На одном ПК был включен микрофон. На смартфонах была включена камера и микрофоны. Дополнительно включил видео на ютубе через средства Jitsi.


Загруженность процессора в этот момент поднималась до 60%, но потом опускалась до 7% и чаще всего держалась до 10%:

Vnstat показал потребление трафика не более 3 мбит/сек при такой загрузке.
При этом контейнер Jitsi запускается с 3072 МБ (3ГБ) ОЗУ.

Из этого следует, что Jitsi лучше устанавливать на сервер с 4 ГБ ОЗУ минимум.
На этом тест был завершен.

Рейтинг материала
0
Всего голосов: 2

Быстро поделиться

Скопируйте или поделитесь ID материала

<a onclick=igor5841" class="w-full h-full object-cover">
Профиль автора

igor5841

Группа: [ Админ ] Регистрация: 26 ноября 2020, 11:14

Комментарии (0)

Отзывы сообщества

Поделитесь мнением

Присоединиться к обсуждению

Поделитесь мнением и пообщайтесь с сообществом.