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

Как установить сервер видеоконференций Jitsi Meet на Ubuntu 22.04


Это руководство существует для этих версий ОС

  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 18.04 (Bionic Beaver)

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

  1. Предпосылки
  2. Начало работы
  3. Установите Jitsi Meet в Ubuntu 22.04
  4. Создайте сертификат Let’s Encrypt
  5. Настройка Jitsi Meet
  6. Перезапуск службы Jitsi
  7. Настройка брандмауэра UFW
  8. Доступ к Jitsi Meet
  9. Заключение

Jitsi — это бесплатный чат, телефония и инструмент для видеоконференций с открытым исходным кодом. Это очень хорошая альтернатива другим инструментам, таким как Skype, Zoom и Microsoft Teams. Вы можете использовать Jitsi без регистрации и установки какого-либо программного обеспечения. Вы можете получить к нему доступ напрямую через веб-браузер. Jitsi позволяет совершать бесплатные звонки, общаться в чате, отправлять файлы или делиться экраном, используя протокол SIP или XMPP. Если вы ищете инструмент для видеоконференций и звонков с открытым исходным кодом, Jitsi — лучший вариант для вас.

В этом посте мы покажем вам, как установить Jitsi Meet на сервер Ubuntu 22.04.

Предпосылки

  • Сервер под управлением Ubuntu 22.04 с оперативной памятью не менее 4 ГБ.
  • Действительное доменное имя, указанное с IP-адресом вашего сервера.
  • На сервере настроен пароль root.

Начиная

Перед запуском вам нужно будет обновить все программные пакеты до последней версии. Вы можете обновить их, выполнив следующую команду:

apt-get update -y

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

apt-get install wget curl gnupg2 apt-transport-https -y

После установки всех пакетов можно переходить к следующему шагу.

Установите Jitsi Meet на Ubuntu 22.04

По умолчанию программное обеспечение Jitsi Meet не включено в стандартный репозиторий Ubuntu. Поэтому вам нужно будет добавить его официальный репозиторий в APT.

Сначала добавьте репозиторий Jitsi в APT с помощью следующей команды:

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

Затем загрузите и добавьте ключ Jitsi GPG с помощью следующей команды:

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

Затем обновите репозиторий и установите Jitsi Meet с помощью следующей команды:

apt-get update -y
apt-get install jitsi-meet -y

Во время установки вам будет предложено указать полное имя хоста вашей системы, как показано ниже:

Укажите имя хоста вашей системы и нажмите кнопку «ОК». Вам будет предложено установить сертификат SSL:

Выберите «Создать новый самозаверяющий сертификат» и нажмите кнопку «ОК», чтобы завершить установку.

Создайте сертификат Let’s Encrypt

Для производственной среды не рекомендуется использовать самозаверяющий сертификат SSL. Поэтому вам нужно будет установить Lets Encrypt SSL для Jitsi.

Вы можете установить Lets Encrypt SSL с помощью следующей команды:

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

Вам будет предложено ввести адрес электронной почты для установки Lets Encrypt SSL:

-------------------------------------------------------------------------
This script will:
- Need a working DNS record pointing to this machine(for domain jitsi.example.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]: 

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 jitsi.example.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/jitsi.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/jitsi.example.com/privkey.pem
Your cert will expire on 2022-09-27. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- 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 meed и настроить его так, чтобы только зарегистрированные пользователи могли создавать конференц-залы.

nano /etc/prosody/conf.avail/jitsi.example.com.cfg.lua

Измените следующие строки:

authentication = "anonymous"
authentication = "internal_plain"
VirtualHost "guest.jitsi.example.com"
authentication = "anonymous"
c2s_require_encryption = false

Сохраните и закройте файл, затем откройте другой файл конфигурации:

nano /etc/jitsi/meet/jitsi.example.com-config.js

Добавьте следующую строку:

anonymousdomain: 'guest.jitsi.example.com',

Затем создайте файл конфигурации SIP с помощью следующей команды:

nano /etc/jitsi/jicofo/sip-communicator.properties

Добавьте следующую строку:

org.jitsi.jicofo.auth.URL=XMPP:jitsi.example.com

Сохраните и закройте файл, затем создайте пользователя для Jitsi с помощью следующей команды:

