Let's Encrypt SSL을 사용하여 Ubuntu 24.04에 Jitsi Meet을 설치하는 방법

Ubuntu 24.04에 Jitsi Meet을 설치하는 것은 DNS 이름, 방화벽 및 TLS 플랜이 패키지 설치 프로그램을 실행하기 전에 올바르게 설정되어 있다면 간단합니다. 2026년 8월 10일에 마지막으로 업데이트된 공식 Jitsi 자체 호스팅 가이드는 Ubuntu 22.04 이상을 지원하므로 Ubuntu 24.04 LTS는 문서화된 지원 범위에 포함됩니다. 해당 가이드에서는 신뢰할 수 있는 TLS 인증서 사용을 권장하며 설치 과정에서 Let's Encrypt를 선호하는 인증서 옵션으로 제시합니다.

이 가이드에서는 meet.example.org예시 호스트 이름을 사용했지만, 실제 서버를 가리키는 정규화된 도메인 이름으로 모두 바꿔야 합니다.

Jitsi Meet을 설치하기 전에 무엇을 준비해야 할까요?

Jitsi를 사용하려면 sudo 권한이 있는 Ubuntu 24.04 서버, 공용 DNS 이름, 그리고 Jitsi에 필요한 포트에 대한 인바운드 네트워크 액세스가 필요합니다. Jitsi는 실시간 WebRTC 서비스이므로 웹 페이지는 표시할 수 있지만 UDP 미디어 트래픽을 수신할 수 없는 서버는 완전한 배포가 아닙니다.

  • 관리자 권한이 있는 Ubuntu 24.04 LTS입니다.
  • meet.example.org서버의 공용 IPv4 주소를 가리키는 DNS A 레코드와 같은 것입니다 .
  • TCP 포트 80과 443은 인터넷에서 접근 가능합니다.
  • UDP 포트 10000은 일반 Jitsi 미디어 트래픽에 대해 접근 가능합니다.
  • SSH 접속 시에는 일반적으로 TCP 22 포트를 사용하며, 사용자가 직접 변경하지 않은 경우입니다.
  • 상위 클라우드 방화벽, 보안 그룹, 라우터 또는 NAT 장치에 대한 충분한 제어 권한이 있어야 동일한 포트를 포워딩할 수 있습니다.

Jitsi 문서에는 STUN 쿼리가 활성화된 경우 UDP 3478 포트를, TURN 대체 트래픽에는 TCP 5349 포트를 사용하라고 명시되어 있습니다. 서버가 NAT 뒤에 있는 경우 Ubuntu와 라우터 또는 클라우드 네트워크 모두에서 방화벽 구성이 올바르도록 설정해야 합니다.

Jitsi Meet 설치 전 운영 체제 릴리스 및 OpenJDK 17 버전 확인 화면을 보여주는 Ubuntu 24.04 터미널 화면입니다.
Jitsi Meet 설치를 시작하기 전에 서버가 Ubuntu 24.04에서 실행 중인지 확인하고 Java 런타임을 점검하십시오.

Let's Encrypt가 작동하려면 호스트 이름이 먼저 확인되어야 하나요?

네. 먼저 DNS 레코드를 생성하고 공용 리졸버가 서버의 공용 주소를 반환할 때까지 기다리세요. Let's Encrypt는 호스트 이름에 대한 제어 권한을 확인할 수 있어야 하며, Jitsi의 Nginx 구성도 해당 호스트 이름을 사용합니다.

일반적인 배포를 위해 A 레코드를 생성합니다.

유형이름값
에이meet.example.org서버의 공용 IPv4 주소

서버에서 이름이 예상대로 확인되는지 확인하십시오.

getent ahostsv4 meet.example.org

잘못된 주소가 반환되면 여기서 중단하고 DNS를 수정하세요. DNS가 올바르게 설정되기 전에 인증서를 발급하면 일반적으로 피할 수 있는 유효성 검사 오류가 발생합니다.

meet.example.org의 DNS 관리 페이지와 호스트 이름을 공용 IPv4 주소로 변환하는 터미널 화면이 함께 표시됩니다.
Let's Encrypt 인증서를 요청하기 전에 회의 호스트 이름이 Ubuntu 서버의 공용 주소로 확인되는지 확인하십시오.

