카테고리 없음

jitsi meet 설치 및 설정 - 기본편

nullzone 2020. 12. 1.
반응형

기본적으로 jitsi meet은 ip로는 서비스가 현실적으로 어려우며, https를 기본으로 사용하므로
사용가능한 도메인이 있어야 합니다.
공유기를 사용하시면 해당 공유기에서 ddns 서비스를 이용하시면 될 듯 하며, 인터넷을 검색해 보면 방법이 많으니 참조 하세요.

  • jisi meet은 윈도우즈OS를 대상으로 설치가 불가능 하니 리눅스 중 우분투(ubuntu 18.04)를 기반으로 설명합니다.
    ubuntu 20.04 등에서는 일부 설치가 안되거나 오류가 발생하는 부분들이 있는데 이는 별도로 설명 하겠습니다.

  • jitsi meet의 설치 패키지는 apache, nginx등의 웹서버가 설치되어 있다면 해당 웹서버의 설정을 변경 합니다.
    만일 웹서버가 없으면 nginx를 설치하게 됩니다. 이글에서는 nginx를 대상으로 설명합니다.

  • jitsi meet 설치중 java(openjdk-8-jdk)가 미 설치되어 있으면 자동으로 설치하게 됩니다.

이글에서의 기본 셋팅은 아래와 같습니다.

 

 

순서

  1. hostname setting
  2. port forword(and ufw open)
  3. jitsi-meet install
  4. config 수정/셋팅
     

 

 

 

1. hostname setting

아래와 같이 hosts 에 사용할 도메인을 등록해 주어야 합니다.
해당 도메인이 설정되어 있지 않으면 정상 작동 하지 않습니다.

sudo hostnamectl **_example.domain_**
sudo sed -i 's/^127.0.1.1.\*$/127.0.1.1 /g' /etc/hosts

 

 

2. port forword(and ufw open)

## Jitsi Meet used port 80, 443, 3478, 5349, 10000, 20000(UDP)

sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw allow 4443/tcp
sudo ufw allow 3478/udp
sudo ufw allow 5349/tcp
sudo ufw allow 10000:20000/udp
sudo ufw enable

 

 

3. jitsi-meet install

편의상 sudo su 로 root 권한으로 설치 합니다.

sudo apt update

# Ensure support for apt repositories served via HTTPS
sudo apt install apt-transport-https

# add jitsi-meet repositories
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
sudo sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"
sudo apt update

# jitsi-meet install
sudo apt install jitsi-meet

# input domain 에 사용할 도메인을 등록합니다.
**_example.domain_**

# 인증키 신규 생성 선택

설치는 패키지가 알아서 처리 해 주므로 크게 어려움이 없습니다.
이렇게 정상적으로 패키지는 설치가 완료되었으며, TLS 인증을 위한 인증서 생성을 추가하게 됩니다.
jitsi meet 은 친절하게 인증서를 생성하는 스크립트를 제공해주므로
전체 설치가 끝나면 아래 스크립트를 실행 해 주시면됩니다.

sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

주의 하실 일은 해당 스크립트를 실행 하게 되면 등록한 도메인에 80포트로 도메인을 확인 하므로
반드시 80 포트를 오픈해야 합니다.

설치가 완료 된 후,
크롬 브라우져에서
https://example.domain 로 접속 하시면 jitsi meet 서비스를 보실 수 있습니다.

 

 

4. config 수정/셋팅

서버가 NAT 뒤에 있다면 sip-communicator.properties 파일에 2줄을 추가 해 줍니다.

sudo vi /etc/jitsi/videobridge/sip-communicator.properties:

org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<Local.IP.Address>
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<Public.IP.Address>

 

 

#참고1

jitsi-meet 삭제(jitsi-meet remove)
jitsi meet 을 제거는 아래와 같이 설치된 패키지를 삭제 하면 됩니다.
주의 하실 일은 간혹 모든 설치 패키지가 삭제 되지 않을 수 있습니다.
따라서 전체 패키지 삭제 명령을 두어 차례 실행 해 주시면 됩니다.
아울러 설치시 생성된 디렉토리도 같이 삭제 해주시면 됩니다.

