「Jitsi-meet」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
129行目: 129行目:
 
}}
 
}}
   
=== git パッケージの設定 ===
+
=== prosody の設定 ===
 
If your server name is {{ic|example.com}} then a common choice for your jitsi will be {{ic|meet.example.com}}. You will need to update DNS record for your server with an entry {{ic|meet}}. The remainder assumes that you have done this.
 
 
Also you should have SSL/TLS certificates for your {{ic|meet.example.com}} domain, for example see [[certbot]].
 
 
The remaining instructions in {{ic|bash}} to make it clear what needs replacing. Pasting the commands into a bash shell with root permissions should give you a working install.
 
 
Replace the domain name with your own:
 
 
export JITSIFQDN=meet.example.com
 
 
Specify correct path to generated certificates:
 
 
export JITSIFQDN_CRT=/etc/letsencrypt/live/meet.example.com/fullchain.pem
 
export JITSIFQDN_KEY=/etc/letsencrypt/live/meet.example.com/privkey.pem
 
 
Passwords are needed. We set up some shell variables to hold them for later use. You can replace {{ic|$(mktemp XXXXXXX)}} with your own passwords if you want, but the random strings generated by {{ic|mktemp}} should be fine.
 
 
export SECRET1=$(mktemp -u XXXXXXXX)
 
export SECRET2=$(mktemp -u XXXXXXXX)
 
export SECRET3=$(mktemp -u XXXXXXXX)
 
 
==== prosody の設定 ====
 
   
 
{{Pkg|prosody}} は前提条件であり、Jitsi サービス用の構成をそれに追加する必要があります。prosody サーバーをまだセットアップしていない場合は、今すぐ {{Pkg|prosody}} と {{Pkg|lua52-sec}} をインストールしてください。prosody 設定の残りの部分では、prosody がローカルにインストールされていることを前提としています。
 
{{Pkg|prosody}} は前提条件であり、Jitsi サービス用の構成をそれに追加する必要があります。prosody サーバーをまだセットアップしていない場合は、今すぐ {{Pkg|prosody}} と {{Pkg|lua52-sec}} をインストールしてください。prosody 設定の残りの部分では、prosody がローカルにインストールされていることを前提としています。
224行目: 201行目:
 
次に、{{ic|prosody.service}} を [[再起動]] (または、インストールしたばかりの場合は [[起動/有効化]]) します。
 
次に、{{ic|prosody.service}} を [[再起動]] (または、インストールしたばかりの場合は [[起動/有効化]]) します。
   
==== jitsi-videobridge の設定 ====
+
=== jitsi-videobridge の設定 ===
   
  +
jitsi-videobridge の設定。'''nightly''' および '''git''' バージョンの場合は、'''-nightly''' または '''-git''' を '''/etc/jitsi-videobridge''' に追加します。
jitsi-videobridge の設定:
 
   
  +
MUC_NICKNAME の場合は、'''uuidgen''' コマンドを使用します。
cat > /etc/jitsi-videobridge/jitsi-videobridge.conf <<===
 
flags="--host=localhost --domain=${JITSIFQDN} --port=5347 --secret=${SECRET1}"
 
===
 
   
  +
{{hc|/etc/jitsi-videobridge/sip-communicator.properties|2=
ログや SIP コミュニケータの設定を同じフォルダに保持したい場合、以下のように行うことができます。
 
  +
org.jitsi.videobridge.xmpp.user.shard.DOMAIN=auth.'''JITSIFQDN'''
  +
org.jitsi.videobridge.xmpp.user.shard.PASSWORD='''SECRET_JVB_USER'''
  +
org.jitsi.videobridge.xmpp.user.shard.MUC_JIDS=JvbBrewery@internal.auth.'''JITSIFQDN'''
  +
org.jitsi.videobridge.xmpp.user.shard.MUC_NICKNAME='''UUIDGEN_RESULT'''
  +
}}
   
  +
{{ic|jitsi-videobridge.service}} を [[起動/有効化]] してください。
cat >> /etc/jitsi-videobridge/jitsi-videobridge.conf <<===
 
