LoginSignup
3
4

More than 3 years have passed since last update.

CentOS 7.5にMattermostをインストールする(メモ)

Posted at

はじめに

Mattermost(マターモースト)はSlackライクのOSSコミュニケーションツールです。
何番煎じかは分かりませんが、CentOS7.5にMatermost5.17をインストールしたときのメモを残しておきます。

使用する環境

以下の環境・バージョンで構築します。
PostgreSQL 11.5はこちらの手順で構築済みです。

  • Mattermost 5.17.0
  • PostgreSQL 11.5
  • CentOS 7.5(firewalld, SELinuxは無効化しています)

Mattermostのインストールは、公式サイトの手順を参考にしました。

PostgreSQL

Mattermostのリポジトリとしては、MySQL、PostgreSQLなどのRDBが利用できます。
今回はPostgreSQLを利用します。

まず、DBサーバで以下のようにMattermost用のデータベース・ユーザを作成します。

$ psql
psql (11.5)
Type "help" for help.

postgres=# CREATE DATABASE mattermost;
CREATE DATABASE
postgres=# CREATE USER mmuser WITH PASSWORD 'mmuser-password';
※パスワードは任意の文字列を指定
CREATE ROLE
postgres=# GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
GRANT

先ほど作成したMattermostデータベース、mmuserユーザで接続できるようにpg_hba.confを修正し、接続できることを確認します。

$ vi pg_hba.conf

以下を追記。
local   mattermost      mmuser                                  md5
host    mattermost      mmuser          127.0.0.1/32            md5

$ pg_ctl reload

$ psql --dbname=mattermost --username=mmuser
$ psql --host=localhost --dbname=mattermost --username=mmuser

Mattermostのインストール

PostgreSQLにデータベースを作成した後は、Mattermostモジュールのインストールを行います。
以下はwgetでLinux用のモジュールをダウンロードしています。

# wget https://releases.mattermost.com/5.17.0/mattermost-5.17.0-linux-amd64.tar.gz

なお、ダウンロードURLは以下で確認しています。

image.png

ダウンロードしたモジュールを/opt以下に展開します。
「/opt/mattermost/data」ディレクトリを作成しています。Mattermostに投稿するファイルを保存ストレージです。

# tar xvzf mattermost-5.17.0-linux-amd64.tar.gz -C /opt
# mkdir /opt/mattermost/data

mattermostユーザを作成し、Mattermostを展開したディレクトリの所有者に設定します。

# useradd --system --user-group mattermost
# chown -R mattermost:mattermost /opt/mattermost
# chmod -R g+w /opt/mattermost

MattermostのリポジトリにPostgreSQLを設定します。

$ vi /opt/mattermost/config/config.json

  "SqlSettings": {
    "DriverName": "postgres",
    "DataSource": "postgres://mmuser:mmuser-password@127.0.0.1:5432/mattermost?sslmode=disable&connect_timeout=10"

Mattermostの自動起動

Mattermostが自動起動するように設定します。
まずはSystemd用の設定ファイルを作成します。

# vi /etc/systemd/system/mattermost.service
[Unit]
Description=Mattermost
After=syslog.target network.target postgresql-11.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

先ほどのファイルで自動起動するように設定します。

chmod 664 /etc/systemd/system/mattermost.service
systemctl daemon-reload
systemctl enable mattermost
systemctl start mattermost

Mattermostの起動

これでMattermostのインストールは完了なので、続いてMattermostを起動します。

$ cd /opt/mattermost
$ ./bin/mattermost

{"level":"info","ts":1574246467.1174788,"caller":"utils/i18n.go:83","msg":"Loaded system translations","for locale":"en","from locale":"/opt/mattermost/i18n/en.json"}
{"level":"info","ts":1574246467.117572,"caller":"app/server_app_adapters.go:59","msg":"Server is initializing..."}
{"level":"info","ts":1574246467.11946,"caller":"sqlstore/supplier.go:222","msg":"Pinging SQL","database":"master"}
{"level":"info","ts":1574246467.2803316,"caller":"sqlstore/upgrade.go:110","msg":"The database schema has been set to version 5.17.0"}

{"level":"info","ts":1574246473.227724,"caller":"app/server.go:423","msg":"Starting Server..."}
{"level":"info","ts":1574246473.227885,"caller":"app/server.go:489","msg":"Server is listening on [::]:8065"}
{"level":"info","ts":1574246473.2293746,"caller":"jobs/schedulers.go:72","msg":"Starting schedulers."}
{"level":"info","ts":1574246473.2363257,"caller":"app/web_hub.go:75","msg":"Starting 4 websocket hubs"}

起動すると、以下のアドレスでMattermostへアクセスできます。

  • http://[IPアドレス]:8065/

最初にチームとユーザを作成します。
まずユーザを作成します。

image.png

次にチームを作成します。「Create a new team」を選択します。

image.png

チーム名を入力します。

image.png

チームURLを指定します。

image.png

チーム名と最初のユーザを作成するとMatermostが利用できるようになります。

image.png

クライアント

公式にMattermostのクライアントアプリがあるので利用します。
ダウンロード先は以下になります。
アプリはWindows, macOS, Linux, iOS, Android用があります。今回はWindows版をインストールしました。

image.png

参考

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4