「Jitsi-meet」の版間の差分
→prosody の設定: 翻訳 |
同期 |
||
| 129行目: | 129行目: | ||
}} |
}} |
||
=== |
=== 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 の設定。'''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}} サービスを[[起動|起動・有効化]]してください。 |
|||
{{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 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 |
|||
# 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/*
スタンドアロンサーバーを実行するには、これらのオプションパッケージが必要です:
設定
サーバー名が example.com の場合、jitsi の一般的な選択は meet.example.com になりますが、自由に選択できます。ただし、セキュリティの観点から、独自のサブドメインで Web アプリをホストすることが強く推奨されます。 選択したサブドメインのエントリでサーバーの DNS レコードを更新する必要があります (上記の例では meet) 残りの部分では、これが完了していることを前提としています。
また、meet.example.com ドメインの SSL/TLS 証明書も必要です。無料の証明書を取得する方法については、certbot を参照してください。
以下では、次のプレースホルダーが使用されます:
JITSIFQDN:jitsi-meetドメイン、例:meet.example.comSECRET_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 サーバーをまだセットアップしていない場合は、今すぐ prosody と lua52-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