Mattermostでチャットシステムを構築してみた(インストール編)

Mattermost(マターモースト)という、オープンソースのチャットサービスがあると聞き、面白そうだったのでVPS上に構築してみました。

Mattermost.com
Mattermost | Secure Collaboration for Technical Teams Accelerate mission critical work in complex environments with a customizable, self-sovereign collaboration hub.

非常に分かりやすいドキュメント(英語)があり、それに沿って進めれば大きな問題なく構築できるかと思います。
今回は既に稼働しているサーバーに、サブドメインでアクセスする形で構築してみました。

目次

前提条件

  • CentOS 8
  • Nginx
  • MariaDB(MySQL)
  • SMTPサーバー

上記が問題なく稼働していること。

インストール手順

詳細は下記ドキュメントをご覧ください。

あわせて読みたい
  1. MariaDB上にユーザーを作成します。
    尚、「mmuser-password」はセキュアなものに変更することをオススメします。

    create user 'mmuser'@'%' identified by 'mmuser-password';
  2. MariaDB上にデータベースを作成し、上記ユーザーに権限を付与します。
    create database mattermost;
    grant all privileges on mattermost.* to 'mmuser'@'%';
  3. Mattermost Serverをインストールします。
    下記URLから最新版を取得して、サーバー上の適当なディレクトリに展開します。
    https://mattermost.com/download/
  4. 展開されたディレクトリを/opt配下に移動します。
    sudo mv mattermost /opt
  5. ファイル用のディレクトリを作成します。
    sudo mkdir /opt/mattermost/data
  6. Mattermost用のユーザーとグループを作成し、パーミッションを変更します。
    sudo useradd --system --user-group mattermost
    sudo chown -R mattermost:mattermost /opt/mattermost
    sudo chmod -R g+w /opt/mattermost
  7. 設定ファイル(/opt/mattermost/config/config.json)の内容を変更します。
    「SqlSettings」の中の「DriverName」を「mysql」、「DataSource」を「mmuser:<mmuser-password>@tcp(<host-name-or-IP>:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s」に変更します。
    尚、DataSourceに記述する「mmuser-password」は手順1.で設定したパスワード、「host-name-or-IP」はホスト名もしくはIPアドレスを設定します。
    「ServiceSettings」の中の「SiteURL」をサイトのURLに変更します。
  8. いったんテストします。
    cd /opt/mattermost
    sudo -u mattermost ./bin/mattermost

    「Server is listening on :8065」のような文字列がMattermostのログ(/opt/mattermost/logs/mattermost.log)に出力されていればMattermostは起動しています。
    「Ctrl」+「C」を押して停止します。

  9. Mattermostをサービス登録します。
    sudo touch /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

    上記ファイルのパーミッションを変更します。

    sudo chmod 664 /etc/systemd/system/mattermost.service
  10. Mattermostをシステム起動時に起動するように設定し、起動します。
    sudo systemctl daemon-reload
    sudo systemctl enable mattermost
    sudo systemctl start mattermost
  11. レスポンスの確認をします。
    curl http://localhost:8065

    HTMLが返ってくれば正常に起動しています。

  12. Mattermostを停止します。
    sudo systemctl stop mattermost

まとめ

今回はインストールまでの手順をまとめてみました。
ドキュメントがしっかりしているのでそれほど苦労することなくインストールまではいけると思います。

次回は細かい設定を変更して外部からアクセスできるようにしていきます。

インストール後の設定についてはこちらの記事をご覧ください。

あわせて読みたい
Mattermostでチャットシステムを構築してみた(設定編) こちらの記事にMattermostのシステムをサーバーにインストールするところまでをまとめました。 引き続き細かいところの設定をしていきます。 【前提条件】 当該サブドメ...

既存のデータを別のサーバーに移したい場合はこちらの記事をご覧ください。

あわせて読みたい
Mattermostでチャットシステムを構築してみた(引っ越し編) Mattermost(マターモースト)という、オープンソースのチャットサービスをVPS上に構築しました。 これをそのままそっくり別のVPSに移したのでその際の手順を記事にしたい...

アップデートの手順についてはこちらの記事をご覧ください。

あわせて読みたい
Mattermostでチャットシステムを構築してみた(アップデート編) Mattermost(マターモースト)という、オープンソースのチャットサービスをVPS上に構築して運用しています。 今まではv5系で運用していたのですが、2021年10月13日にv6系...

Dockerで動かす場合の手順についてはこちらの記事をご覧ください。

あわせて読みたい
Mattermostでチャットシステムを構築してみた(Docker編) Mattermost(マターモースト)というオープンソースのチャットサービスをDocker上で動かしてみたいです! 私はVPS上に構築して運用しているのですが、Docker上で動かすこと...

この記事が気に入ったら
フォローしてね!

  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次