현재 (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
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
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 installation apt install jitsi-meet
systemctl restart prosody systemctl restart jicofo systemctl restart jitsi-videobridge2 # 필요시 systemctl restart nginx
기본적으로 jitsi 는 아무나 방을 만들고 사용할 수 있도록 설정되어있다.
이것을 인증을 받은사람만 방을 만들수 있고 참여는 아무나 할 수 있도록 설정해보자
/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
/etc/jitsi/meet/[your-hostname]-config.js
파일의 내용을 아래와 같이 수정한다.
var config = { hosts: { domain: 'jitsi-meet.example.com', anonymousdomain: 'guest.jitsi-meet.example.com', ... }, ... }
/etc/jitsi/jicofo/jicofo.conf
파일의 내용을 아래와 같이 수정한다.
jicofo { authentication: { enabled: true type: XMPP login-url: jitsi-meet.example.com } ...
sudo prosodyctl register <username> jitsi-meet.example.com <password> systemctl restart prosody systemctl restart jicofo systemctl restart jitsi-videobridge2
로고와 미팅방 테마 설정
/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/