sudo apt purge jigasi jitsi-meet jitsi-meet-web-config jitsi-meet-prosody jitsi-meet-turnserver jitsi-meet-web jicofo jitsi-videobridge2

sudo rm -rf /usr/share/jitsi-videobridge
sudo rm -rf /etc/jitsi/jicofo
sudo rm -rf /var/log/prosody/


# sudo rm -rf /etc/prosody/

 

 

#참고2 별도 인증서 설치

간혹 무료 인증서를 사용 하시는 분들은 기존의 인증서를 이용 하실 수 있습니다.

대표적으로 letsencrypt 를 이용하시는 경우
생성된 인증서를 jitsi meet 설치 시 인증서 파일의 경로를 입력해 주시면 됩니다.

/etc/letsencrypt/live/example.domain/fullchain.pem;
/etc/letsencrypt/live/example.domain/privkey.pem;

 

 

#참고3 jitsi meet 구성요소

jitsi meet 을 설치하면 설치되는 모듈이 꽤 많아서 복잡해 보 일 수 있습니다.
간략하게 설치되는 모듈(패키지)의 역활은 다음과 같습니다.

  • Jitsi Videobridge : 화상 회의를 제공하는 WebRTC 호환 JavaScript 애플리케이션

    WebRTC를 이용한 화상 통화 애플리케이션 입니다... jitsi meet의 핵심모듈입니다.

  • Jitsi Videobridge (jvb) : 회의 참가자간에 비디오 스트림을 라우팅하도록 설계된 WebRTC 호환 서버

    WebRTC를 이용한 화상 통화 서버 입니다... jitsi meet의 핵심모듈입니다.

  • Jitsi Conference Focus (jicofo) : 참가자와 videobridge 간의 미디어 세션을 관리하는 모듈입니다.

  • Jitsi Gateway to SIP (jigasi) :일반 SIP 클라이언트가 Jitsi Meet 컨퍼런스에 참여할 수있는 서버 측 애플리케이션

    음성 통화를 위한 모듈입니다(?)

  • Jibri : Jitsi Meet 회의를 녹화 및 / 또는 스트리밍하기위한 도구 모음입니다.
    가상 프레임 버퍼에서 렌더링 된 Chrome 인스턴스를 시작하고 ffmpeg로 출력을 캡처 및 인코딩하여 작동하는 Jitsi Meet 컨퍼런스를 녹화 및 / 또는 스트리밍하기위한 도구

  • Prosody : 메세징에 사용되는 XMPP 서버

혹시라도 jitsi meet을 이용한 개발 및 변경등을 고려 하신다면 아래 각 모듈별 통신 흐름과 사용 포트등의 개념을 숙지 하시는 것이 좋습니다.

 

 

jitsi meet network and use Port

                     +                           +
                     |                           |
                     |                           |
                     v                           |
                    443                          |
                 +-------+                       |
                 |       |                       |
                 | Nginx |                       |
                 |       |                       |
                 +--+-+--+                       |
                    | |                          |
  +------------+     | |   +--------------+      |
  |            |    | |    |              |      |
  | jitsi-meet +<---+ +--->+ prosody/xmpp |      |
  |            |files 5280 |              |      |
  +------------+           +--------------+      v
                    5222,5347^    ^5347   4443,10000
               +--------+    |    |    +-------------+
               |        |    |    |    |             |
               | jicofo +----^    ^----+ videobridge |
               |        |              |             |
               +--------+              +-------------+

https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-manual#network-description

           +                                       +
           |                                       |
           |                                       |
           v                                       v
      80, 443 TCP                          443 TCP, 10000 UDP
   +--------------+                     +---------------------+
   |  nginx       |  5222, 5347 TCP     |                     |
   |  jitsi-meet  |<-------------------+|  jitsi-videobridge  |
   |  prosody     |         |           |                     |
   |  jicofo      |         |           +---------------------+
   +--------------+         |
                            |           +---------------------+
                            |           |                     |
                            +----------+|  jitsi-videobridge  |
                            |           |                     |
                            |           +---------------------+
                            |
                            |           +---------------------+
                            |           |                     |
                            +----------+|  jitsi-videobridge  |
                                        |                     |
                                        +---------------------+

https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-scalable

반응형

댓글