Как самостоятельно разместить сервер Jitsi Meet с защитой паролем

Как самостоятельно разместить сервер Jitsi Meet с защитой паролем

Jitsi самостоятельно

Джитси Встреча это бесплатный Видео-конференция заявление. Он предлагает Открытый исходный код альтернатива проприетарным приложениям для видеоконференцсвязи, таким как Skype или же Увеличить. Любой желающий может создать зашифрованную видеовстречу Jitsi, перейдя в Веб-сайт Jitsi Meet или установив бесплатное приложение Jitsi.

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

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

Создайте Debian 9 VPS

Debian

Начните с создания нового VPS для вашего сервера Jitsi Meet. На панели управления вашего VPS-провайдера создайте новый виртуальный хост под управлением Debian 9, с как минимум 2 ГБ ОЗУ (рекомендуется).

Например, если вы используете Linode, на панели управления Linode выберите Создавать > Линод. Под Выберите распространение, Выбрать Debian 9 и тарифный план Linode с 2 ГБ ОЗУ..

Или, если вы используете Digital Ocean, на панели управления Digital Ocean выберите Создавать > Капли. Под Распределения, выберите Debian 9.12 x64 и план Droplet с 2 ГБ ОЗУ..

Обновить записи DNS

Добавить A / AAAA Записи DNS в свой домен с субдомен имя и IPv4 / IPv6-адрес вашего нового VPS.

Например, чтобы разместить Jitsi на video.mydomain.com, войдите в свой домен. регистратор account и отредактируйте записи DNS для mydomain.com. Добавьте две записи для видео с именем хоста, одну с IPv4 адрес ( "А" запись), и один с IPv6 адрес ( "AAAA" записывать).

Если вы не хотите использовать поддомен (например, mydomain.com вместо video.mydomain.com), оставьте имя хоста пустым в записях A / AAAA..

Обновите и обезопасьте VPS

Откройте Терминал или же командная строка окно. SSH на ваш VPS как корень Пользователь.

ssh [электронная почта защищена]айпи адрес

Обновите список пакетов и обновите установленное программное обеспечение.

подходящее обновление && apt -y обновление

Установите sudo и UFW (несложный брандмауэр).

apt install -y sudo ufw

Настроить брандмауэр

Настройте UFW, чтобы разрешить TCP-соединение на портах, используемых SSH, HTTP и HTTPS, и разрешить трафик UDP на порт 10000..

ufw разрешить ssh ufw разрешить http ufw разрешить https ufw разрешить 10000 / udp

Включите брандмауэр.

ufw включить

Установите имя хоста сервера на свой Полное доменное имя, например, video.mydomain.com.

hostnamectl set-hostname video.mydomain.com

Добавьте полное доменное имя в файл хостов. Откройте файл / etc / hosts в текстовом редакторе, например нано.

нано / и т.д. / хосты

Найдите строку 127.0.0.1 localhost и добавьте свое полное доменное имя.

127.0.0.1 локальный хост video.mydomain.com

Сохраните файл и выйдите из редактора. (В nano нажмите Ctrl + O, Войти чтобы сохранить файл, и Ctrl + X выходить.)

Создайте пользователя с правами sudo

Добавьте новую учетную запись пользователя. Заменять myuser с желаемым именем пользователя.

adduser myuser

Добавьте этого пользователя в группу sudo, чтобы он мог выполнять команды с судо.

usermod -aG судо myuser

Отключить root SSH

Откройте файл конфигурации демона SSH в текстовом редакторе..

нано / и т. д. / ssh / sshd_config

Найдите строку PermitRootLogin yes и измените yes на no.

PermitRootLogin нет

Сохраните файл и выйдите из редактора (Ctrl + O, Enter, Ctrl + X в nano).

Затем перезапустите демон SSH.

systemctl перезапустить sshd

Добавить ключ SSH

Следующие шаги добавляют SSH-ключ к серверу для обеспечения большей безопасности. Эти шаги необязательны, но рекомендуются.

Если вы все еще вошли в свой сеанс SSH, выйдите из системы..

выйти

Если у вас нет существующего ключа SSH, создайте его на своем локальном компьютере. (Если у вас есть ключ, который вы хотите использовать, пропустите этот шаг.)

ssh-keygen
Создание пары ключей открытого и закрытого типа RSA. Введите файл, в котором нужно сохранить ключ (C: \ Users \ neilg / .ssh / id_rsa):

Нажмите Enter, чтобы использовать имена файлов открытого / закрытого ключа по умолчанию..

