「Matrix」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(興味深いチャンネルの項目を翻訳して追加)
 
(2人の利用者による、間の11版が非表示)
1行目: 1行目:
  +
[[Category:インスタントメッセージ]]
 
[[Category:Voice over IP]]
 
[[Category:Voice over IP]]
 
[[en:Matrix]]
 
[[en:Matrix]]
[https://matrix.org/ Matrix] はオープンなインスタントメッセージ VoIP のための野心的な新しいエコシステムです。サーバー・[https://matrix.org/clients/ クライアント]、IRC な既存のメッセージソリューションと通信するための[https://matrix.org/bridges/ ブリッジソフトウェア]から構成されています。
+
[https://matrix.org/ Matrix] はオープンな連携型インスタントメッセージングと VoIP のための野心的な新しいエコシステムです。サーバ[https://matrix.org/clients/ clients]、そして [[wikipedia:ja:Internet Relay Chat|IRC]] のような既存のメッセージングソリューションに接続するための [https://matrix.org/bridges/ Bridges] ソフトウェアから構成されています。
   
Arch Linux の Matrix チャンネルがあります: [https://matrix.to/#/!SEgsRQLScqPxYtucHl:archlinux.org?via=archlinux.org&via=matrix.org&via=privacytools.io #archlinux:archlinux.org]
+
Arch Linux の Matrix チャンネル [https://matrix.to/#/#archlinux:archlinux.org #archlinux:archlinux.org] に存在します。国際的なコミュニティには独自のマトリックスルームがあります。詳しくは [[国際コミュニティ]] を見て下さい。
  +
  +
https://matrix.org のような既存のサーバーを使うか、後述するあなた自身の Synapse サーバーをホストすることができます。
  +
  +
Matrix クライアントの一覧は [[アプリケーション一覧#Matrix clients]] を参照してください。
   
 
== インストール ==
 
== インストール ==
12行目: 17行目:
   
 
インストールしたら、設定ファイルを作成する必要があります。ファイルは ''synapse'' ユーザーから読み込めるように設定してください:
 
インストールしたら、設定ファイルを作成する必要があります。ファイルは ''synapse'' ユーザーから読み込めるように設定してください:
  +
{{bc|<nowiki>
 
  +
{{bc|1=
$ cd /var/lib/synapse
 
  +
[synapse]$ cd /var/lib/synapse
$ sudo -u synapse python -m synapse.app.homeserver \
 
  +
[synapse]$ python -m synapse.app.homeserver \
--server-name my.domain.name \
 
  +
--server-name ''my.domain.name'' \
 
--config-path /etc/synapse/homeserver.yaml \
 
--config-path /etc/synapse/homeserver.yaml \
 
--generate-config \
 
--generate-config \
 
--report-stats=yes
 
--report-stats=yes
  +
}}
</nowiki>}}
 
   
上記コマンドで入力したサーバー名 SSL 鍵と自己署名証明書が生成されます。サーバ名を変更した場合は再生成してください
+
操作により指定したサーバー名に対応する SSL 鍵と自己署名証明書が生成されることに注意してください。サーバ名を変更した場合は、これらを再生成する必要があります
   
  +
Synapse サーバにインターネット経由でアクセスする場合は、[https://github.com/matrix-org/synapse/blob/develop/docs/reverse_proxy.md リバースプロキシ] を設定することを強く推奨します。
なお、同一のドメイン名にて Matrix 以外のサービスを動作させないことと、リバースプロキシを設定することが推奨されます。[https://github.com/matrix-org/synapse/#id9 公式ドキュメント Security Note] も参照してください。
 
   
 
== サービス ==
 
== サービス ==
   
パッケージには {{ic|synapse.service}} という名前の systemd サービスが付属しています。サービスを[[起動]]することで ''synapse'' ユーザーで synapse サーバーが起動し、{{ic|/etc/synapse/homeserver.yaml}} 設定ファイルが使われます。
+
{{Pkg|matrix-synapse}} パッケージには {{ic|synapse.service}} という名前の systemd サービスが付属しています。このサービスは、ユーザ ''synapse'' として synapse サーバ起動し、設定ファイル {{ic|/etc/synapse/homeserver.yaml}} 使用します。
   
 
== ユーザー管理 ==
 
== ユーザー管理 ==
   
 
synapse サーバーには最低でもひとりのユーザーが必要です。以下のようにコマンドでユーザーを作成できます:
 
synapse サーバーには最低でもひとりのユーザーが必要です。以下のようにコマンドでユーザーを作成できます:
{{bc|$ register_new_matrix_user -c /etc/synapse/homeserver.yaml https://localhost:8448}}
+
{{bc|<nowiki>$ register_new_matrix_user -c /etc/synapse/homeserver.yaml http://127.0.0.1:8008</nowiki>}}
もしく [https://matrix.org/docs/projects/try-matrix-now.html matrix クライアント] を使ってください
+
また[https://matrix.org/docs/projects/try-matrix-now.html matrix クライアント] の一つ、例えば {{Pkg|element-desktop}} や {{pkg|libpurple}} の {{AUR|purple-matrix-git}} プラグインを使うことができます
   
 
== Spider Webcrawler ==
 
== Spider Webcrawler ==
39行目: 45行目:
 
Webcrawler を有効にするには、サーバーが生成するリンクのプレビューのために、追加パッケージ {{Pkg|python-lxml}} と {{Pkg|python-netaddr}} をインストールする必要があります。その後、設定オプション {{ic|url_preview_enabled: True}} は {{ic|homeserver.yaml}} で設定することができます。synapse サーバが内部ホストに対して任意の GET リクエストを発行しないようにするには、 {{ic|url_preview_ip_range_blacklist:}} を設定する必要があります。
 
Webcrawler を有効にするには、サーバーが生成するリンクのプレビューのために、追加パッケージ {{Pkg|python-lxml}} と {{Pkg|python-netaddr}} をインストールする必要があります。その後、設定オプション {{ic|url_preview_enabled: True}} は {{ic|homeserver.yaml}} で設定することができます。synapse サーバが内部ホストに対して任意の GET リクエストを発行しないようにするには、 {{ic|url_preview_ip_range_blacklist:}} を設定する必要があります。
   
{{Warning|デフォルトはありません! デフォルは、synapse サーバはすべての内部ホストをクロールすることができます。}}
+
{{Warning|デフォルト、ブラックリストは空白です。設定を行わないと、synapse サーバはすべての内部ホストをクロールできます。}}
   
 
コメントアウトしなくてもよい例がいくつかあります。ローカルな IP 範囲をこのリストに追加して、synapse サーバがそれらをクロールしようとするのを防ぎます。{{ic|homeserver.yaml}} を変更した後、サービスを再起動する必要があります。
 
コメントアウトしなくてもよい例がいくつかあります。ローカルな IP 範囲をこのリストに追加して、synapse サーバがそれらをクロールしようとするのを防ぎます。{{ic|homeserver.yaml}} を変更した後、サービスを再起動する必要があります。
46行目: 52行目:
   
 
KDE コミュニティには、特定のアプリケーション、言語、イベントなどのための様々なマトリックスルームがあります。詳しくは https://community.kde.org/Matrix をご覧ください。
 
KDE コミュニティには、特定のアプリケーション、言語、イベントなどのための様々なマトリックスルームがあります。詳しくは https://community.kde.org/Matrix をご覧ください。
  +
  +
GNOME コミュニティでは、さまざまなマトリックス・ルームと即座に通信するためのマトリックス・インスタンスも用意しています。詳しくは https://wiki.gnome.org/GettingInTouch/Matrix をご覧ください。
  +
  +
== トラブルシューティング ==
  +
  +
=== 読み取り専用のファイルシステム ===
  +
  +
デフォルトでは、synapse はサービス ファイルで設定された working-directory ({{ic|/var/lib/synapse}}) にのみ書き込みを行うことができます。synapse が異なるパスに書き込むと、書き込みエラーが発生する場合があります(例:media-store が {{ic|/var/lib/matrix-synapse/media}} にある場合)
  +
  +
他のディレクトリへのアクセスを許可するには、 {{ic|synapse.service}} の [[systemd#ユニットファイルを置換する|ユニットファイルを置換する]] を作成し、 {{ic|1=ReadWritePaths=''your_paths''}} を {{ic|[Service]}} セクションに追加することで行います。
  +
  +
=== メモリ消費量が多い ===
  +
  +
{{Pkg|jemalloc}} をインストールすることで、Synapse のメモリ消費量を大幅に削減できます。[https://element-hq.github.io/synapse/latest/usage/administration/admin_faq.html#help-synapse-is-slow-and-eats-all-my-ramcpu] jemalloc を有効にするには、[[環境変数]] LD_PRELOAD を適切に設定する必要があります。これは、{{ic|/etc/default/synapse}} を作成することで実行でき、systemdユニットファイルによって適用されます。[https://gitlab.archlinux.org/archlinux/packaging/packages/matrix-synapse/-/blob/main/synapse.service?ref_type=heads#L18]
  +
  +
{{hc|/etc/default/synapse|2=
  +
LD_PRELOAD=/usr/lib/libjemalloc.so
  +
}}
  +
  +
''jemalloc'' を有効にした後、キャッシュ設定を調整することでメモリフットプリントをさらに削減できます: [https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#caches-and-associated-values]
  +
  +
{{hc|/etc/synapse/homeserver.yaml|
  +
caches:
  +
cache_autotuning:
  +
max_cache_memory_usage: 1024M
  +
target_cache_memory_usage: 758M
  +
min_cache_ttl: 5m
  +
}}
  +
  +
{{ic|cache_autotuning}} の下の設定オプションは、''jemalloc'' が有効になっていないと機能しません。

2024年8月5日 (月) 02:33時点における最新版

Matrix は、オープンな連携型インスタントメッセージングと VoIP のための野心的な新しいエコシステムです。サーバ、clients、そして IRC のような既存のメッセージングソリューションに接続するための Bridges ソフトウェアから構成されています。

Arch Linux の Matrix チャンネルは #archlinux:archlinux.org に存在します。国際的なコミュニティには独自のマトリックスルームがあります。詳しくは 国際コミュニティ を見て下さい。

https://matrix.org のような既存のサーバーを使うか、後述するあなた自身の Synapse サーバーをホストすることができます。

Matrix クライアントの一覧は アプリケーション一覧#Matrix clients を参照してください。

インストール

サーバーのリファレンス実装である Synapsematrix-synapse パッケージでインストールできます。パッケージをインストールすると synapse ユーザーが作成されます。

設定

インストールしたら、設定ファイルを作成する必要があります。ファイルは synapse ユーザーから読み込めるように設定してください:

[synapse]$ cd /var/lib/synapse
[synapse]$ python -m synapse.app.homeserver \
  --server-name my.domain.name \
  --config-path /etc/synapse/homeserver.yaml \
  --generate-config \
  --report-stats=yes

この操作により、指定したサーバー名に対応する SSL 鍵と自己署名証明書が生成されることに注意してください。サーバ名を変更した場合は、これらを再生成する必要があります。

Synapse サーバにインターネット経由でアクセスする場合は、リバースプロキシ を設定することを強く推奨します。

サービス

matrix-synapse パッケージには synapse.service という名前の systemd サービスが付属しています。このサービスは、ユーザ synapse として synapse サーバを起動し、設定ファイル /etc/synapse/homeserver.yaml を使用します。

ユーザー管理

synapse サーバーには最低でもひとりのユーザーが必要です。以下のようにコマンドでユーザーを作成できます:

$ register_new_matrix_user -c /etc/synapse/homeserver.yaml http://127.0.0.1:8008

または、matrix クライアント の一つ、例えば element-desktoplibpurplepurple-matrix-gitAUR プラグインを使うことができます。

Spider Webcrawler

Webcrawler を有効にするには、サーバーが生成するリンクのプレビューのために、追加パッケージ python-lxmlpython-netaddr をインストールする必要があります。その後、設定オプション url_preview_enabled: Truehomeserver.yaml で設定することができます。synapse サーバが内部ホストに対して任意の GET リクエストを発行しないようにするには、 url_preview_ip_range_blacklist: を設定する必要があります。

警告: デフォルトでは、ブラックリストは空白です。設定を行わないと、synapse サーバーはすべての内部ホストをクロールできます。

コメントアウトしなくてもよい例がいくつかあります。ローカルな IP 範囲をこのリストに追加して、synapse サーバがそれらをクロールしようとするのを防ぎます。homeserver.yaml を変更した後、サービスを再起動する必要があります。

興味深いチャンネル

KDE コミュニティには、特定のアプリケーション、言語、イベントなどのための様々なマトリックスルームがあります。詳しくは https://community.kde.org/Matrix をご覧ください。

GNOME コミュニティでは、さまざまなマトリックス・ルームと即座に通信するためのマトリックス・インスタンスも用意しています。詳しくは https://wiki.gnome.org/GettingInTouch/Matrix をご覧ください。

トラブルシューティング

読み取り専用のファイルシステム

デフォルトでは、synapse はサービス ファイルで設定された working-directory (/var/lib/synapse) にのみ書き込みを行うことができます。synapse が異なるパスに書き込むと、書き込みエラーが発生する場合があります(例:media-store が /var/lib/matrix-synapse/media にある場合)

他のディレクトリへのアクセスを許可するには、 synapse.serviceユニットファイルを置換する を作成し、 ReadWritePaths=your_paths[Service] セクションに追加することで行います。

メモリ消費量が多い

jemalloc をインストールすることで、Synapse のメモリ消費量を大幅に削減できます。[1] jemalloc を有効にするには、環境変数 LD_PRELOAD を適切に設定する必要があります。これは、/etc/default/synapse を作成することで実行でき、systemdユニットファイルによって適用されます。[2]

/etc/default/synapse
LD_PRELOAD=/usr/lib/libjemalloc.so

jemalloc を有効にした後、キャッシュ設定を調整することでメモリフットプリントをさらに削減できます: [3]

/etc/synapse/homeserver.yaml
caches:
  cache_autotuning:
    max_cache_memory_usage: 1024M
    target_cache_memory_usage: 758M
    min_cache_ttl: 5m

cache_autotuning の下の設定オプションは、jemalloc が有効になっていないと機能しません。