Jitsi Meet 構築・設定ガイド (Xserver VPS)

傍観者k
投稿日: 2026年03月07日 14:04
# Jitsi Meet 構築・設定ガイド (Xserver VPS) 本ドキュメントは、Xserver VPS(Debian/Ubuntu 系想定)上での Jitsi Meet インストールから、 「ユーザー認証(パスワード)」および「JWT(トークン)」による利用制限の設定手順を説明します。 --- ## 目次 - 1. 事前準備 - 2. インストール手順 - 3. 認証設定(共通の基礎設定) - 4. 方式 A:パスワード認証(Internal Plain) - 5. 方式 B:JWT認証(JSON Web Token) - 6. 設定の反映と運用 - 注意事項 --- ## 1. 事前準備 - ドメイン設定: `meet.example.com` のようなホスト名がサーバーのグローバルIPに紐付いていること。 - ポート開放(ファイアウォールで許可): - `80/443` TCP (Webアクセス / SSL) - `10000` UDP (映像・音声通信) - `3478` UDP (STUN) ## 2. インストール手順 リポジトリを追加して Jitsi Meet をインストールします。 ```bash # パッケージリストの更新 sudo apt update && sudo apt upgrade -y # Jitsi リポジトリの追加(鍵の取得と sources.list の追加) 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 のインストール sudo apt install jitsi-meet -y ``` インストール中にホスト名(例: `meet.example.com`)の入力が求められます。SSL 証明書は一旦「Generate a new self-signed certificate」を選択しておいて問題ありません。 ### Let's Encrypt による SSL 証明書取得 ```bash sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh ``` (スクリプト実行時にメールアドレスやドメイン確認のプロンプトが出ます) ## 3. 認証設定(共通の基礎設定) 誰でも会議を作成できる状態を防ぎ、ホスト(主催者)のみが会議を開始できるようにします。 ### Prosody の設定 編集ファイル: `/etc/prosody/conf.avail/meet.example.com.cfg.lua` 例(メインドメインをパスワード認証にする場合): ```lua VirtualHost "meet.example.com" -- パスワード認証なら "internal_plain" を指定 authentication = "internal_plain" -- ゲスト用ドメインを末尾に追加 VirtualHost "guest.meet.example.com" authentication = "anonymous" c2s_require_encryption = false ``` ### Jitsi Meet JS 側設定 編集ファイル: `/etc/jitsi/meet/meet.example.com-config.js` 該当箇所を設定します: ```javascript var config = { hosts: { domain: 'meet.example.com', anonymousdomain: 'guest.meet.example.com', muc: 'conference.meet.example.com' }, // そのほかの設定... }; ``` ## 4. 方式 A:パスワード認証(Internal Plain) 管理者が手動でアカウントを作成し、ID/パスワードでログインさせる方式です。 ### Jicofo の設定 編集ファイル: `/etc/jicofo/jicofo.conf` 例: ```hocon jicofo { authentication { enabled = true type = XMPP login-url = "meet.example.com" } } ``` ### ユーザー登録(Prosody) ```bash # 形式: sudo prosodyctl register <ユーザー名> <ドメイン> <パスワード> sudo prosodyctl register admin meet.example.com my_secure_password ``` これで `admin` ユーザー等を管理者として登録できます。 ## 5. 方式 B:JWT 認証(JSON Web Token) 独自の Web システムと連携し、生成したトークンで自動ログインさせる方式です。 ### 必要モジュールのインストール ```bash sudo apt install lua-cjson lua-basexx jitsi-meet-tokens -y ``` ### Prosody の設定(JWT 用) `/etc/prosody/conf.avail/meet.example.com.cfg.lua` のメインドメイン部分を以下のように変更します。 ```lua VirtualHost "meet.example.com" authentication = "token" app_id = "MY_APP_ID" -- 独自のアプリIDに置き換える app_secret = "MY_APP_SECRET" -- 強固な秘密鍵に置き換える allow_empty_token = false ``` ※ `app_secret` は絶対に漏洩させないでください。 ### Jicofo の設定(JWT 用) 編集: `/etc/jicofo/jicofo.conf` ```hocon jicofo { authentication { enabled = true type = JWT login-url = "meet.example.com" } } ``` ## 6. 設定の反映と運用 設定変更後は関連サービスを再起動します。 ```bash sudo systemctl restart prosody jicofo jitsi-videobridge2 ``` 運用イメージ: - 一般参加者: https://meet.example.com/RoomName にアクセスすると「ホストの到着を待っています」と表示され待機状態になる。 - 主催者(JWT 方式の場合): システム側で生成した URL(例: `https://meet.example.com/RoomName?jwt=<GENERATED_TOKEN>`)でアクセスすると、ログイン画面無しで即座に会議が開始され、待機中の参加者が自動で入室する。 ## 注意事項 - セキュリティ: `app_secret` は厳重に管理し、外部に漏らさないこと。 - キャッシュ: 設定変更がブラウザに反映されない場合、ブラウザキャッシュをクリアするかシークレットウィンドウで確認してください。 - ログ: 問題発生時は `journalctl -u prosody` 等でログを確認してください。 ---
最終更新: 2026年03月07日 14:05