При появлении запроса выберите сильный кодовая фраза как дополнительный уровень безопасности.

Введите кодовую фразу (пусто, если кодовая фраза отсутствует): это моя кодовая фраза.

Перенесите ключ на свой сервер по SSH. В Linux и macOS:

ssh-copy-id [электронная почта защищена]айпи адрес

В Windows 10:

cd% ПОЛЬЗОВАТЕЛЬСКИЙ ПРОФИЛЬ%
введите .ssh \ id_rsa.pub | ssh [электронная почта защищена]айпи адрес «mkdir -p ~ / .ssh; кошка >> ~ / .ssh / authorized_keys »

Войдите в VPS, используя свой SSH-ключ..

ssh [электронная почта защищена]айпи адрес

При появлении запроса введите ключевую парольную фразу..

Затем отключите аутентификацию SSH на основе пароля на VPS. Откройте конфигурацию демона SSH в текстовом редакторе.

sudo nano / etc / ssh / sshd_config

Найдите строку #PasswordAuthentication yes. Измените «да» на «нет» и удалите знак #, чтобы раскомментировать строку..

Пароль Аутентификация нет

Сохраните файл и выйдите из редактора. Затем перезапустите демон SSH.

sudo systemctl перезапустить sshd

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

Рекомендуется ограничить доступ к каталогу .ssh только для вашего пользователя..

sudo chmod 600 ~ / .ssh / *
sudo chmod 700 ~ / .ssh

Установить сервер Jitsi Meet

На платформе Jitsi

Следующие шаги устанавливают пакет сервера Jitsi Meet на ваш VPS..

Сначала включите установку APT пакеты через HTTPS.

sudo apt install -y apt-transport-https

Добавить Jitsi в список репозиториев APT.

echo ‘deb https://download.jitsi.org стабильный /’ | sudo tee \
/etc/apt/sources.list.d/jitsi-stable.list

Скачайте и установите публичный ключ шифрования репозитория Jitsi.

wget -qO — https://download.jitsi.org/jitsi-key.gpg.key | sudo \
apt-key добавить —

Обновите список пакетов APT.

sudo apt update

Установите сервер Jitsi Meet.

sudo apt install -y jitsi-meet

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

Имя хоста Jitsi

выбирать Создать новый самозаверяющий сертификат.

Создать самоподписанный сертификат

Затем замените самозаверяющий сертификат доверенным сертификатом, предоставленным Давайте зашифровать.

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

При появлении запроса введите адрес электронной почты для получения предупреждений или уведомлений о вашем сертификате..

Введите свой адрес электронной почты и нажмите [ENTER]: [электронная почта защищена]

Создание сертификата должно занять меньше минуты. Когда это будет сделано, ваш сервер Jitsi Meet будет доступен в Интернете в вашем домене. Вы можете создавать новые собрания и приглашать пользователей, поделившись URL-адресом собрания.

Джитси До встречи

Однако приложение небезопасно. Любой, кто заходит в ваш домен, может создать новую встречу Jitsi, размещенную на вашем сервере..

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

Настроить Prosody

Prosody — это компонент Jitsi Meet, который обеспечивает XMPP общение между пользователями и сервером. Следующие шаги настраивают Prosody для аутентификации пользователей, которые создают собрание Jitsi..

Создать гостевой домен

На VPS переключите пользователя на root.

sudo su

Перейти в каталог /etc/prosody/conf.avail/.

cd /etc/prosody/conf.avail/

Открыть файл fqdn.cfg.lua в текстовом редакторе.

nano video.mydomain.com.cfg.lua

в VirtualHost раздел для вашего домена, измените метод аутентификации с анонимного на internal_plain.

VirtualHost «video.mydomain.com» … аутентификация = «internal_plain»

Над существующими VirtualHost раздел для вашего сайта, вставьте новый VirtualHost раздел. Название этого VirtualHost является гость.fqdn. Например, вставьте следующие строки, чтобы создать нового гостя VirtualHost для сайта video.mydomain.com.

VirtualHost «guest.video.mydomain.com» authentication = «anonymous» c2s_require_encryption = false modules_enabled = {«чушь»; «pubsub»; «пинг»; «динамикстатс»; «оборотные данные»; «конференция_длительность»; }

Сохраните файл и выйдите из редактора. Затем выйдите из учетной записи root.

выход

Установить модуль storage_memory

Дополнительный модуль Prosody, storage_memory, позволяет использовать временное хранилище в памяти для постоянной информации, включая данные сеанса пользователя. Исходный код модуля доступен в Prosody’s Mercurial хранилище.

