웹사이트 검색

Ubuntu 22.04에 Jitsi Meet 화상 회의 서버를 설치하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

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

이 페이지에서

  1. 전제 조건
  2. 시작하기\n
  3. Ubuntu 22.04에 Jitsi Meet 설치
  4. Let's Encrypt 인증서 생성
  5. Jitsi Meet 구성
  6. Jitsi 서비스 다시 시작
  7. UFW 방화벽 구성\n
  8. Jitsi Meet 액세스
  9. 결론

Jitsi는 무료 오픈 소스 채팅, 전화 통신 및 화상 회의 도구입니다. Skype, Zoom 및 Microsoft Teams와 같은 다른 도구에 대한 매우 좋은 대안입니다. 소프트웨어를 등록하거나 설치하지 않고도 Jitsi를 사용할 수 있습니다. 웹 브라우저를 통해 직접 액세스할 수 있습니다. Jitsi를 사용하면 SIP 또는 XMPP 프로토콜을 사용하여 무료 통화, 채팅, 파일 전송 또는 화면 공유를 할 수 있습니다. 오픈 소스 화상 회의 및 통화 도구를 찾고 있다면 Jitsi가 최선의 선택입니다.

이 게시물에서는 Ubuntu 22.04 서버에 Jitsi Meet을 설치하는 방법을 보여줍니다.

전제 조건

  • 최소 4GB RAM이 장착된 Ubuntu 22.04를 실행하는 서버.\n
  • 서버 IP를 가리키는 유효한 도메인 이름입니다.\n
  • 루트 암호는 서버에서 구성됩니다.\n

시작하기

시작하기 전에 모든 소프트웨어 패키지를 최신 버전으로 업데이트해야 합니다. 다음 명령을 실행하여 업데이트할 수 있습니다.

apt-get update -y

모든 패키지가 업데이트되면 서버에 필요한 몇 가지 종속 항목도 설치해야 합니다. 다음 명령을 실행하여 모두 설치할 수 있습니다.

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

모든 패키지가 설치되면 다음 단계로 진행할 수 있습니다.

Ubuntu 22.04에 Jitsi Meet 설치

기본적으로 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 인증서는 권장되지 않습니다. 따라서 Jitsi용 Lets Encrypt SSL을 설치해야 합니다.

다음 명령을 사용하여 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 모임 구성

다음으로 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를 사용할 수 있습니다.

결론

축하합니다! Ubuntu 22.04 서버에 Lets Encrypt SSL을 사용하여 Jitsi Meet을 성공적으로 설치했습니다. 이제 웹 브라우저 또는 모바일 애플리케이션을 통해 Jitsi에 액세스하고 다른 사용자와 통화를 시작할 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요.