Debian 10에 Jitsi Meet 화상 회의 솔루션을 설치하는 방법
이 페이지에서
- 전제 조건
- 시작하기\n
- Nginx 웹 서버 설치
- Jitsi Meet 설치
- Secure Jitsi Meet with Lets Encrypt SSL
- Jitsi Meet 액세스
- Jitsi Meet에 대한 사용자 인증 설정\n
- 결론
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을 성공적으로 설치했습니다. 이제 웹 브라우저를 통해 링크를 공유하고 암호를 설정하고 오디오 및 비디오 품질 등을 구성할 수 있습니다.