Поиск по сайту:

Как установить решение для видеоконференций Jitsi Meet на Debian 10


На этой странице

  1. Предпосылки
  2. Начало работы
  3. Установите веб-сервер Nginx
  4. Установить Jitsi Meet
  5. Защитите Jitsi Meet с помощью Lets Encrypt SSL
  6. Доступ к Jitsi Meet
  7. Настройка аутентификации пользователя для Jitsi Meet
  8. Заключение

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. Теперь вы можете поделиться ссылкой, установить пароль, настроить качество звука и видео и многое другое через веб-браузер.