prosodyctl register user jitsi.example.com password

Перезапуск службы Jitsi

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

systemctl restart prosody.service jicofo.service jitsi-videobridge2.service

Теперь проверьте состояние службы Prosody с помощью следующей команды:

systemctl status prosody.service

Вы должны увидеть следующий вывод:

? prosody.service - Prosody XMPP Server
     Loaded: loaded (/lib/systemd/system/prosody.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-06-25 16:15:58 UTC; 5s ago
       Docs: https://prosody.im/doc
   Main PID: 62561 (lua5.2)
      Tasks: 1 (limit: 4579)
     Memory: 9.3M
        CPU: 475ms
     CGroup: /system.slice/prosody.service
             ??62561 lua5.2 /usr/bin/prosody -F

Jun 25 16:15:58 ubuntu2204 systemd[1]: Started Prosody XMPP Server.

Чтобы проверить состояние службы Jicofo, выполните следующую команду:

systemctl status jicofo.service

Вы должны увидеть следующий вывод:

? jicofo.service - LSB: Jitsi conference Focus
     Loaded: loaded (/etc/init.d/jicofo; generated)
     Active: active (running) since Sat 2022-06-25 16:15:58 UTC; 22s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 62534 ExecStart=/etc/init.d/jicofo start (code=exited, status=0/SUCCESS)
      Tasks: 35 (limit: 4579)
     Memory: 177.4M
        CPU: 8.700s
     CGroup: /system.slice/jicofo.service
             ??62540 java -Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djdk.tls.ephemeralDHKeySize=2048 -Dconfig.file=/et>

Jun 25 16:15:58 ubuntu2204 systemd[1]: Starting LSB: Jitsi conference Focus...
Jun 25 16:15:58 ubuntu2204 jicofo[62534]: Starting jicofo: jicofo started.
Jun 25 16:15:58 ubuntu2204 systemd[1]: Started LSB: Jitsi conference Focus.

Чтобы проверить сервис Jitsi videobridge2, выполните следующую команду:

systemctl status jitsi-videobridge2.service

Вы должны увидеть следующий вывод:

? jitsi-videobridge2.service - Jitsi Videobridge
     Loaded: loaded (/lib/systemd/system/jitsi-videobridge2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-06-25 16:15:58 UTC; 35s ago
    Process: 62564 ExecStartPost=/bin/bash -c echo $MAINPID > /var/run/jitsi-videobridge/jitsi-videobridge.pid (code=exited, status=0/SUCCESS)
   Main PID: 62563 (java)
      Tasks: 48 (limit: 65000)
     Memory: 171.4M
        CPU: 9.877s
     CGroup: /system.slice/jitsi-videobridge2.service
             ??62563 java -Xmx3072m -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djdk.tls.ephemeralDHKeySize=2048 -Dco>

Jun 25 16:15:58 ubuntu2204 systemd[1]: Starting Jitsi Videobridge...
Jun 25 16:15:58 ubuntu2204 systemd[1]: Started Jitsi Videobridge.

Настройка брандмауэра UFW

Затем вам нужно будет разрешить все порты Jitsi через брандмауэр, чтобы вы могли получить к нему доступ с удаленного компьютера. Вы можете разрешить их через UFW, как показано ниже:

ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 4443/tcp
ufw allow 10000/udp
ufw allow 22/tcp
ufw enable

Вы также можете проверить правила брандмауэра с помощью следующей команды:

ufw status

После настройки брандмауэра UFW вы можете перейти к следующему шагу.

Доступ к Jitsi Meet

На этом этапе Jitsi Meet установлен и настроен на вашем сервере Ubuntu 22.04. Теперь вы можете получить доступ к его веб-интерфейсу, используя URL-адрес https://jitsi.example.com. Вы должны увидеть страницу создания комнаты Jitsi Meet:

Теперь вы можете указать имя своей комнаты и начать использовать Jitsi.

Заключение

Поздравляем! вы успешно установили Jitsi Meet с Lets Encrypt SSL на сервер Ubuntu 22.04. Теперь вы можете получить доступ к Jitsi через веб-браузер или мобильное приложение и начать звонить другим пользователям. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.