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