어떤 기본 패키지와 우분투 저장소가 필수적입니까?

현재 Jitsi Debian/Ubuntu 가이드에는 sudo를 사용할 때 gnupg2, nginx-full, curl또는 wget가 나열되어 있습니다. 또한 OpenJDK 17을 사용해야 한다고 명시되어 있습니다. Jitsi는 Ubuntu 저장소의 패키지에 의존합니다.sudouniverse

sudo apt update
sudo apt install apt-transport-https
sudo add-apt-repository universe
sudo apt update
sudo apt install gnupg2 nginx-full curl

해당 apt-transport-https패키지는 현재 Jitsi 빠른 시작 지침에 포함되어 있으므로 여기에 그대로 유지됩니다. 최신 Ubuntu에서는 HTTPS 전송이 이미 APT에 통합되어 있으므로 해당 패키지를 설치하는 것은 사실상 기능을 활성화하는 것이 아니라 호환성을 확보하는 단계일 수 있습니다.

우분투 터미널에서 APT를 업데이트하고, universe 저장소를 활성화하고, Jitsi Meet에 필요한 패키지를 설치하는 방법입니다.
Ubuntu 패키지 소스를 준비하고 현재 Jitsi 자체 호스팅 가이드에서 참조하는 필수 구성 요소를 설치합니다.

Prosody와 Jitsi 저장소를 어떻게 추가하나요?

Jitsi는 XMPP 시그널링을 위해 Prosody를 사용합니다. 현재 공식 빠른 시작 가이드에서는 관리자에게 Prosody 패키지 저장소와 Jitsi 안정 저장소를 모두 추가하도록 안내하고 있습니다.

sudo curl -sL https://prosody.im/files/prosody-debian-packages.key   -o /usr/share/keyrings/prosody-debian-packages.key

echo "deb [signed-by=/usr/share/keyrings/prosody-debian-packages.key] http://packages.prosody.im/debian $(lsb_release -sc) main" |   sudo tee /etc/apt/sources.list.d/prosody-debian-packages.list

sudo apt install lua5.2

curl -sL https://download.jitsi.org/jitsi-key.gpg.key |   sudo sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg'

echo "deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/" |   sudo tee /etc/apt/sources.list.d/jitsi-stable.list

sudo apt update

이러한 저장소 대신 임의의 타사 PPA를 사용하지 마십시오. Jitsi에서 제공하는 공식 패키지 소스를 사용하면 호환되지 않는 Jitsi, Prosody 및 Ubuntu 패키지가 혼합될 위험을 줄일 수 있습니다.

Prosody 및 Jitsi 저장소 키와 소스 목록 명령어가 문서화된 Ubuntu 터미널 화면을 보여줍니다.
현재 Jitsi Debian 및 Ubuntu 설치 가이드에서 사용하는 패키지 소스를 추가한 다음 APT 메타데이터를 새로 고치십시오.

설치 전에 어떤 방화벽 포트를 열어야 합니까?

인증서를 요청하기 전에 필요한 포트를 열어 HTTP 유효성 검사가 서버에 도달하고 설치 후 미디어가 원활하게 전송될 수 있도록 하십시오. UFW의 경우, 현재 Jitsi 가이드에서는 다음과 같은 규칙을 제시합니다.

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 10000/udp
sudo ufw allow 22/tcp
sudo ufw allow 3478/udp
sudo ufw allow 5349/tcp
sudo ufw enable
sudo ufw status verbose

SSH가 다른 포트를 사용하는 경우, TCP 22를 무작정 추가하는 대신 해당 포트를 허용하십시오. 클라우드 VM에서는 공급자 방화벽 또는 보안 그룹에 필요한 규칙을 복제하십시오. 라우터 뒤에 있는 서버에서는 필요한 포트를 Ubuntu 호스트로 포워딩하십시오.

우분투 터미널에 Jitsi Meet에 대한 UFW 규칙이 표시됩니다. 여기에는 TCP 80 및 443 포트와 UDP 10000 포트가 포함됩니다.
UFW에서 Jitsi의 공식 웹, 미디어, SSH, STUN 및 TURN 포트를 열고, 서버에서 표준 포트가 아닌 다른 포트를 사용하는 경우 SSH 규칙을 조정하십시오.