VIDEOBRIDGE_DEBUG_OPTIONS="-Djava.util.logging.config.file=/etc/jitsi-videobridge/logging.properties -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=jitsi-videobridge -Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc
 
===
 
   
  +
=== jicofo の設定 ===
cp /opt/jitsi-videobridge/lib/logging.properties /etc/jitsi-videobridge/logging.properties
 
 
cat > /etc/jitsi-videobridge/sip-communicator.properties <<===
 
org.jitsi.videobridge.AUTHORIZED_SOURCE_REGEXP=focus@auth.${JITSIFQDN}/.*
 
org.jitsi.impl.neomedia.transform.srtp.SRTPCryptoContext.checkReplay=false
 
org.jitsi.videobridge.TCP_HARVESTER_PORT=4443
 
===
 
   
  +
jicofo の設定。nightly および git バージョンの場合は、/etc/jitsi-videobridge に -nightly または -git を追加します。
{{ic|jitsi-videobridge}} サービスを[[起動|起動・有効化]]してください。
 
   
==== jicofo の設定 ====
+
{{hc|/etc/jicofo/jicofo.conf|2=
  +
jicofo {
 
  +
xmpp: {
cat > /etc/jicofo/jicofo.conf <<===
 
  +
client: {
flags="--host=localhost --domain=${JITSIFQDN} --secret=${SECRET2} --user_domain=auth.${JITSIFQDN} --user_name=focus --user_password=${SECRET3}"
 
  +
client-proxy: "focus.'''JITSIFQDN'''"
===
 
  +
xmpp-domain: "'''JITSIFQDN'''"
  +
domain: "auth.'''JITSIFQDN'''"
  +
username: "focus"
  +
password: "'''SECRET_FOCUS_USER'''"
  +
conference-muc-jid = conference.'''JITSIFQDN'''
  +
}
  +
trusted-domains: [ "recorder.'''JITSIFQDN'''" ]
  +
}
  +
bridge: {
  +
brewery-jid: "JvbBrewery@internal.auth.'''JITSIFQDN'''"
  +
}
  +
}
  +
}}
   
 
{{ic|jicofo}} サービスを[[起動|起動・有効化]]してください。
 
{{ic|jicofo}} サービスを[[起動|起動・有効化]]してください。
   
==== jitsi-meet の設定 ====
+
=== jitsi-meet の設定 ===
   
  +
jitsi-meet Web アプリの設定。'''nightly''' および '''git''' バージョンの場合は、'''-nightly''' または '''-git''' を '''/etc/jitsi-videobridge''' に追加します。
cp /opt/jitsi-meet/config.js /opt/jitsi-meet/config.js.orig
 
cat > /opt/jitsi-meet/config.js <<===
 
var domainroot = "${JITSIFQDN}"
 
var config = {
 
hosts: {
 
domain: domainroot,
 
muc: 'conference.'+domainroot,
 
bridge: 'jitsi-videobridge.'+domainroot,
 
focus: 'focus.'+domainroot
 
},
 
useNicks: false,
 
bosh: '//'+domainroot+'/http-bind',
 
}
 
