9
7

More than 3 years have passed since last update.

jitsi-meetとjitsi-videobridgeを別のサーバーで動かす

Posted at

はじめに

オープンソースな音声、ビデオ通話システムのJitsiを利用したアプリを構成する際に、
ネットワーク上の制約でjitsi-meetとjitsi-videobridgeを別のサーバーで動作させる必要があり、
えっさほいさすることになったので忘備録的にきろくさせてください。

構成

こんな感じです。便宜上WebサーバーとVideoサーバーと呼んでいます。
image.png

Webサーバー側の設定

nginx

nginxは環境に合わせよしなに設定します。

jitsi-meet

jitsi-meetのconfig.jsに取得済みのドメイン(仮にdontaku-hakata.co.jp)を記載します。

config.js

var config = {
    hosts: {
        domain: dontaku-hakata.co.jp,
// その他の設定...

Videoサーバー側の設定

/etc/hosts

名前解決に制約があったので、/etc/hostsに取得済みのドメイン(仮にdontaku-hakata.co.jp)と対応させてWebサーバーのIPアドレスを記載します。

/etc/hosts.
127.0.0.1         localhost
WebサーバーのIP     dontaku-hakata.co.jp

jitsi-videobridge

videobridgeを起動する際にホスト、取得済みのドメイン(仮にdontaku-hakata.co.jp)、サブドメイン、Webサーバーと通信するポート、videobridgeのシークレットをオプションとして指定して起動します。
シェルスクリプトにしました。

start_videobridge.sh
#!/bin/bash
mkdir -p /var/log/videobridge

bash videobridgeのパス/jvb.sh --host=dontaku-hakata.co.jp --domain=dontaku-hakata.co.jp --subdomain=videobridge --port=任意のポート --secret=videobridge_secret >> /var/log/videobridge/videobridge.log 2>&1

jicofo

jicofoを起動する際にvideobridgeと同様のオプションに加え、
auth用にドメインを指定して起動します。
こちらもシェルにしました。

start_jicofo.sh
#!/bin/bash
mkdir -p /var/log/jicofo

bash jicofoのパス/jicofo.sh --host=dontaku-hakata.co.jp --domain=dontaku-hakata.co.jp --secret=jicofo_secret --user_domain=auth.dontaku-hakata.co.jp >> /var/log/jicofo/jicofo.log 2>&1

/root/.sip-communicator/sip-communicator.properties

/root/.sip-communicator/sip-communicator.propertiesに取得済みのドメイン(仮にdontaku-hakata.co.jp)を指定します。STUNサーバーは
以下のように指定します。

sip-communicator.properties
org.jitsi.videobridge.STATISTICS_TRANSPORT=pubsub
org.jitsi.videobridge.PUBSUB_SERVICE=dontaku-hakata.co.jp
org.jitsi.videobridge.PUBSUB_NODE=sharedStatsNode

org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES=STUNサーバーの設定

prosody

prosody起動時に読み込まれる設定ファイルでホストを指定し、videobridgeとjicofoをマウントします。

dontaku-hakata.co.jp.cfg.lua
VirtualHost "dontaku-hakata.co.jp"
    authentication = "anonymous"
    ssl = {
        SSLの設定
    }
    modules_enabled = {
        "bosh";
        "pubsub";
    }

VirtualHost "auth.dontaku-hakata.co.jp"
    ssl = {
        SSLの設定
    }
    authentication = "internal_plain"

// jicofovideobridgeをマウントする
Component "conference.dontaku-hakata.co.jp" "muc"
Component "videobridge.dontaku-hakata.co.jp"
    component_secret = "videobridge_secret"
Component "focus.dontaku-hakata.co.jp"
    component_secret = "jicofo_secret"

動作確認して完了です。

Webサーバー側にブラウザから接続(仮にdontaku-hakata.co.jp)し、音声/ビデオが疎通していれば完了です。

9
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
7