목차

Jitsi meet 설치 매뉴얼

현재 (2022-06-16) jitsi 서버는 Debian/Ubuntu 버전에서만 설치 가능하다.
RHEL/CentOS 등에서는 아직 설치가 불가능하다. (container로 설치 가능)

필요 패키지 설치

apt install gnupg2 nginx-full sudo curl wget openjdk-11-jdk openjdk-17-jdk

update-alternatives --config java

Prosody 패키지 레포지토리 설정

echo deb http://packages.prosody.im/debian $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list
wget https://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add -
apt install lua5.2

Jitsi 패키지 레포지토리 설정

curl 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 > /dev/null

# update all package sources
apt update

방화벽 설정(필요시)

firewall-cmd --permanent --add-service=http --add-service=https
firewall-cmd --permanent --add-port=10000/udp --add-port=3478/udp --add-port=5349/tcp
firewall-cmd --reload

Jitsi Meet 설치

# jitsi-meet installation
apt install jitsi-meet

서비스 재기동

systemctl restart prosody
systemctl restart jicofo
systemctl restart jitsi-videobridge2

# 필요시
systemctl restart nginx

인증 설정

기본적으로 jitsi 는 아무나 방을 만들고 사용할 수 있도록 설정되어있다.
이것을 인증을 받은사람만 방을 만들수 있고 참여는 아무나 할 수 있도록 설정해보자

Prosody 설정

/etc/prosody/conf.avail/[your-hostname].cfg.lua 파일을 열어 아래 내용처럼 수정한다.

VirtualHost "jitsi-meet.example.com"
    -- enabled = false -- Remove this line to enable this host
    --authentication = "anonymous"
    authentication = "internal_hashed"
VirtualHost "guest.jitsi-meet.example.com"
    authentication = "anonymous"
    c2s_require_encryption = false

Jitsi Meet 설정

/etc/jitsi/meet/[your-hostname]-config.js 파일의 내용을 아래와 같이 수정한다.

var config = {
    hosts: {
            domain: 'jitsi-meet.example.com',
            anonymousdomain: 'guest.jitsi-meet.example.com',
            ...
        },
        ...
}

Jicofo 설정

/etc/jitsi/jicofo/jicofo.conf 파일의 내용을 아래와 같이 수정한다.

jicofo {
  authentication: {
    enabled: true
    type: XMPP
    login-url: jitsi-meet.example.com
 }
 ...

Prosody User 생성

sudo prosodyctl register <username> jitsi-meet.example.com <password>

systemctl restart prosody
systemctl restart jicofo
systemctl restart jitsi-videobridge2

Branding

로고와 미팅방 테마 설정

/etc/jitsi/meet/[your-hostname]-config.js 파일의 dynamicBrandingUrl: '/static/brand/branding.json', 설정을 추가한다.

nginx 기본 설정에 의해 URL/static/ 경로로 접근해야함

/usr/share/jitsi-meet/static/ 아래에 brand디렉토리 생성

/usr/share/jitsi-meet/static/brand/branding.json

{
  "backgroundColor":"#FFF",
  "backgroundImageUrl":"https://mycompany.com/images/background.png",
  "didPageUrl":"https://mycompany.com/dids",
  "inviteDomain":"https://mycompany.com/invite",
  "logoClickUrl":"https://mycompany.com",
  "logoImageUrl":"https://mycompany.com/images/logo.png",
  "avatarBackgrounds": ["#12A378", "linear-gradient(125.83deg, #000 0%, #FFF 99.09%)"],
  "premeetingBackground": "url(https://mycompany.com/images/premeetingBackground.png)",
  "virtualBackgrounds": ["https://my.img01.jpg", "https://my.img02.jpg"],
  "labels": {
    "en": "https://myenglishlabels.json",
    "fr": "https://myfrenchlabels.json",
    "ptBR": "https://mybrazilianlabels.json"
  },
  "customTheme": {
    "palette": {
      "ui01": "orange !important",
      "ui02": "maroon",
      "surface02": "darkgreen",
      "ui03": "violet",
      "ui04": "magenta",
      "ui05": "blueviolet",
      "field02Hover": "red",
      "action01": "green",
      "action01Hover": "lightgreen",
      "action02Disabled": "beige",
      "success02": "cadetblue",
      "action02Hover": "liceblue"
    },
    "typography": {
      "labelRegular": {
        "fontSize": 25,
        "lineHeight": 30,
        "fontWeight": 500
      }
    }
  }
}

생성된 사용자 목록 확인

prosodyctl 명령어로 사용자를 생성/변경 할 수는 있지만 생성된 사용자 목록을 확인하는 기능은 아직까진 없다.
귀찮겠지만 아래와 같이 /var/lib/prosody/*/accounts 디렉토리에 생성된 사용자 정보 파일로 유추 가능하다.

ls /var/lib/prosody/*/accounts|grep .dat|sed s/'.dat'//g

또는 추가 플러그인을 설치하여 사용 가능하다.

curl -OJL http://prosody.im/files/mod_listusers.lua
chmod 755 mod_listusers.lua
mv mod_listusers.lua /usr/lib/prosody/modules/

참조링크