開発環境構築

Mattermostのインストール方法

hebishima.shogo

はい、hebiです。

私がお仕事で携わった案件の中で利用していたチャットツールは以下のようなものがありました。

  • Slack
  • Microsoft Teams
  • Mattermost

Slack、Microsoft Teamsに対してMattermostはあまり聞き馴染みがないかもしれません。

Mattermostは自社サーバーにインストールすることができ、オープンソースであるためカスタマイズもできる点で選ばれている会社さんもある印象です。

今回はMattermostをどうやってインストールするんだろうと興味があったため、インストール方法を記事にしました。

スポンサーリンク

前提

以下の記事で作成したPostgreSQLの環境を利用します。

あわせて読みたい
Amazon LinuxにPostgreSQLをインストールする方法
Amazon LinuxにPostgreSQLをインストールする方法

Mattermostとは

Mattermostは、オープンソースのチャットツールです。

SlackやMicrosoft Teamsのようなチャットツールと同様に、チーム内のメンバーがリアルタイムでメッセージをやり取りし、ファイルを共有することができます。

Mattermostは、企業が自己ホスト型のチャット用サーバーを構築できるように設計されています。これにより、セキュリティやデータのコントロールを重視することができます。

また、オープンソースであることから、自社プログラマーによるカスタマイズも行うことが可能です。

Mattermostインストール手順

Mattermostをインストールしていきましょう!

Mattermostのダウンロードとインストール

Mattermostの公式サイトからバイナリをダウンロードします。

wget https://releases.mattermost.com/X.X.X/mattermost-team-X.X.X-linux-amd64.tar.gz

ダウンロードしたアーカイブを解凍します。

tar -xvzf mattermost-team-X.X.X-linux-amd64.tar.gz

Mattermostをインストールします。

sudo mv mattermost /opt
sudo ln -s /opt/mattermost/bin/mattermost /usr/local/bin/mattermost

X.X.X部分のバージョンは以下のサイトから確認できます。

あわせて読みたい
docs.mattermost.com
docs.mattermost.com

Mattermost専用のグループ作成

Mattermostを起動するためのグループを作成します。

sudo groupadd mattermost
sudo useradd -r -s /bin/false -g mattermost mattermost
sudo chown -R mattermost:mattermost /opt/mattermost

Mattermostのデータベースとユーザーを作成

Mattermostのデータベースとユーザーを作成します。

sudo -u postgres psql
CREATE DATABASE mattermost;
CREATE USER mmuser WITH PASSWORD password;
GRANT ALL ON DATABASE mattermost TO mmuser; ALTER DATABASE mattermost OWNER TO mmuser; GRANT USAGE, CREATE ON SCHEMA PUBLIC TO mmuser

DBを作成しておくと、Mattermost起動時にテーブルの作成が開始されます。

Mattermostの設定ファイルを編集

Mattermostの設定ファイルを開きます。

sudo nano /opt/mattermost/config/config.json

SiteURLにサーバーのURLを指定します。

"ServiceSettings": {
        "SiteURL": "http://サーバーのIPアドレス:8065",

:8065を指定しないと、Matermost起動した際に「Please check connection, Mattermost unreachable. If issue persists, ask administrator to check WebSocket port.」が表示されます。

データベースへの接続情報を入力します。

"SqlSettings":{
        "DriverName": "postgres",
        "DataSource": "postgres://mmuser:password@localhost/mattermost?sslmode=disable\u0026connect_timeout=10\u0026binary_parameters=yes",

ファイルの保存先を入力します。

"FileSettings": {
        "Directory": "/opt/mattermost/data/",

デフォルトの”Directory”: “./data/”だと「ファイルの書き込みに失敗しました」となり、ファイルの送信ができないので注意です!!

Mattermostのテーブル作成

以下を実行し、Mattermostを起動すると、DBにテーブルが作成されます。

sudo -u mattermost /opt/mattermost/bin/mattermost

Mattermostのサービス作成

Mattermostをサービスとして起動するためのmattermost.serviceを作成します。

sudo nano /etc/systemd/system/mattermost.service

[Unit]
Description=Mattermost
After=network.target
After=postgresql.service

[Service]
Type=simple
User=mattermost
Group=mattermost
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600

[Install]
WantedBy=multi-user.target

Mattermostサービスを手動で起動します

sudo systemctl daemon-reload
sudo systemctl enable mattermost
sudo systemctl start mattermost

config.jsonを変更した場合は、Mattermostの再起動が必要なので再起動コマンドも覚えておきましょう。

Mattermost再起動コマンド:sudo systemctl restart mattermost

以上でインストール完了です。

Mattermostを使ってみよう

では早速「http://IPアドレス:8065/」にアクセスしてみましょう!

デスクトップアプリを利用するかブラウザで利用するかを選べます。私はView in Browserを選択しました。

この後、会社名などを入力する画面を進むと、チャットを行える画面に進みます。

グーループを作成して、そこでメッセージのやり取りができます。

あとは使っていきながらカスタマイズしていく感じになります!

最後に

インストールも簡単に行えましたね!

社内の閉じた環境で利用したい場合や、他システムとの連携など複雑なことを行いたい場合はオープンソースの強みを使えると思います!

プログラムからMattermostへメッセージを送信する記事も書いたのでこちらもどうぞ!
やりたいことの幅が人がると思います!

あわせて読みたい
PHPでMattermostへメッセージ送信
PHPでMattermostへメッセージ送信

使用感もSlackやMicrosoft Teamsと同じ感覚で使えるので私的にも使いやすい印象です。
もう少し触ってみて本記事に追記していきます。

ぜひ、チャットツールの1つの選択肢にMattermostを検討してみてください!

最後までお読みいただきありがとうございました(^^♪

スポンサーリンク
ABOUT ME
hebi
hebi
エンジニア
フルスタックエンジニアとして活躍中。
HTML5プロフェッショナル認定Level1、Level2所持者です。

未経験の方でも簡単にプログラミングを学べるようにと情報を発信しております。
記事URLをコピーしました