Matrix

提供: ArchWiki
2022年9月21日 (水) 10:20時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (→‎興味深いチャンネル: 飜訳)
ナビゲーションに移動 検索に移動

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

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

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

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

インストール

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

設定

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

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

上記のコマンドで、入力したサーバー名の SSL 鍵と自己署名証明書が生成されます。サーバー名を変更した場合は再生成してください。

なお、同一のドメイン名にて Matrix 以外のサービスを動作させないことと、リバースプロキシを設定することが推奨されます。公式ドキュメント Security Note も参照してください。

サービス

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

ユーザー管理

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

$ register_new_matrix_user -c /etc/synapse/homeserver.yaml https://localhost:8448

もしくは matrix クライアント を使ってください。

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] セクションに追加することで行います。