Mattermostはオープンソースのインスタントメッセージングサービスです。無料版と有料版の両方があります。クラウドまたはオンプレミスのいずれかでWebアプリケーションとして操作できます。ここでは、RockyLinuxにMattermostをインストールして構成する方法を学びます。
Mattermostは、個人とグループ間のコミュニケーションを可能にします。コミュニケーションは、チャット、ビデオコール、または通常の電話として行うことができます。データやリンクの交換も可能です。 Mattermostは、この点でMSTeamsまたはSlackの直接の競合相手と見なすことができます。 AWS、Google、Azureなどのクラウドユーザーの場合、事前に構築されたオープンソースイメージを使用して、Mattermostをクラウドにできるだけ早くインストールしてデプロイできます。インストール後、ブラウザまたはWindows、Linux、Mac、iOS、Androidのモバイルおよびデスクトップアプリを使用して、そのWebインターフェイスにアクセスできます。
Omnibusという名前で、Mattermostがリリースしたパッケージは、無料のメッセージングシステムの完全なスタックであり、いくつかのコマンドでインストールできます。 Mattermost自体に加えて、管理者はPostgreSQLをデータベースとして、NginxをプロキシWebサーバーとして、CertbotをセットアップしてSSL証明書をすぐに発行および更新できます。ただし、オムニバス Debian専用です ベースのシステムであり、RHELまたはその派生物では機能しないため、RockyLinuxでMattermostを段階的に設定する必要があります。
RockyLinux8にMattermostをインストールする手順
1。システムアップデートを実行する
まず、Rocky Linuxで利用可能な既存のパッケージを更新して、すべてが最新の状態になるようにします。
sudo dnf update
2。 RockyLinuxにMySQLサーバーをインストールする
MySQLデータベースがインストールされているサーバーがすでにある場合は、この手順をスキップできます。それ以外の場合は、以下のコマンドを使用してMySQLサーバーをRocky Linuxにインストールし、Mattermostによって生成されるデータを保存します。
sudo dnf install mysql-server
インストールが完了したら、MySQLサービスが有効で実行されていることを確認します…
sudo systemctl enable --now mysqld sudo systemctl start mysqld
ステータスを確認する-
sudo systemctl status mysqld
データベースサーバーのインストールを保護します。
sudo mysql_secure_installation
上記のコマンドを実行すると、Mysqlのパスワードを設定し、データベースを脆弱にする他のものを削除するように求められます。
3。 Mattermostのデータベースを作成する
それでは、MySQLサーバーにログインして、後でMattermostのインストールで使用するデータベースを作成しましょう。
rootユーザータイプとしてログインするには-
mysql -u root -p
データベースの作成:
h2sdbを置き換えます データベースに付けたい名前を付けます。
CREATE DATABASE h2sdb;
次に、データベースユーザーを作成します。
ここでh2suser ユーザー名とパス 使用したパスワードです。これらの値は変更できます…
CREATE USER 'h2suser'@'localhost' IDENTIFIED BY 'pass';
すべての権利を割り当てます 作成されたユーザーへのデータベースの。
grant all privileges on h2sdb.* to h2suser@localhost;
付与テーブルを再読み込みして終了します-
flush privileges; exit;
4。 RockyLinux8にMattermostサーバーをインストールする
それでは、インストールするMattermostサーバーの最新バージョンをダウンロードしましょう。そのためには、公式ウェブサイトにアクセスしてください ページをダウンロードして最新のtarファイルのダウンロードURLをコピーし、wget
で使用します RockyLinuxターミナルでコマンドを実行して取得します。この記事を書いている間、利用可能な最新バージョンは5.34.2でした。同じ場合は、以下のコマンドも使用できます。
sudo dnf instal wget -y
wget https://releases.mattermost.com/5.34.2/mattermost-5.34.2-linux-amd64.tar.gz
抽出 ダウンロードしたファイルを/optに移動します ディレクトリ。そのため、誤って削除することはありません。
tar -xf mattermost-*-linux-amd64.tar.gz
sudo mv mattermost /opt
データディレクトリを作成 コピーしたフォルダにデータを保存する-
sudo mkdir /opt/mattermost/data
5。ユーザーとグループを作成する
セキュリティ上の理由から、RockyLinuxでMattermost用に個別のユーザーとグループを作成します。 Mattermostサービスを管理およびアクセスする権利があります。
mattermostというユーザーとグループを追加 –
sudo useradd --system --user-group mattermost
新しく作成したユーザーに / optでコピーしたフォルダを管理する権利 ディレクトリ。
sudo chown -R mattermost:mattermost /opt/mattermost
読み取りおよび書き込み権限を設定します。
sudo chmod -R g+w /opt/mattermost
6。
でデータベースドライバとデータソースを設定します構成ファイルを編集し、データベースドライバー名とデータソースの2つを変更します-
sudo dnf install nano -y
sudo nano /opt/mattermost/config/config.json
データベースドライバー:
キーボードの矢印キーを使用して、SQL設定の下にDriverNameの値が見つかるまで下にスクロールします。デフォルトではPostgreSQL用に設定されており、MySQLを使用している場合は、mysql
に変更します。 。
「ドライバー名」を設定します ”:” mysql 」
次に、そのすぐ下に、データソースがあります。 次の行-"postgres://mmuser:<mmuser-password>@<host-name-or-IP>:5432/mattermost?sslmode=disable&connect_timeout=10".
変更 それを以下のものに置き換え、太字も置き換えます テキスト
"mmuser:<mmuser-password>@tcp(<host-name-or-IP>:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"
交換 –
mmuser
– MySQLデータベースユーザーと
mmuser-password-
データベースパスワードに置き換えます
<host-name-or-IP>
– データベースサーバーのIPアドレスを入力します 。 同じサーバーを使用している場合 MattermostデータベースとMySQLデータベースの両方について、localhost
に置き換えます。 または127.0.0.1
mattermost
–削除してデータベースの名前を入力します。
例 – MySQLデータベース値を使用する場合、このデータソース行は次のようになります
"h2suser:pass@tcp(127.0.0.1:3306)/h2sdb?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"
Ctrrl + X を押して、ファイルを保存して閉じます 、 y、と入力します Enterを押します キー。
すべてが正常に機能していることをテストします
マターモストディレクトリに切り替えてサーバーを起動します-
cd /opt/mattermost sudo -u mattermost ./bin/mattermost
サーバーが8065ポートでリッスンしていて、サーバーが機能していて、構成ファイルが有効であることを示すテキストが表示されます。停止するには、 Ctrl+Cを押します。
7。 RockyLinuxでMattermostシステムサービスファイルを作成する
この無料のメッセージングプラットフォームのサービスを実行して、systemctlコマンドを使用して停止または開始できるバックグラウンドで実行するには、同じための構成ファイルを作成しましょう。
sudo nano /etc/systemd/system/mattermost.service
その中に以下のコードをコピーします。
[Unit] Description=Mattermost After=syslog.target network.target mysqld.service [Service] Type=notify WorkingDirectory=/opt/mattermost User=mattermost ExecStart=/opt/mattermost/bin/mattermost PIDFile=/var/spool/mattermost/pid/master.pid TimeoutStartSec=3600 LimitNOFILE=49152 [Install] WantedBy=multi-user.target
ctrl + xを押してファイルを保存します 次に、「 Y」と入力します Enterを押します キー。
ファイルを実行可能にする-
sudo chmod 664 /etc/systemd/system/mattermost.service
systemdサービスをリロードします-
sudo systemctl daemon-reload
8。サービスを有効にして開始する
次に、上記で作成したサービスファイルをシステムブートで実行できるようにし、同じように起動します。
sudo systemctl enable mattermost.service
開始-
sudo systemctl start mattermost.service
ステータスの確認-
sudo systemctl status mattermost.service
終了するには-Ctrl+ C
9。 MattermostWebインターフェイスにアクセスする
IPアドレスを使用してこのチャットサーバーにアクセスする場合は、最初にポート番号 8065を開きます。 RockyLinuxで
sudo firewall-cmd --zone=public --add-port=8065/tcp
次に、ウェブブラウザを開きます Mattermostをインストールしたserver-IP-addressをポイントします。たとえば、サーバーのIPアドレスが192.168.0.108の場合、URLは次のようになります-
192.168.0.108:8065
これが見つかります-
メールアドレスなどを入力してアカウントを作成してください。
10:完全修飾ドメインと80/443ポートを使用
FQDnを使用する方法は2つありますが、どちらも最初にDNSサーバーを使用してドメインとサーバーIPアドレスをマッピングする必要があります。
最初の方法:
IPアドレスの代わりに標準のFQDnを使用してサーバーにアクセスする場合は、最初にドメインをMattermostサーブIPアドレスにポイントし、その後システムコンソールに移動します。 ウェブサーバーを選択します 。
サーバーを指す必要があるWebサイトのドメインまたはURLを入力します。また、ドメインで8065ポート番号を使用したくない場合は、80または445に置き換えてください。
設定したら、ライブURLをテストします。正常に機能する場合は、そこにあるLet’sEncryptオプションを使用して無料のSSL証明書を取得できます。
2番目の方法
Nginxリバースプロキシの使用
ドメイン名をサーバーのIPアドレスに直接指定して、完全修飾ドメインを使用してMattermostにアクセスすることもできますが、セキュリティを向上させるために、リバースプロキシとしてNginxをインストールしましょう。
sudo dnf install epel-release sudo dnf install nginx
有効にして開始
sudo systemctl enable --now nginx sudo systemctl start nginx
構成ファイルを作成する
sudo nano /etc/nginx/conf.d/mattermost.conf
以下のコードを貼り付けて、 mattermost.how2shout.comを置き換えます 使用したいドメイン名で…
upstream backend { server 127.0.0.1:8065; keepalive 32; } proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off; server { listen 80; server_name mattermost.how2shout.com; location ~ /api/v[0-9]+/(users/)?websocket$ { proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; client_max_body_size 50M; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Frame-Options SAMEORIGIN; proxy_buffers 256 16k; proxy_buffer_size 16k; client_body_timeout 60; send_timeout 300; lingering_timeout 5; proxy_connect_timeout 90; proxy_send_timeout 300; proxy_read_timeout 90s; proxy_pass http://backend; } location / { client_max_body_size 50M; proxy_set_header Connection ""; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Frame-Options SAMEORIGIN; proxy_buffers 256 16k; proxy_buffer_size 16k; proxy_read_timeout 600s; proxy_cache mattermost_cache; proxy_cache_revalidate on; proxy_cache_min_uses 2; proxy_cache_use_stale timeout; proxy_cache_lock on; proxy_http_version 1.1; proxy_pass http://backend; } }
ファイルを保存します-Ctrl+ X 、 Yを押します Enterを押します キー。
設定ファイルがエラーなしで機能していることを確認してください-
sudo nginx -t
Nginxサーバーを再起動します
sudo systemctl restart nginx
サーバーファイアウォールのポート80と443を開きます
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
これで、ドメインがサーバーのIPアドレスを指定している場合は、ブラウザーでドメインにアクセスできるようになります。ただし、SSL証明書エラーが発生します。したがって、Let’sEncryptを使用してそのインストールを削除するには
詳細については、公式のMattermostドキュメントを参照してください。