Skip to content

CentOS 7.3 に Mattermost 4.4.2 をインストールする

以前に CentOS7 に Mattermost 4.2.0 をインストールするという記事を書きました。 Mattermost 4.4.2 がリリースされていたので、記事を更新しておきます。 内容には、ほぼ変更ありません。

テスト環境

今回は以下の環境を構築します。

  • CentOS Linux release 7.4.1708 (Core)
    • MariaDB-10.3.2
    • Mattermost-4.4.2

MariaDB のインストール

Mattermost のバックエンドになる MariaDB をインストールします。 まず、GPG-KEY をインストールします。

1
rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

/etc/yum.repos.d/mariadb.repo というファイルを以下の内容で新規作成します。

1
2
3
4
5
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3.2/centos73-amd64/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

インストールします。

1
yum -y install MariaDB-client MariaDB-server

起動&自動起動の設定を行います。

1
2
systemctl enable mariadb.service
systemctl start mariadb.service

MariaDB の初期設定

mysql_secure_installation で初期設定を行い、不要なデータベースや anonymous ユーザを削除しておきます。

1
mysql_secure_installation

MariaDB 上にデータベースやユーザを作成します。

1
2
3
4
5
6
mysql -u root
CREATE DATABASE mattermost;
CREATE USER 'mmuser'@'localhost' IDENTIFIED BY 'mmuser-password';
GRANT ALL PRIVILEGES ON mattermost.* TO 'mmuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit

Mattermost のインストール

ダウンロードページから Matttermost 最新版のソースコードをダウンロードします。 現時点の最新版は 4.2.0 でした。 ダウンロードが完了したら /opt 配下に展開します。 更に、データ用のディレクトリとして /opt/mattermost/data も作成しておきます。

1
2
3
curl -L -O https://releases.mattermost.com/4.4.2/mattermost-4.4.2-linux-amd64.tar.gz
tar zxvf mattermost-4.4.2-linux-amd64.tar.gz -C /opt
mkdir /opt/mattermost/data

Mattermost 実行用のシステムアカウントを作成します。 作成したユーザに必要な権限も付与します。

1
2
3
useradd --system --user-group mattermost
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost

設定ファイルは /opt/mattermost/config/config.json にあります。 SqlSettings 部分はデフォルトで以下のようになっているはずです。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
    "SqlSettings": {
        "DriverName": "mysql",
        "DataSource": "mmuser:mostest@tcp(dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s",
        "DataSourceReplicas": [],
        "DataSourceSearchReplicas": [],
        "MaxIdleConns": 20,
        "MaxOpenConns": 300,
        "Trace": false,
        "AtRestEncryptKey": "",
        "QueryTimeout": 30
    },

DataSource を MariaDB 上に作成したデータベース名・ユーザ名・パスワードに合わせて修正します。 今回は以下のようにしました。

1
        "DataSource": "mmuser:mmuser-password@tcp(127.0.0.1:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s",

systemd に Mattermost を登録します。 以下の内容で /etc/systemd/system/mattermost.service を新規作成します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
[Unit]
Description=Mattermost
After=syslog.target network.target postgresql-9.4.service

[Service]
Type=simple
WorkingDirectory=/opt/mattermost/bin
User=mattermost
ExecStart=/opt/mattermost/bin/platform
PIDFile=/var/spool/mattermost/pid/master.pid
LimitNOFILE=49152

[Install]
WantedBy=multi-user.target

デフォルトのままだと Mattermost が Port を Listen 出来ない為、setcap しておきます。

1
setcap cap_net_bind_service=+ep /opt/mattermost/bin/platform

Mattermost を起動します。

1
2
3
systemctl daemon-reload
systemctl enable mattermost.service
systemctl start mattermost.service

Mattermost はデフォルトで 8,065/TCP を Listen しますので、ブラウザで http://xxx.xxx.xxx.xxx:8065/ にアクセスします。