===
 
   
  +
{{hc|/etc/webapps/jitsi-meet/config.js|2=
==== nginx の設定 ====
 
  +
var config = {
  +
hosts: {
  +
domain: ''''JITSIFQDN'''',
  +
// ...
  +
muc: 'conference.'''JITSIFQDN''''
  +
},
  +
bosh: '//'''JITSIFQDN'''/http-bind',
  +
// ...
  +
}
  +
}}
   
  +
=== nginx の設定 ===
こちらは最小限の nginx 設定ですが、これは https://ssl-config.mozilla.org/#server=nginx&version=1.16.1&config=intermediate&openssl=1.1.1f&guideline=5.4 からの推奨 HTTPS 設定と Jitsi-meet ドキュメントで推奨される最小設定を単純にマージしたものです。この設定は十分に動作しますが、自分自身のサーバーに適応させることをお勧めします。
 
   
  +
[[nginx#TLS]] の説明に従って、TLS を使用して [[nginx]] を設定します。
sed -i "/^http.*{/a include /etc/nginx/${JITSIFQDN}.conf;" /etc/nginx/nginx.conf
 
   
  +
提供された例をコピーしてみましょう。
#WARNING - The config file text uses bash escapes. If copying for hand editing, each '\$' needs to be replaced with '$'
 
  +
# and each '${VARIABLE}' needs to be replaced.
 
  +
{{bc|1=
cat > /etc/nginx/${JITSIFQDN}.conf <<===
 
  +
# cd /etc/nginx
# Redirect http to https
 
  +
# mkdir sites
server {
 
  +
# cp /usr/share/doc/jitsi-meet/jitsi-meet.example sites/jitsi.conf
listen 80;
 
  +
}}
listen [::]:80;
 
  +
server_name call.mechadept.nz;
 
  +
次に、それをメイン設定に含めます:
 
  +
{{hc|/etc/nginx/nginx.conf|2=
return 301 https://\$host\$request_uri;
 
  +
http {
}
 
  +
// ...
 
  +
// this should be placed near to the close bracket of the http block
# Mozilla intermediate config
 
  +
include sites/*.conf;
server {
 
  +
}
listen 443 ssl http2;
 
  +
}}
listen [::]:443 ssl http2;
 
  +
 
  +
次に、jitsi 設定を自分の設定に変更します:
#ssl_certificate /path/to/signed_cert_plus_intermediates;
 
  +
{{hc|/etc/nginx/sites/jitsi.conf|2=
#ssl_certificate_key /path/to/private_key;
 
  +
server {
ssl_session_timeout 1d;
 
  +
# ...
ssl_session_cache shared:MozSSL:10m; # about 40000 sessions
 
  +
server_name '''JITSIFQDN''';
ssl_session_tickets off;
 
  +
 
  +
# ...
# curl https://ssl-config.mozilla.org/ffdhe2048.txt > /path/to/dhparam
 
# ssl_dhparam /path/to/dhparam;
+
# use prosody path directly
  +
ssl_certificate /etc/prosody/certs/'''JITSIFQDN'''.crt;
 
  +
ssl_certificate_key /etc/prosody/certs/'''JITSIFQDN'''.key;
# intermediate configuration
 
  +
# or use letencrypt path
ssl_protocols TLSv1.2 TLSv1.3;
 
  +
ssl_certificate /etc/letsencrypt/live/'''JITSIFQDN'''/fullchain.pem;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
 
  +
ssl_certificate_key /etc/letsencrypt/live/'''JITSIFQDN'''/privkey.pem;
ssl_prefer_server_ciphers off;
 
  +
 
  +
# set the config path
# HSTS (ngx_http_headers_module is required) (63072000 seconds)
 
  +
# replace alias /etc/jitsi/meet/jitmeet.example.com-config.js by
add_header Strict-Transport-Security "max-age=63072000" always;
 
  +
location = /config.js {
#} #Merge mozilla config with jitsi recommended one
 
  +
alias /etc/webapps/jitsi-meet/config.js;
 
  +
}
ssl_certificate /etc/letsencrypt/live/${JITSIFQDN}/fullchain.pem;
 
  +
# ...
ssl_certificate_key /etc/letsencrypt/live/${JITSIFQDN}/privkey.pem;
 
  +
location ~ ^/([^/?&:'"]+)/config.js$
 
  +
{
error_page 404 /static/404.html;
 
  +
set $subdomain "$1.";
 
  +
set $subdir "$1/";
# Jitsi recommended settings below
 
  +
alias /etc/webapps/jitsi-meet/config.js;
 
  +
}
#server {
 
  +
}
# listen 80;
 
  +
}}
 
server_name ${JITSIFQDN};
 
# set the root
 
root /opt/jitsi-meet;
 
index index.html;
 
 
location ~ ^/([a-zA-Z0-9=\?]+)\$ {
 
rewrite ^/(.*)\$ / break;
 
}
 
 
location / {
 
ssi on;
 
}
 
 
# BOSH
 
location /http-bind {
 
proxy_pass http://localhost:5280/http-bind;
 
proxy_set_header X-Forwarded-For \$remote_addr;
 
proxy_set_header Host \$http_host;
 
}
 
 
# xmpp websockets
 
location /xmpp-websocket {
 
proxy_pass http://localhost:5280/xmpp-websocket;
 
proxy_http_version 1.1;
 
proxy_set_header Upgrade \$http_upgrade;
 
proxy_set_header Connection "upgrade";
 
proxy_set_header Host \$host;
 
tcp_nodelay on;
 
}
 
}
 
===
 
   
それから {{ic|nginx}} サービスを[[再起動]]してください。
+
それから {{ic|nginx.service}} を [[再起動]] してください。
   
 
== ヒントとテクニック ==
 
== ヒントとテクニック ==

2024年1月7日 (日) 00:38時点における版

Jitsi はセキュアなビデオ会議ソリューションを簡単に構築・デプロイすることができるオープンソースプロジェクトのセットです。Jitsi の中心は Jitsi Videobridge と Jitsi Meet で、インターネット上で会議を行うことができます。コミュニティの他のプロジェクトを使うことでオーディオ会議やダイアルイン、録音、サイマルキャストなどの機能を有効化できます。

インストール

Jitsi-meet はいくつかのコンポーネントで設定されています。

  • jitsi-meet: Web インターフェイス用のファイル。Web サーバーによって提供されるファイル経由でアクセスされます。
  • jitsi-meet-prosody: jitsi の韻律プラグイン
  • jitsi-meet-turnserver: スタン/ターンサーバーを実行する設定の例
  • jitsi-videobridge: すべての参加者にビデオストリームを提供するビデオブリッジングサービス
  • jicofo: Jitsi カンファレンスの焦点は誰が話すかを決定すること
  • Prosody: セットアップのベースとなる無料の XMPP サーバー

ユーザー間のインターフェースのグラフィカルな概要は、こちら に示されています。

git バージョン、nightly バージョン、または安定バージョンのいずれかを使用できます。

これらを同時にインストールすることは可能ですが、別のポートと韻律の複数のインスタンスを使用する必要があります (プラグインを仮想ホストごとにスコープすることはできません)

通常バージョンか bin バージョンを選択する必要があります。bin 1 は通常のバージョンと競合します (つまり、nightly と nightly-bin は同時にインストールできませんが、stable と nightly は可能です)

1 つだけを使用するようにしてください:

一部のパッケージでは、設定例が /usr/share/doc にインストールされます。必ず /etc/pacman.conf でこの行をコメント化してください:

#NoExtract = usr/share/gtk-doc/html/* usr/share/doc/*

スタンドアロンサーバーを実行するには、これらのオプションパッケージが必要です:

設定

ノート: この設定により、誰もが接続できるオープンなサーバーが得られます。理論的根拠については、Jitsi 哲学 を参照してください。認証については ヒントとテクニック を参照してください。

サーバー名が example.com の場合、jitsi の一般的な選択は meet.example.com になりますが、自由に選択できます。ただし、セキュリティの観点から、独自のサブドメインで Web アプリをホストすることが強く推奨されます。 選択したサブドメインのエントリでサーバーの DNS レコードを更新する必要があります (上記の例では meet) 残りの部分では、これが完了していることを前提としています。

また、meet.example.com ドメインの SSL/TLS 証明書も必要です。無料の証明書を取得する方法については、certbot を参照してください。

以下では、次のプレースホルダーが使用されます:

  • JITSIFQDN: jitsi-meet ドメイン、例: meet.example.com
  • SECRET_JVB_USER: ビデオブリッジのパスワード
  • SECRET_FOCUS_USER: 認証者のパスワード

パスワードは、mktemp -u XXXXXXXX または pwgen などの安全な方法で取得する必要があります。必ず別の安全なパスワードを使用してください。

設定パス

パッケージ 設定パス
Stable
jitsi-meetAUR
jitsi-meet-binAUR
/etc/webapps/jitsi-meet
jitsi-meet-prosodyAUR
jitsi-meet-prosody-binAUR
/usr/lib/jitsi-meet-prosody
jitsi-meet-turnserverAUR
jitsi-meet-turnserver-binAUR
/usr/share/doc/jitsi-meet-turnserver
jicofoAUR
jicofo-binAUR
/etc/jicofo
jitsi-videobridgeAUR
jitsi-videobridge-binAUR
/etc/jitsi-videobridge
Nightly
jitsi-meet-nightlyAUR
jitsi-meet-nightly-binAUR
/etc/webapps/jitsi-meet-nightly
jitsi-meet-prosody-nightlyAUR
jitsi-meet-prosody-nightly-binAUR
/usr/lib/jitsi-meet-prosody-nightly
jitsi-meet-turnserver-nightlyAUR
jitsi-meet-turnserver-nightly-binAUR
/usr/share/doc/jitsi-meet-turnserver-nightly
jicofo-nightlyAUR
jicofo-nightly-binAUR
/etc/jicofo-nightly
jitsi-videobridge-nightlyAUR
jitsi-videobridge-nightly-binAUR
/etc/jitsi-videobridge-nightly
Git
jitsi-meet-gitAUR /etc/webapps/jitsi-meet-git
jitsi-meet-prosody-gitAUR /usr/lib/jitsi-meet-prosody-git
jitsi-meet-turnserver-gitAUR /usr/share/doc/jitsi-meet-turnserver-git
jicofo-gitAUR /etc/jicofo-git
jitsi-videobridge-gitAUR /etc/jitsi-videobridge-git

ループバック

jitsi-meet コンポーネントがローカル IP を使用して相互に到達できるようにします。ドメインがサーバーの実際の IP を返さない Cloudflare のようなプロキシの背後にある場合でも機能します。

/etc/hosts 内:

127.0.0.1 JITSIFQDN auth.JITSIFQDN
::1 JITSIFQDN auth.JITSIFQDN

prosody の設定

prosody は前提条件であり、Jitsi サービス用の構成をそれに追加する必要があります。prosody サーバーをまだセットアップしていない場合は、今すぐ prosodylua52-sec をインストールしてください。prosody 設定の残りの部分では、prosody がローカルにインストールされていることを前提としています。

パッケージ jitsi-meet-prosodyAUR は、簡単にカスタマイズできる設定を提供します。

# cd /etc/prosody
# mkdir conf.d
# cp /usr/share/doc/jitsi-meet-prosody/prosody.cfg.lua-jvb.example conf.d/jitsi.cfg.lua

次に、これを末尾に追加します:

/etc/prosody/prosody.cfg.lua
Include "conf.d/*.cfg.lua"

設定をカスタマイズします:

/etc/prosody/conf.d/jitsi.cfg.lua
-- replace all occurences of jitmeet.example.com by JITSIFQDN
-- replace all occurences of focusUser by focus
-- then add or update those section

VirtualHost "JITSIFQDN"
    ssl = {
        key = "/etc/prosody/certs/JITSIFQDN.key";
        certificate = "/etc/prosody/certs/JITSIFQDN.crt";
    }

VirtualHost "auth.JITSIFQDN"
    ssl = {
        key = "/etc/prosody/certs/auth.JITSIFQDN.key";
        certificate = "/etc/prosody/certs/auth.JITSIFQDN.crt";
    }
    authentication = "internal_hashed"
/etc/prosody/conf.d/jitsi.cfg.lua
-- Proxy to jicofo's user JID, so that it does not have to register as a component.
Component "focus.JITSIFQDN" "client_proxy"
    target_address = "focus@auth.JITSIFQDN"

ここで、JITSIFQDN および JITSIFQDN の証明書を生成する必要があります。

certbot を使用する場合は、次のコマンドを使用して証明書をインポートできます:

# prosodyctl --root cert import /etc/letsencrypt/live

自己生成した証明書を使用したい場合は、以下を使用できます:

[prosody]$ prosodyctl cert generate JITSIFQDN
[prosody]$ prosodyctl cert generate auth.JITSIFQDN
# mv /var/lib/prosody/*.{crt,cnf,key} /etc/prosody/certs/
# trust anchor /etc/prosody/certs/JITSIFQDN.crt
# trust anchor /etc/prosody/certs/auth.JITSIFQDN.crt
# update-ca-trust

ユーザー jvb と focus を登録します:

# prosodyctl register jvb auth.JITSIFQDN SECRET_JVB_USER
# prosodyctl register focus auth.JITSIFQDN SECRET_FOCUS_USER
# prosodyctl mod_roster_command subscribe focus.JITSIFQDN focus@auth.JITSIFQDN

次に、prosody.service再起動 (または、インストールしたばかりの場合は 起動/有効化) します。

jitsi-videobridge の設定

jitsi-videobridge の設定。nightly および git バージョンの場合は、-nightly または -git/etc/jitsi-videobridge に追加します。

MUC_NICKNAME の場合は、uuidgen コマンドを使用します。

/etc/jitsi-videobridge/sip-communicator.properties
org.jitsi.videobridge.xmpp.user.shard.DOMAIN=auth.JITSIFQDN
org.jitsi.videobridge.xmpp.user.shard.PASSWORD=SECRET_JVB_USER
org.jitsi.videobridge.xmpp.user.shard.MUC_JIDS=JvbBrewery@internal.auth.JITSIFQDN
org.jitsi.videobridge.xmpp.user.shard.MUC_NICKNAME=UUIDGEN_RESULT

jitsi-videobridge.service起動/有効化 してください。

jicofo の設定

jicofo の設定。nightly および git バージョンの場合は、/etc/jitsi-videobridge に -nightly または -git を追加します。

/etc/jicofo/jicofo.conf
jicofo {
  xmpp: {
    client: {
      client-proxy: "focus.JITSIFQDN"
      xmpp-domain: "JITSIFQDN"
      domain: "auth.JITSIFQDN"
      username: "focus"
      password: "SECRET_FOCUS_USER"
      conference-muc-jid = conference.JITSIFQDN
    }
    trusted-domains: [ "recorder.JITSIFQDN" ]
  }
  bridge: {
    brewery-jid: "JvbBrewery@internal.auth.JITSIFQDN"
  }
}

jicofo サービスを起動・有効化してください。

jitsi-meet の設定

jitsi-meet Web アプリの設定。nightly および git バージョンの場合は、-nightly または -git/etc/jitsi-videobridge に追加します。

/etc/webapps/jitsi-meet/config.js
var config = {
  hosts: {
    domain: 'JITSIFQDN',
    // ...
    muc: 'conference.JITSIFQDN'
  },
  bosh: '//JITSIFQDN/http-bind',
  // ...
}

nginx の設定

nginx#TLS の説明に従って、TLS を使用して nginx を設定します。

提供された例をコピーしてみましょう。

# cd /etc/nginx
# mkdir sites
# cp /usr/share/doc/jitsi-meet/jitsi-meet.example sites/jitsi.conf

次に、それをメイン設定に含めます:

/etc/nginx/nginx.conf
http {
    // ...
    // this should be placed near to the close bracket of the http block
    include sites/*.conf;
}

次に、jitsi 設定を自分の設定に変更します:

/etc/nginx/sites/jitsi.conf
server {
  # ...
  server_name JITSIFQDN;

  # ...
  # use prosody path directly
  ssl_certificate /etc/prosody/certs/JITSIFQDN.crt;
  ssl_certificate_key /etc/prosody/certs/JITSIFQDN.key;
  # or use letencrypt path
  ssl_certificate /etc/letsencrypt/live/JITSIFQDN/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/JITSIFQDN/privkey.pem;

  # set the config path
  # replace alias /etc/jitsi/meet/jitmeet.example.com-config.js by
  location = /config.js {
    alias /etc/webapps/jitsi-meet/config.js;
  }
  # ...
  location ~ ^/([^/?&:'"]+)/config.js$
  {
    set $subdomain "$1.";
    set $subdir "$1/";
    alias /etc/webapps/jitsi-meet/config.js;
  }
}

それから nginx.service再起動 してください。

ヒントとテクニック

NAT 経由で実行

以下のポートをサーバーに転送する必要があります:

HTTPS:

  • TCP/443

Jitsi Videobridge:

  • TCP/4443
  • UDP/10000

参照