はじめに
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は以下で確認しています。
ダウンロードしたモジュールを/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/
最初にチームとユーザを作成します。
まずユーザを作成します。
次にチームを作成します。「Create a new team」を選択します。
チーム名を入力します。
チームURLを指定します。
チーム名と最初のユーザを作成するとMatermostが利用できるようになります。
クライアント
公式にMattermostのクライアントアプリがあるので利用します。
ダウンロード先は以下になります。
アプリはWindows, macOS, Linux, iOS, Android用があります。今回はWindows版をインストールしました。