웹사이트 검색

Debian 10에 Jitsi Meet 화상 회의 솔루션을 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 시작하기\n
  3. Nginx 웹 서버 설치
  4. Jitsi Meet 설치
  5. Secure Jitsi Meet with Lets Encrypt SSL
  6. Jitsi Meet 액세스
  7. Jitsi Meet에 대한 사용자 인증 설정\n
  8. 결론

Jitsi Meet은 독립 실행형 애플리케이션으로 사용하거나 웹 애플리케이션에 포함할 수 있는 무료 오픈 소스 화상 회의 애플리케이션입니다. WebRTC 기반으로 추가 소프트웨어나 브라우저 확장 설치 없이 다인용 화상회의실을 제공합니다.

특징

  • 화면 공유, 그룹 채팅, 프레젠테이션 등\n
  • Google 및 Microsoft 캘린더와 통합\n
  • 단순 URL을 통해 다른 사용자를 회의에 초대\n
  • 엔드 투 엔드 TLS 암호화 지원\n
  • 범용 다중 플랫폼 가용성\n
  • 공동 문서 편집

이 튜토리얼에서는 Debian 10에 Jitsi Meet Video Conferencing 애플리케이션을 설치하는 방법을 보여줍니다.

전제 조건

  • 최소 4GB RAM으로 Debian 10을 실행하는 서버.\n
  • 유효한 도메인 이름은 서버 IP로 지정됩니다. 이 튜토리얼에서는 linuxbuz.com 도메인의 jitsi.linuxbuz.com 하위 도메인을 사용합니다.\n
  • 서버에 루트 암호가 설정되어 있습니다.\n

시작하기

시작하기 전에 시스템 패키지를 최신 버전으로 업데이트하는 것이 좋습니다. 다음 명령을 사용하여 업데이트할 수 있습니다.

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

설치가 완료되면 다음 명령을 실행하여 Jitsi용 GPG 키를 다운로드하고 추가합니다.

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

설치하는 동안 아래와 같이 서버의 FQDN을 제공하라는 메시지가 표시됩니다.

유효한 도메인 이름을 제공하고 Enter를 누르십시오. 아래와 같이 SSL 인증서에 대한 질문이 표시됩니다.

자체 서명된 새 인증서 생성(나중에 Lets Encrypt 인증서를 얻을 수 있음) 옵션을 선택하고 Enter 키를 눌러 설치를 완료합니다.

설치가 완료되면 다음 단계로 진행할 수 있습니다.

Lets Encrypt SSL로 안전한 Jitsi Meet

이 시점에서 Jitsi Meet이 시스템에 설치됩니다. 다음으로 서버에 대한 Let’s Encrypt SSL 인증서를 생성해야 합니다.

기본적으로 Certbot은 Debian 10 기본 리포지토리에서 사용할 수 없습니다. 따라서 시스템에 Certbot 리포지토리를 추가해야 합니다.

다음 명령으로 추가할 수 있습니다.

echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list

다음으로 다음 명령을 사용하여 리포지토리를 업데이트하고 Nginx용 Certbot 클라이언트를 설치합니다.

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 버튼을 클릭합니다. 아래와 같이 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다.

사용자 이름, 비밀번호를 입력하고 확인 버튼을 클릭합니다.

결론

축하합니다! Debian 10 서버에 Jitsi Meet을 성공적으로 설치했습니다. 이제 웹 브라우저를 통해 링크를 공유하고 암호를 설정하고 오디오 및 비디오 품질 등을 구성할 수 있습니다.