Как установить сервер видеоконференций Jitsi Meet на Ubuntu 22.04
Это руководство существует для этих версий ОС
- Ubuntu 22.04 (Jammy Jellyfish)
- Ubuntu 18.04 (Bionic Beaver)
На этой странице
- Предпосылки
- Начало работы
- Установите Jitsi Meet в Ubuntu 22.04
- Создайте сертификат Let’s Encrypt
- Настройка Jitsi Meet
- Перезапуск службы Jitsi
- Настройка брандмауэра UFW
- Доступ к Jitsi Meet
- Заключение
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 через веб-браузер или мобильное приложение и начать звонить другим пользователям. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.