Matrix

提供: ArchWiki
2022年1月19日 (水) 21:52時点におけるKgx (トーク | 投稿記録)による版 (トラブルシューティングの項目を翻訳して追加)
ナビゲーションに移動 検索に移動

Matrix はオープンなインスタントメッセージや VoIP のための野心的な新しいエコシステムです。サーバー・クライアントと、IRC など既存のメッセージソリューションと通信するためのブリッジソフトウェアから構成されています。

Arch Linux の Matrix チャンネルがあります: #archlinux:archlinux.org

インストール

サーバーのリファレンス実装である 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 をご覧ください。

トラブルシューティング

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

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

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