JitsiMeet WEB会議作成をユーザ制限する

Jitsi Meetを導入しましたが、WEB会議作成できるユーザを制限したい。と思い調べたところありました。

設定している条件

OS:Ubuntu20.04

ドメイン名:change.domain

権限:Root権限

参考URL

https://jitsi-club.gitlab.io/jitsi-self-hosting/en/01-deployment-howto/01-authentication/

https://virment.com/how-to-configure-user-auth-for-jitsi/

https://www.digitalocean.com/community/tutorials/how-to-install-jitsi-meet-on-ubuntu-18-04

https://tarufu.info/jitsi_meet_password_require/

変更するファイル名

1つ目:/etc/prosody/conf.avail/change.domain.cfg.lua  👈編集

2つ目:/etc/jitsi/meet/change.domain-config.js  👈編集

3つ目:/etc/jitsi/jicofo/sip-communicator.properties  👈新規作成(空ファイルに追記)

3つのファイルを編集、新規作成します。

1つ目:/etc/prosody/conf.avail/change.domain.cfg.lua

1つ目の編集するファイルは下記にあります。

cd /etc/prosody/conf.avail/ 👈フォルダを開く

次に編集するファイル名の確認を行います。

ls     👈フォルダにあるファイル名を確認

実行するとこのようになります。

root@host名:~# cd /etc/prosody/conf.avail/  👈フォルダを開く
root@host名:/etc/prosody/conf.avail#
root@host名:/etc/prosody/conf.avail# ls    👈フォルダにあるファイル名を確認
change.domain.cfg.lua example.com.cfg.lua localhost.cfg.lua  👈ファイル名確認
root@host名:/etc/prosody/conf.avail#

編集するファイルは「change.domain.cfg.lua」になるので編集を始めましょう。

nano change.domain.cfg.lua 👈ファイルを開く

まずは[anonymous]を削除し、[internal_hashed]を追記する。もしくは修正する。

VirtualHost "change.domain"
-- enabled = false -- Remove this line to enable this host
authentication = "anonymous"     👈ここを削除する
authentication = "internal_plain"    👈ここを追加

※authenticationの設定については下記をご参照ください

JitsiMeetでWEB会議自体にパスワードを実装した場合の画面

VirtualHost"ドメイン"のところでauthentication〈plain か hashed〉のどちらかを設定しますがどう違うのかを確認しましょう。 ①internal_plain:ホストがユーザ名とパス…

そして下記を追加する。

VirtualHost "guest.change.domain"   👈guest.(設定しているドメイン)にする
authentication = "anonymous"     👈追加
c2s_require_encryption = false     👈追加

編集ファイルを見るとこうなります。

VirtualHost "change.domain"
authentication = "internal_plain" 👈[plain]にする
-- enabled = false -- Remove this line to enable this host
-- Properties below are modified by jitsi-meet-tokens package config
-- and authentication above is switched to "token"

c2s_require_encryption = false 👈VirtualHost”guest.changedomain”へ移動↓↓↓↓↓↓↓↓


lobby_muc = "lobby.change.domain"
breakout_rooms_muc = "breakout.change.domain"
main_muc = "conference.change.domain"
-- muc_lobby_whitelist = { "recorder.change.domain" } -- Here we can whitelist jibri to enter lobby enabled rooms

VirtualHost "guest.change.domain"     👈追加
authentication = "anonymous"       👈追加
c2s_require_encryption = false       👈追加

Component "conference.change.domain" "muc"
restrict_room_creation = true
storage = "memory"
modules_enabled = {

Saveします。(Ctrl+X) → (Y)

2つ目:/etc/jitsi/meet/change.domain-config.js

次は違うファイルを編集します。

/etc/jitsi/meet/your_change.domain.js       👈編集するファイル名

cd /etc/jitsi/meet/         👈フォルダを開きます

ls           👈ファイルの確認

ファイル名を確認する

change.domain-config.js change.domain.crt change.domain.key

編集するファイルを開く。

nano change.domain-config.js 👈ファイルを開く

実行するとこのようになります。

root@host名:~#
root@host名:~# cd /etc/jitsi/meet/
root@host名:/etc/jitsi/meet# ls
change.domain-config.js change.domain.crt change.domain.key
root@host名:/etc/jitsi/meet#nano change.domain-config.js

修正していきます。1行だけの追加です。

/* eslint-disable no-unused-vars, no-var */

var config = {
// Connection
//
hosts: {
    // XMPP domain.
    domain: 'change.domain',

    // When using authentication, domain for guest users.
    // anonymousdomain: 'guest.example.com',
      anonymousdomain: 'guest.change.domain',  👈追加する

    // Domain for authenticated users. Defaults to <domain>.
    // authdomain: 'change.domain',

    // Focus component domain. Defaults to focus.<domain>.
    // focus: 'focus.connectteam.online',

    // XMPP MUC domain. FIXME: use XEP-0030 to discover it.
    muc: 'conference.<!--# echo var="subdomain" default="" -->change.domain'
},

// BOSH URL. FIXME: use XEP-0156 to discover it.
bosh: '//change.domain/http-bind',

// Websocket URL
// websocket: 'wss://change.domain/xmpp-websocket',

保存します。(Ctrl+X) → (Y)

3つ目:/etc/jitsi/jicofo/sip-communicator.properties

フォルダへ移動します。

cd /etc/jitsi/jicofocd/       👈フォルダを開きます

ファイルを確認します。

ls           👈ファイルの確認

下記のようになります。「sip-communicator.properties」はありません!!

root@host名:/etc/jitsi/jicofo# ls
config jicofo.conf logging.properties
root@host名:/etc/jitsi/jicofo#

フォルダ内に新規で「sip-communicator.properties」を作成します。

root@host名:/etc/jitsi/jicofo# nano sip-communicator.properties

何も書かれていない空ファイルが新規でできます。

これに下記を追加。

org.jitsi.jicofo.auth.URL=XMPP:chane.domain

保存します。(Ctrl+X) → (Y)

チャットルームを作成するユーザとパスワードを設定する

ホストとなるユーザとパスを設定します。

prosodyctl register ユーザ名 change.domain パスワード

参考として

ユーザ名:jitsiuser

パスワード:3bjojkoj@whofahdn

を作成するには下記となります。

prosodyctl register jitsiuser change.domain 3bjojkoj@whofahdn

これでホストになります。

最後にサービスを再起動して、確認しましょう。

sudo service jicofo restart
sudo service prosody restart
sudo service nginx restart
sudo service jitsi-videobridge2 restart

ログイン確認

まずはWEB会議を新規名で作成し、「ミーティングを開始」を押してみました。きちんと確認されました。

login

「私はホストです」を押すと認証画面が出てきます。

作成したユーザ名と適当なパスワードでログインを試してみました。

「ユーザネームまたはパスワードが違います」と出て利用できません。OK!

次はユーザ名を適当にし、パスワードを登録したものにしました。

「ユーザネームまたはパスワードが違います」と出て利用できません。OK!

最後に登録した正しいユーザ名とパスワードでログインしました!!!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です