Установите Mercurial на свой VPS.

sudo apt install -y mercurial

Создайте временный каталог и перейдите в него.

mkdir ~ / темп && cd ~ / temp

Клонируйте репозиторий модулей prosody в новый каталог prosody_modules.

hg clone ‘https://hg.prosody.im/prosody-modules/’ prosody-modules

Скопируйте файл mod_storage_memory.lua в каталог / usr / lib / prosody / modules.

sudo cp prosody-modules / mod_storage_memory / *. lua / usr / lib / prosody / модули /.

Создайте анонимный домен Jitsi

Настройте Jitsi Meet для использования анонимного домена для пользователей, приглашенных на встречу.

Открыть файл / etc / jitsi / meet /fqdn-config.js в текстовом редакторе.

sudo nano /etc/jitsi/meet/video.mydomain.com-config.js

В переменной config в ключе hosts добавьте новый ключ с именем anonymousdomain со значением guest..fqdn.

Например, если ваш гостевой домен — guest.video.mydomain.com, запись должна выглядеть следующим образом. Обратите внимание, что строка заканчивается запятой.

var config = {… hosts: {… domain: ‘video.mydomain.com’, анонимный домен: ‘guest.video.mydomain.com’,
… }, …}

Сохраните файл и закройте текстовый редактор..

Настроить Jicofo

Jicofo (Jitsi Conference Focus) — это компонент Jitsi Meet, который управляет пользовательскими сессиями. Следующие шаги настраивают SIP (протокол инициации сеанса) Jicofo для использования аутентификации XMPP..

Откройте файл /etc/jitsi/jicofo/sip-communicator.properties в текстовом редакторе..

судо нано /etc/jitsi/jicofo/sip-communicator.properties

Добавьте новую строку со следующей конфигурацией. Замените video.mydomain.com своим полным доменным именем.

org.jitsi.jicofo.auth.URL = XMPP: video.mydomain.com

Сохраните файл и выйдите из редактора.

Создание пользователей с правами администратора Jitsi

Доступ к административным функциям Prosody осуществляется с помощью команды prosodyctl («Prosody control»)..

Чтобы создать пользователя / пароль для Jitsi Meet, выполните команду prosodyctl register имя пользователя fqdn пароль.

sudo prosodyctl register alice video.mydomain.com secretpassword123

Повторите эту команду для всех дополнительных пользователей, которых вы хотите создать..

Кончик

Учетная запись требуется только пользователям, которые создают новые собрания. Для подключения к существующей встрече не требуется авторизация..

Перезапустить сервисы

Чтобы применить новую конфигурацию, перезапустите затронутые службы..

sudo systemctl restart {prosody, jicofo, jitsi-videobridge2, nginx}

Теперь только пользователи с правильной комбинацией имени пользователя и пароля могут создавать новые встречи на вашем сервере Jitsi..

Создание новых встреч

Выполните следующие действия, чтобы создать новые встречи на вашем сервере Jitsi..

В браузере

На портативном или настольном компьютере откройте в браузере адрес своего сервера Jitsi..

Под Начать новую встречу, введите название встречи и нажмите Идти.

Кончик

Это имя отображается в URL-адресе, которым вы делитесь с приглашенными. Имена встреч не чувствительный к регистру.

Встреча имени Джитси

Нажмите Я хозяин.

Убедитесь, что вы являетесь хозяином

Введите имя пользователя и пароль Jitsi, которые вы создали, и нажмите ОК..

Аутентифицировать

Если аутентификация прошла успешно, конференция сразу же станет активной..

Кончик

Вам нужно пройти аутентификацию только один раз за сеанс браузера. Чтобы забыть текущий логин, очистите файлы cookie браузера, см.: Как включить, отключить, просмотреть или удалить файлы cookie в Интернете?

В мобильном приложении

Загрузите приложение Jitsi для iOS на сайте Магазин приложений, или для Android на Магазин игр.

Откройте приложение Jitsi Meet. Нажмите кнопку меню и выберите Настройки.

Мобильное приложение Jitsi

В настройках под URL-адрес сервера, введите домен вашего Jitsi сервера.

Настроить хост в настройках

Вернитесь в главное окно приложения. Введите новое название встречи и коснитесь создать / присоединиться.

Создать новую встречу

Кран Ok.

Проверить статус хоста

Введите имя пользователя и пароль Jitsi, которые вы создали, и коснитесь Ok.

Введите имя и пароль

Если приложение зависает на "Подключение," подождите несколько секунд для завершения аутентификации.