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 をインストールします。
| rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
|
/etc/yum.repos.d/mariadb.repo
というファイルを以下の内容で新規作成します。
| [mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3.2/centos73-amd64/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
|
インストールします。
| yum -y install MariaDB-client MariaDB-server
|
起動&自動起動の設定を行います。
| systemctl enable mariadb.service
systemctl start mariadb.service
|
MariaDB の初期設定
mysql_secure_installation で初期設定を行い、不要なデータベースや anonymous ユーザを削除しておきます。
| mysql_secure_installation
|
MariaDB 上にデータベースやユーザを作成します。
| 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
も作成しておきます。
| 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 実行用のシステムアカウントを作成します。 作成したユーザに必要な権限も付与します。
| useradd --system --user-group mattermost
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost
|
設定ファイルは /opt/mattermost/config/config.json
にあります。 SqlSettings
部分はデフォルトで以下のようになっているはずです。
| "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 上に作成したデータベース名・ユーザ名・パスワードに合わせて修正します。 今回は以下のようにしました。
| "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
しておきます。
| setcap cap_net_bind_service=+ep /opt/mattermost/bin/platform
|
Mattermost を起動します。
| systemctl daemon-reload
systemctl enable mattermost.service
systemctl start mattermost.service
|
Mattermost はデフォルトで 8,065/TCP を Listen しますので、ブラウザで http://xxx.xxx.xxx.xxx:8065/
にアクセスします。