Matrixは、オープンなフェデレーションインスタントメッセージングおよびVoIPサービスのためのリアルタイムの分散型通信のための新しいエコシステムです。単一の制御ポイントや障害のない分散およびフェデレーションチャットサーバーを構築するためのRESTfulHTTPJSON APIを提供し、APIのすべての参照を提供します。
Synapseは、マトリックスチームによって作成され、Python/Twistedで記述されたマトリックスホームサーバーの実装です。このソフトウェアを使用すると、分散型通信のマトリックス方式を実装できます。独自のホームサーバーを作成し、すべてのユーザーの個人情報、チャット履歴を保存したり、自分で使用するための部屋を作成したりできます。
このチュートリアルでは、Ubuntu18.04にMatrixSynapseをインストールして構成する方法を段階的に説明します。ローカルIPアドレスでMatrixSynapseを構成し、Nginx Webサーバーをそのリバースプロキシとして構成し、クライアントとフロントエンドNginxWebサーバー間のHTTPS接続を実装します。
- Ubuntu 18.04
- root権限
- マトリックスドメイン名またはサブドメイン-matrix.hakase-labs.io
何をしますか?
- Ubuntu18.04システムの更新とアップグレード
- MatrixSynapseをインストールする
- マトリックスシナプスを設定する
- SSLLetsencryptを生成する
- NginxをMatrixSynapseのリバースプロキシとしてインストールおよび構成する
- UFWファイアウォールのセットアップ
- 新しいマトリックスユーザーを設定する
- テスト
Ubuntuサーバーにログインし、リポジトリを更新して、以下のaptコマンドを使用してすべてのパッケージをアップグレードします。
sudo apt update
sudo apt upgrade
そして、すべてのubuntuパッケージがアップグレードされました。
このステップでは、公式のマトリックスリポジトリからDebianパッケージを使用してマトリックスシナプスソフトウェアをインストールします。
以下のすべてのコマンドを実行して、マトリックスキーとリポジトリを追加します。
wget -qO - https://matrix.org/packages/debian/repo-key.asc | sudo apt-key add -
sudo add-apt-repository https://matrix.org/packages/debian/
このコマンドはリポジトリを自動的に更新します。
次に、以下のようにaptコマンドを使用してmatrixsynapseをインストールします。
sudo apt install matrix-synapse -y
インストール中に、マトリックスサーバー名について尋ねられます-マトリックスドメイン名「matrix.hakase-labs.io」を入力してください。
また、匿名データレポートの場合は、[いいえ]を選択します。
マトリックスシナプスのインストールが完了したら、サービスを開始し、システムの起動時に毎回起動できるようにします。
sudo systemctl start matrix-synapse
sudo systemctl enable matrix-synapse
これで、マトリックスシナプスが起動し、ポート「8008」および「8448」のデフォルト構成を使用して実行されます。 netstatコマンドを使用して確認してください。
netstat -plntu
マトリックスシナプスのインストール後、ローカルIPアドレスで実行するように構成し、マトリックスシナプス登録を無効にして、registration-shared-secretを有効にします。
ホームサーバーの構成を編集する前に、共有秘密鍵を生成する必要があります。
以下のコマンドを実行します。
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1
そして、生成されたキーを取得します。結果キーをコピーします。
次に、「/ etc /matrix-synapse/」ディレクトリにあるホームサーバー構成ファイル「homeserver.yaml」を編集する必要があります。現在のディレクトリを「/etc/ matrix-synapse」に変更し、vimを使用して構成ファイルを編集します。
cd /etc/matrix-synapse/
vim homeserver.yaml
HTTPおよびHTTPSリスナーポート「8008」および「8448」をローカルIPアドレス「127.0.0.1」に変更します。
port: 8448 bind_addresses: - '127.0.0.1' - port: 8008 bind_addresses: ['127.0.0.1']
マトリックスシナプス登録を無効にし、「registration_shared_secret」構成のコメントを解除して、生成された秘密鍵を貼り付けます。
enable_registration: False registration_shared_secret: "MtkF9JOkNHsRRISyR5L91KAQlrrPhyWX"
保存して終了します。
注:
Registration_shared_secret:設定されている場合、登録が無効になっている場合でも、共有シークレットを持っている人なら誰でも登録できます。
次に、マトリックスシナプスサービスを再起動します。
sudo systemctl restart matrix-synapse
以下のコマンドを使用してホームサーバーサービスを確認してください。
netstat -plntu
マトリックスシナプスサービスがローカルIPアドレス上にあるようになります。
そして、マトリックスシナプスのインストールと構成が完了しました。
このチュートリアルでは、NginxリバースプロキシのHTTPSを有効にし、LetsencryptからSSL証明書ファイルを生成します。
以下のaptコマンドを使用してletsencryptツールをインストールします。
sudo apt install letsencrypt -y
Letsencryptツールがシステムにインストールされ、次に示すようにcertbotコマンドを使用してマトリックスドメイン名「matrix.hakase-labs.io」のSSL証明書ファイルを生成します。
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d matrix.hakase-labs.io
Letsencryptツールは、検証のために「スタンドアロン」の一時Webサーバーを実行してSSL証明書ファイルを生成します。
完了すると、次のような結果が得られます。
マトリックスシナプスドメイン名「matrix.hakase-labs.io」のSSL証明書ファイルは、「/ etc /letsencrypt /live/」ディレクトリ内に生成されます。
このステップでは、Nginx Webサーバーをインストールし、ポート「8008」で実行されているホームサーバーのリバースプロキシとして構成します。
以下のaptコマンドを使用してNginxWebサーバーをインストールします。
sudo apt install nginx -y
インストールが完了したら、サービスを開始し、システムの起動時に毎回起動できるようにします
sudo systemctl start nginx
sudo systemctl enable nginx
次に、マトリックスドメイン名「matrix.hakase-labs.io」の新しい仮想ホスト構成を作成します。
'/ etc / nginx'構成ディレクトリに移動し、新しい仮想ホストファイル'matrix'を作成します。
cd /etc/nginx/
vim sites-available/matrix
次の構成をそこに貼り付けます。
server { listen 80; server_name matrix.hakase-labs.io; return 301 https://$server_name$request_uri; } server { listen 443 ssl; listen [::]:443 ssl; server_name matrix.hakase-labs.io; ssl_certificate /etc/letsencrypt/live/matrix.hakase-labs.io/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/matrix.hakase-labs.io/privkey.pem; # If you don't wanna serve a site, comment this out root /var/www/html; index index.html index.htm; location /_matrix { proxy_pass http://127.0.0.1:8008; proxy_set_header X-Forwarded-For $remote_addr; } }
保存して終了します。
仮想ホストファイルをアクティブ化し、構成をテストします。
ln -s /etc/nginx/sites-available/matrix /etc/nginx/sites-enabled/
nginx -t
エラーがないことを確認してから、Nginxサービスを再起動します。
sudo systemctl restart nginx
MatrixSynapseホームサーバーのリバースプロキシとしてのNginxのインストールと構成が完了しました。
このチュートリアルでは、サービス用に3つのポートのみを開きます。 UFWファイアウォール構成でのみSSH、HTTP、およびHTTPS接続を許可します。
以下のコマンドを実行して、SSH、HTTP、およびHTTPSサービスをUFWファイアウォール構成に追加します。
ufw allow ssh
ufw allow http
ufw allow https
次に、UFWファイアウォールサービスを有効にして、ステータスを確認します。
ufw enable
ufw status
そして、以下のような結果が得られます。
これでUFWファイアウォールの構成が完了しました。
この段階で、マトリックスシナプスホームサーバーのインストールと構成が完了します。このステップでは、コマンドラインサーバーから新しいマトリックスユーザーを追加する方法を示します。
新しいマトリックスユーザーを作成するには、以下のコマンドを実行します。
register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml https://127.0.0.1:8448
次に、ユーザー名とパスワードを入力し、ユーザーに管理者権限を付与するかどうかを決定する必要があります。
以下は私のシステムでの結果です。
そして、管理者権限を持つ「hakase」という名前の新しいマトリックスユーザーを作成しました。
オペレーティングシステム用のRiotデスクトップアプリケーションをダウンロードしてインストールします。
Riotソフトウェアを開くと、以下のようなMatrixログインページが表示されます。
マトリックスのユーザー名とパスワードを入力し、[カスタムサーバー]オプションを選択して、カスタムドメイン名'matrix.hakase-labs.io'を入力します。
[サインイン]ボタンをクリックします。
そして今、あなたは暴動ダッシュボードを手に入れるでしょう。
Matrix SynapseホームサーバーはNginxリバースプロキシHTTPS接続で稼働しており、「hakase」ユーザーは、Riotアプリケーションデスクトップを使用してマトリックスホームサーバーにログインしています。
マトリックスユーザー構成。
グループとしてのマトリックスチャットユーザー。