Jitsi Meet을 설치하고 Let's Encrypt를 선택하는 방법은 무엇인가요?

Jitsi 저장소에서 메타패키지를 설치하세요:

sudo apt install jitsi-meet

설치 프로그램에서 Jitsi 호스트 이름을 입력하라는 메시지가 나타납니다. 예를 들어 `/jitsi.hostname`과 같은 공개 DNS 이름을 입력하십시오 meet.example.org. 최신 Jitsi 설명서에 따르면 설치 과정에서 SSL/TLS 인증서 선택 옵션이 제공되며, Let's Encrypt 옵션을 권장합니다. 해당 옵션이 표시되면 Let's Encrypt 인증서를 선택하십시오.

이는 기존의 독립형 인증서 스크립트를 보편적인 단계로 취급하는 것보다 바람직합니다. 현재 빠른 시작 가이드는 패키지 설치 흐름에서 인증서 선택을 중심으로 설명합니다. 설치된 패키지가 현재 문서와 다르게 동작하는 경우, 임의로 해결 방법을 만들지 말고 패키지 안내 메시지와 버전별 Jitsi 문서를 검토한 후 Nginx 또는 인증서 파일을 수동으로 변경하십시오.

Jitsi Meet 호스트 이름 및 Let's Encrypt 인증서 옵션에 대한 Ubuntu 패키지 구성 대화 상자입니다.
패키지 구성 중에 공개 회의 호스트 이름을 입력하고 설치 프로그램에서 Let's Encrypt 인증서 옵션을 제시하면 해당 옵션을 선택하십시오.

HTTPS와 회의 페이지가 제대로 작동하는지 어떻게 확인할 수 있나요?

https://meet.example.org서버 외부의 브라우저에서 접속하세요 . 배포가 성공적으로 완료되면 브라우저 인증서 경고 없이 Jitsi Meet 페이지가 로드됩니다. 임시 회의실을 생성하고 다른 기기 또는 네트워크에서 접속하세요.

두 번째 클라이언트 테스트가 중요한 이유는 랜딩 페이지 로딩은 HTTPS가 제대로 작동하는지만 증명할 뿐, Jitsi Videobridge의 미디어 트래픽에 접근할 수 있다는 것을 증명하는 것은 아니기 때문입니다. 두 참가자가 접속은 되지만 서로의 목소리나 모습을 들을 수 없다면, 먼저 UDP 10000 포트와 NAT 또는 클라우드 방화벽 규칙을 검토해야 합니다.

