Как установить решение для видеоконференций Jitsi Meet на Debian 10
На этой странице
- Предпосылки
- Начало работы
- Установите веб-сервер Nginx
- Установить Jitsi Meet
- Защитите Jitsi Meet с помощью Lets Encrypt SSL
- Доступ к Jitsi Meet
- Настройка аутентификации пользователя для Jitsi Meet
- Заключение
Jitsi Meet — это бесплатное приложение для видеоконференций с открытым исходным кодом, которое можно использовать как отдельное приложение или встроить в ваше веб-приложение. Он основан на WebRTC и предоставляет комнаты для видеоконференций на несколько человек без установки дополнительного программного обеспечения или расширений для браузера.
Функции
- Демонстрация экрана, групповой чат, презентации и многое другое
- Интеграция с Google и Microsoft Calendar
- Приглашение других пользователей на конференцию с помощью простого URL-адреса
- Поддержка сквозного шифрования TLS.
- Универсальная многоплатформенная доступность
- Совместное редактирование документов
В этом руководстве мы покажем вам, как установить приложение для видеоконференций Jitsi Meet на Debian 10.
Предпосылки
- Сервер под управлением Debian 10 с оперативной памятью не менее 4 ГБ.
- Действительное доменное имя указано с IP-адресом вашего сервера. В этом руководстве мы будем использовать поддомен jitsi.linuxbuz.com домена linuxbuz.com.
- На вашем сервере установлен пароль root.
Начиная
Перед запуском рекомендуется обновить системный пакет до последней версии. Вы можете обновить их с помощью следующей команды:
apt-get update -y
apt-get upgrade -y
После обновления всех пакетов перезагрузите систему, чтобы изменения вступили в силу.
Установите веб-сервер Nginx
Перед установкой Jitsi Meet вам необходимо установить веб-сервер Nginx в вашей системе. Вы можете установить его с помощью следующей команды:
apt-get install nginx -y
После установки Nginx можно переходить к следующему шагу.
Установите Jitsi Meet
Сначала установите необходимые зависимости в вашей системе с помощью следующей команды:
apt-get install gnupg2 apt-transport-https software-properties-common -y
После установки загрузите и добавьте ключ GPG для Jitsi, выполнив следующую команду:
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | apt-key add -
Затем добавьте репозиторий Jitsi с помощью следующей команды:
sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"
После добавления репозитория обновите репозиторий с помощью следующей команды:
apt-get update -y
Затем установите Jitsi Meet, выполнив следующую команду:
apt-get install jitsi-meet
Во время установки вам будет предложено указать полное доменное имя вашего сервера, как показано ниже:
Укажите действительное доменное имя и нажмите Enter. Вас спросят о SSL-сертификате, как показано ниже:
Выберите параметр «Создать новый самозаверяющий сертификат» (позже у вас будет возможность получить сертификат Lets Encrypt) и нажмите «Ввод», чтобы завершить установку.
После завершения установки можно переходить к следующему шагу.
Защитите Jitsi Meet с помощью Lets Encrypt SSL
На данный момент Jitsi Meet установлен в вашей системе. Далее вам нужно будет сгенерировать SSL-сертификат Let’s Encrypt для вашего сервера.
По умолчанию Certbot недоступен в стандартном репозитории Debian 10. Поэтому вам нужно будет добавить репозиторий Certbot в вашу систему.
Вы можете добавить его с помощью следующей команды:
echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list
Затем обновите репозиторий и установите клиент Certbot для Nginx с помощью следующей команды:
apt-get update -y
apt-get install python3-certbot-nginx -t buster-backports
Вы можете сделать это, запустив следующий скрипт:
/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
Вам будет предложено указать свой адрес электронной почты, как показано ниже:
------------------------------------------------------------------------- This script will: - Need a working DNS record pointing to this machine(for domain jisti.linuxbuz.com) - Download certbot-auto from https://dl.eff.org to /usr/local/sbin - Install additional dependencies in order to request Let’s Encrypt certificate - If running with jetty serving web content, will stop Jitsi Videobridge - Configure and reload nginx or apache2, whichever is used - Configure the coturn server to use Let's Encrypt certificate and add required deploy hooks - Add command in weekly cron job to renew certificates regularly You need to agree to the ACME server's Subscriber Agreement (https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf) by providing an email address for important account notifications Enter your email and press [ENTER]:
Укажите свой действующий адрес электронной почты и нажмите Enter, чтобы продолжить. После успешного завершения процесса вы должны увидеть следующий вывод:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator webroot, Installer None Obtaining a new certificate Performing the following challenges: http-01 challenge for jisti.linuxbuz.com Using the webroot path /usr/share/jitsi-meet for all unmatched domains. Waiting for verification... Cleaning up challenges Running deploy-hook command: /etc/letsencrypt/renewal-hooks/deploy/0000-coturn-certbot-deploy.sh Output from deploy-hook command 0000-coturn-certbot-deploy.sh: Configuring turnserver IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/jisti.linuxbuz.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/jisti.linuxbuz.com/privkey.pem Your cert will expire on 2020-07-28. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Как только вы закончите, вы можете перейти к следующему шагу.
Доступ к Jitsi Meet
На данный момент ваше веб-приложение Jitsi Meet защищено с помощью Lets Encrypt SSL.
Откройте веб-браузер и введите URL-адрес https://jitsi.linuxbuz.com. Вы будете перенаправлены на следующий экран:
Укажите название конференции и нажмите кнопку GO. Вам будет предложено разрешить микрофон и камеру, как показано ниже:
Нажмите кнопку Разрешить. Вы будете перенаправлены в конференц-зал, как показано ниже:
Как только вы закончите, вы можете перейти к следующему шагу.
Настройте аутентификацию пользователя для Jitsi Meet
По умолчанию Jitsi Meet позволяет любому посетить ваш сервер Jitsi, создать комнату и начать собрание. Это нежелательно для неавторизованных пользователей. Поэтому вам нужно будет настроить аутентификацию пользователей для Jitsi Meet, чтобы только зарегистрированные пользователи могли создавать новые конференц-залы.
Вы можете настроить его, отредактировав файл jitsi.linuxbuz.com.cfg.lua.
nano /etc/prosody/conf.avail/jitsi.linuxbuz.com.cfg.lua
Найдите следующую строку:
authentication = "anonymous"
И замените его следующей строкой:
authentication = "internal_plain"
Затем добавьте следующие строки в конец файла:
VirtualHost "guest.jitsi.linuxbuz.com" authentication = "anonymous" c2s_require_encryption = false
Сохраните и закройте файл, когда закончите.
Приведенная выше конфигурация позволит анонимным пользователям присоединяться к конференц-залам, созданным авторизованным пользователем.
Затем откройте файл конфигурации Jitsi Meet /etc/jitsi/meet/jitsi.linuxbuz.com-config.js, как показано ниже:
nano /etc/jitsi/meet/jitsi.linuxbuz.com-config.js
Найдите следующую строку:
// anonymousdomain: 'guest.example.com',
И замените его следующей строкой:
anonymousdomain: 'guest.jitsi.linuxbuz.com',
Сохраните и закройте файл, когда закончите.
Затем откройте файл конфигурации Jicofo, как показано ниже:
nano /etc/jitsi/jicofo/sip-communicator.properties
Добавьте следующую строку в конец этого файла:
org.jitsi.jicofo.auth.URL=XMPP:jitsi.linuxbuz.com
Сохраните и закройте файл, когда закончите.
На данный момент Jitsi Meet настроен так, что только зарегистрированные пользователи могут создавать конференц-залы. После создания конференц-зала любой пользователь может присоединиться к нему без предоставления каких-либо учетных данных. Вам нужен только уникальный адрес конференц-зала и необязательный пароль, установленный создателем помещения.
Далее вам нужно будет создать новую учетную запись пользователя для Jitsi и установить для нее пароль.
Вы можете создать его с помощью следующей команды:
prosodyctl register jitsiuser jitsi.linuxbuz.com password
Теперь вы можете использовать созданного выше пользователя для создания конференц-зала.
Наконец, перезапустите службы Jitsi Meet, выполнив следующую команду:
systemctl restart prosody
systemctl restart jicofo
systemctl restart jitsi-videobridge2
Теперь проверьте состояние всех служб с помощью следующей команды:
systemctl status jitsi-videobridge2 prosody jicofo
Вы должны увидеть следующий вывод:
? jitsi-videobridge2.service - Jitsi Videobridge Loaded: loaded (/lib/systemd/system/jitsi-videobridge2.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2020-04-29 16:17:33 UTC; 49s ago Process: 11623 ExecStartPost=/bin/bash -c echo $MAINPID > /var/run/jitsi-videobridge/jitsi-videobridge.pid (code=exited, status=0/SUCCESS) Main PID: 11622 (java) Tasks: 39 (limit: 65000) Memory: 161.0M CGroup: /system.slice/jitsi-videobridge2.service ??11622 java -Xmx3072m -XX:+UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Dnet.java.sip.communicator.SC_ Apr 29 16:17:33 debian10 systemd[1]: Starting Jitsi Videobridge... Apr 29 16:17:33 debian10 systemd[1]: Started Jitsi Videobridge. ? prosody.service - Prosody XMPP Server Loaded: loaded (/lib/systemd/system/prosody.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2020-04-29 16:17:21 UTC; 1min 1s ago Docs: https://prosody.im/doc Main PID: 11537 (lua5.2) Tasks: 1 (limit: 4701) Memory: 14.1M CGroup: /system.slice/prosody.service ??11537 lua5.2 /usr/bin/prosody Apr 29 16:17:21 debian10 systemd[1]: Started Prosody XMPP Server. ? jicofo.service - LSB: Jitsi conference Focus Loaded: loaded (/etc/init.d/jicofo; generated) Active: active (running) since Wed 2020-04-29 16:17:27 UTC; 56s ago Docs: man:systemd-sysv-generator(8) Process: 11555 ExecStart=/etc/init.d/jicofo start (code=exited, status=0/SUCCESS) Tasks: 80 (limit: 4701) Memory: 163.4M CGroup: /system.slice/jicofo.service ??11564 java -Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/j Apr 29 16:17:27 debian10 systemd[1]: Starting LSB: Jitsi conference Focus...
Теперь откройте веб-браузер и введите URL-адрес https://jitsi.linuxbuz.com. Вы должны увидеть следующий экран:
Укажите название вашей комнаты и нажмите кнопку GO. Вам будет предложено ввести имя пользователя и пароль, как показано ниже:
Введите имя пользователя, пароль и нажмите кнопку ОК.
Заключение
Поздравляем! вы успешно установили Jitsi Meet на сервер Debian 10. Теперь вы можете поделиться ссылкой, установить пароль, настроить качество звука и видео и многое другое через веб-браузер.