MatterMost を CentOS7 にインストールする
Slackは便利だけども、クラウドだし、
機密情報を含む内容を投稿するには微妙。。
そういった時の、" Mattermost "。
自分で お好みの場所に slack風 チャットサーバーを たてちゃいましょう。
今回は、CentOS7 に 構築した時の 記録をご紹介します。
( 2018年3月13日 時点の最新 )
- - - - -
< 実施環境 >
MariaDB 10.3.2
mattermost 4.7.3
vim がインストール済みであること
< MariaDB のインストール準備 >
○ GPG-keyをインストール
○ repoファイルの作成
○ MatterMost で使うデータベース MariaDB をインストール
○ 自動起動と起動の設定
< MariaDB の初期設定 >
# mysql_secure_installation
ここで初期設定を行う。
不要なデータベースや anonymous ユーザを削除。
○ MariaDB 上にデータベースやユーザを作成
(ここ重要!)
CREATE DATABASE mattermost;CREATE USER 'mmuser@localhost' IDENTIFIED BY 'mmuserpassword';GRANT ALL PRIVILEGES ON mattermost.* TO 'mmuser@localhost' WITH GRANT OPTION;FLUSH PRIVILEGES;quit
< Mattermost のインストール >
○ ここから、欲しいバージョンを持ってくる。
例)
# mkdir /opt/mattermost/data
○ Mattermost 実行用のシステムアカウントを作成
# useradd --system --user-group mattermost# chown -R mattermost:mattermost /opt/mattermost# chmod -R g+w /opt/mattermost
○ Mattermost 設定ファイルの確認 - 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 の部分を編集して紐づける。
""DataSource": "mmuser:mmuserpassword@tcp(127.0.0.1:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"
★ mattermost_test ではなくなっているところが要チェック!!
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
○ 同様に PluginSettings の 部分も以下のように修正する。
"PluginSettings": {"Enable": false,"Plugins": {}}
( もしくは plugins パスを /opt/mattermost/bin/plugins にしたい場合 )
"PluginSettings": {"Enable": true,"EnableUploads": false,"Directory": "./plugins","ClientDirectory": "/opt/mattermost/bin/plugins","Plugins": {},"PluginStates": {"jira": {"Enable": true}}}
< Mattermost サービス化 および UNIT 定義 >
systemd に 以下の内容で /etc/systemd/system/mattermost.service を新規作成
[Unit]Description=MattermostAfter=syslog.target network.targeti mariadb.service[Service]Type=simpleWorkingDirectory=/opt/mattermost/binUser=mattermostExecStart=/opt/mattermost/bin/platformPIDFile=/var/spool/mattermost/pid/master.pidLimitNOFILE=49152[Install]WantedBy=multi-user.target
Mattermost を起動
# systemctl daemon-reload# systemctl enable mattermost.service# systemctl start mattermost.service