Firefox에서 Jitsi Meet 랜딩 페이지(https://meet.example.org)가 안전한 연결 표시기와 함께 표시됩니다.
공개 HTTPS URL을 로드하고 테스트 회의를 생성하세요. 유효한 Let's Encrypt 인증서가 있으면 브라우저 신뢰 경고가 표시되지 않습니다.

설치 후 어떤 서비스를 확인해야 하나요?

Jitsi Meet는 하나의 단일 서비스가 아니라 여러 구성 요소로 이루어져 있습니다. 패키지 설치에 포함되는 일반적인 구성 요소로는 Nginx, Prosody, Jicofo 및 Jitsi Videobridge가 있습니다. 각 구성 요소를 개별적으로 확인하세요.

sudo systemctl --no-pager --full status nginx prosody jicofo jitsi-videobridge2

수신 소켓도 검사할 수 있습니다.

sudo ss -lntup | grep -E ':80|:443|:10000'

서비스가 활성화되어 있지 않은 경우, 패키지를 반복적으로 재설치하기 전에 해당 서비스의 로그를 확인하십시오. Jitsi 빠른 시작 가이드에서는 관리자에게 문제 해결을 위해 /var/log/jitsi/jvb.log, /var/log/jitsi/jicofo.log, 및 를 /var/log/prosody/prosody.log참조하도록 구체적으로 안내합니다.

활성화된 Nginx, Prosody, Jicofo 및 Jitsi Videobridge 서비스와 수신 대기 중인 웹 및 미디어 포트를 보여주는 Ubuntu 터미널입니다.
Jitsi 구성 요소를 개별적으로 확인하고 설치 후 예상되는 웹 및 미디어 소켓이 제대로 작동하는지 확인하십시오.

서버가 NAT 뒤에 있다면 어떻게 될까요?

Jitsi의 설명서에 따르면, 필요한 포트가 포워딩되어 있는 경우 서버가 NAT 뒤에 있을 때 Videobridge는 일반적으로 부팅 시 자동으로 구성됩니다. 3자 통화가 여전히 실패하는 경우, 안내서에는 로컬 주소와 공용 주소 간의 정적 매핑에 대한 내용이 나와 있습니다 /etc/jitsi/videobridge/jvb.conf.

ice4j {
  harvest {
    mapping {
      static-mappings = [
        {
          local-address = "<Local.IP.Address>"
          public-address = "<Public.IP.Address>"
        }
      ]
    }
  }
}

이 기능은 네트워크 토폴로지와 일치하는 경우에만 사용하십시오. 공용 IP 주소가 직접 할당된 호스팅 VM은 매핑이 필요하지 않을 수 있지만, 1:1 NAT 또는 홈 라우터 뒤에 있는 개인 VM은 매핑이 필요할 수 있습니다.

인터넷에 연결된 Jitsi 서버에서 누구나 채팅방을 만들 수 있도록 허용해야 할까요?

반드시 그런 것은 아닙니다. 기본 패키지 설치 시에는 서버에 접속할 수 있는 사용자라면 누구나 회의를 시작할 수 있습니다. 하지만 사설 기관, 교실 또는 내부 서비스의 경우 이는 너무 관대할 수 있습니다. Jitsi의 최신 문서에서는 회의실 생성 권한을 제한해야 할 경우 인증된 접근을 구성할 것을 권장합니다. 기본 HTTPS 배포가 완료된 후, 인증을 별도의 보안 강화 단계로 고려하십시오.

빠른 문제 해결 체크리스트

징후먼저 확인하세요
Let's Encrypt 발급 실패DNS A 레코드, 공용 TCP 80 포트 연결 가능성, 그리고 다른 서비스가 예상 웹 포트를 이미 소유하고 있는지 여부입니다.
Jitsi 페이지가 로드되지 않습니다Nginx 상태, TCP 443 오류, DNS 확인 및 패키지 설치 오류.
브라우저에 인증서 경고가 표시됩니다인증서 호스트 이름은 Jitsi 호스트 이름과 정확히 일치해야 하며 신뢰할 수 있는 CA에서 발급해야 합니다.
두 명의 사용자가 접속했지만 오디오/비디오가 재생되지 않습니다.UDP 10000, 클라우드 방화벽 규칙, 라우터 포워딩 및 NAT 주소 매핑.
모바일 앱이 연결되지 않습니다.서버가 신뢰할 수 있는 인증서를 사용하고 있는지 확인하십시오. Jitsi 설명서에는 모바일 클라이언트가 일반 설정에서 자체 서명된 배포를 허용하지 않는다고 경고합니다.
누구나 회의를 만들 수 있습니다.이것이 기본 동작입니다. 이 동작이 허용되지 않는 경우 인증된 액세스를 구성하십시오.

성공적인 우분투 24.04 배포는 어떤 모습이어야 할까요?

정상적인 결과는 단순히 "설치가 완료되었습니다"라는 메시지 이상의 의미를 갖습니다. DNS 이름이 의도한 공용 주소로 확인되어야 하고, 브라우저는 신뢰할 수 있는 HTTPS를 통해 Jitsi를 로드해야 하며, Nginx와 Jitsi 구성 요소가 활성화되어 있어야 하고, 두 번째 참여자가 오디오 및 비디오를 주고받을 수 있어야 합니다. 이러한 검사를 모두 통과하면 단일 서버 배포에서 가장 중요한 웹, TLS, 시그널링 및 기본 미디어 경로의 유효성을 검증한 것입니다.

최신 설치 정보는 Jitsi 공식 Debian/Ubuntu 자체 호스팅 가이드를 참조하십시오 . 아키텍처 및 전반적인 배포 지침은 Jitsi 공식 자체 호스팅 개요를 참조하십시오. 사용자가 제한적인 네트워크를 통해 연결해야 하는 경우 Jitsi의 공식 TURN 구성 문서를 검토하십시오 .

댓글 남기기

Python과 Simple-Matrix-Bot-Lib을 사용하여 Matrix 봇을 설정하는 방법

Python과 Simple-Matrix-Bot-Lib을 사용하여 Matrix 봇을 설정하는 방법

Python과 Simple-Matrix-Bot-Lib을 사용하여 Matrix 봇을 구축하고, 인증 및 배포 옵션을 비교하고, 명령어를 테스트하고, 언제 matrix-nio를 사용해야 하는지 알아보세요.

Let's Encrypt SSL을 사용하여 Ubuntu 24.04에 Jitsi Meet을 설치하는 방법

Let's Encrypt SSL을 사용하여 Ubuntu 24.04에 Jitsi Meet을 설치하는 방법

DNS, 방화벽 규칙, 공식 저장소, Let's Encrypt SSL, 서비스 점검 및 NAT 문제 해결을 포함하여 Ubuntu 24.04에 Jitsi Meet을 설치하는 방법입니다.

ownCloud 데스크톱 동기화 클라이언트에서 발생하는 "SSL 인증서 확인 실패" 오류 해결

ownCloud 데스크톱 동기화 클라이언트에서 발생하는 "SSL 인증서 확인 실패" 오류 해결

ownCloud Desktop 동기화 인증서 오류를 해결하려면 서버 URL, 인증서 이름 및 체인, 시스템 시계, 클라이언트 버전 및 신뢰할 수 있는 CA 저장소를 확인하십시오.

Ubuntu 24.04에서 Nextcloud용 Redis 캐싱을 구성하는 방법

Ubuntu 24.04에서 Nextcloud용 Redis 캐싱을 구성하는 방법

PhpRedis, APCu, 루프백 전용 Redis 서비스를 사용하여 Ubuntu 24.04에서 Nextcloud용 Redis 파일 잠금 및 분산 캐싱을 설정하고 실제 검증 단계를 안내합니다.

Element Web의 "이벤트 암호 해독 실패" E2EE 오류 수정

Element Web의 "이벤트 암호 해독 실패" E2EE 오류 수정

메시지 기록을 손상시키지 않고 장치 인증, 키 백업, 복구 키 및 누락된 룸 키를 확인하여 Element Web 암호 해독 오류를 해결하세요.

Nextcloud에서 2단계 인증(2FA)을 설정하고 적용하는 방법

Nextcloud에서 2단계 인증(2FA)을 설정하고 적용하는 방법

Nextcloud 2FA 공급자를 활성화하고, 사용자 또는 그룹에 대한 2단계 인증을 적용하고, 복구를 준비하고, 로그인 및 클라이언트 앱을 확인하는 방법을 알아보세요.

Zimbra에서 IP 주소를 기준으로 발신 이메일 릴레이를 제한하는 방법

Zimbra에서 IP 주소를 기준으로 발신 이메일 릴레이를 제한하는 방법

zimbraMtaMyNetworks를 사용하여 Zimbra에서 인증되지 않은 아웃바운드 메일 릴레이를 신뢰할 수 있는 IP 주소로 제한하세요. 허용 목록을 안전하게 검사, 업데이트, 다시 로드 및 확인하는 방법을 알아보세요.

Nextcloud PHP 메모리 제한 경고 해결

Nextcloud PHP 메모리 제한 경고 해결

Nextcloud의 PHP memory_limit을 최소 512M로 설정하고, 올바른 웹 PHP 구성을 찾은 다음, Apache 또는 PHP-FPM을 다시 시작하고 경고가 사라졌는지 확인하십시오.

Matrix Coturn TURN/STUN 서버를 설정하여 음성 및 영상 통화를 가능하게 하는 방법

Matrix Coturn TURN/STUN 서버를 설정하여 음성 및 영상 통화를 가능하게 하는 방법

Synapse를 사용하여 Matrix WebRTC 통화를 위한 Coturn 설정을 구성합니다. 공유 자격 증명, NAT, 방화벽 포트, TLS 옵션을 구성하고 기존 TURN과 MatrixRTC 및 LiveKit을 구분합니다.

OAuth2 인증을 사용하여 Nextcloud 메일 앱을 구성하는 방법

OAuth2 인증을 사용하여 Nextcloud 메일 앱을 구성하는 방법

Nextcloud 메일을 Gmail 또는 Microsoft 365용 OAuth2로 구성하고, IMAP/SMTP 액세스를 확인하고, 리디렉션 문제를 해결하고, 제한 사항을 파악하세요.