mattermostのインストール
チャットのようなツールを使いたいと依頼を受け、Slackを検討したのですが社内の事情により使用できなかったため代替ツールとしてMattermostを導入することとしました。ここでは、Mattermostのインストール手順をまとめていきます。
Mattermost Documentationでは、CentOS 7にMySQL又はPostgreSQlとnginxを使ったインストール方法が記載されているので、ここでは、CentOS 7.3.1611にMySQLとnginxを使って環境を構築します。
Mattermost Documentationを確認しながら作業を進めていきます。
MySQL 5.7のインストール
MySQLのyumリポジトリーをダウンロードし、リポジトリを追加します。
$ wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
$ sudo yum localinstall mysql57-community-release-el7-9.noarch.rpm
MySQLをインストールします。
$ sudo yum -y install mysql-community-server
MySQLをサービスとして起動できるよう登録していきます。
$ sudo systemctl start mysqld
$ sudo systemctl enable mysqld
MySQLの管理者ユーザー(root)の初期パスワードが必要となるので、次のコマンドで初期パスワードを確認します。
$ sudo grep 'temporary password' /var/log/mysqld.log
2017-05-15T16:27:10.193398Z 1 [Note] A temporary password is generated for root@localhost: jdxdeyV=m8eG
初期パスワードが「jdxdeyV=m8eG」となっていたので、事前に管理者ユーザーのパスワードを変更します。
$ mysql -u root -p
Enter password:
Welcome to ...
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新しいパスワード';
Query OK, 0 rows affected (0.01 sec)
mysql > exit
次にMySQLの初期設定を行います。今回は、事前に管理者のパスワードを変更しましたが mysql_secure_installation の処理中に変更することもできます。
$ sudo mysql_secure_installation
mysql_secure_installationでは、MySQLのセキュリティ対策として色々確認されますが、ここでは「Y」を選択して不要なデータベースなどを削除しておきます。
MySQLのインストールが終わったので、Mattermost用のデータベースを用意します。
$ mysql -u root -p
mysql> create database mattermost;
mysql> grant all privileges on mattermost.* to 'mmuser'@'localhost' identified by 'パスワード';
mysql> flush privileges;
ここまでで、入れ物の用意が完了しました。
Mattermostのインストール
MattermostのサイトからMattermostをダウンロードします。
$ cd /usr/src
$ sudo wget https://releases.mattermost.com/4.0.1/mattermost-4.0.1-linux-amd64.tar.gz
ダウンロードしたファイルを展開して、/opt配下へ配置しdataディレクトリを作成します。
$ sudo tar -xvzf mattermost-team-4.0.1-linux-amd64.tar.gz
$ sudo mv mattermost /opt
$ sudo mkdir -p /opt/mattermost/data
Mattermostを実行するユーザを作成します。
$ sudo useradd -r mattermost -U
$ sudo chown -R mattermost:mattermost /opt/mattermost
$ sudo chmod -R g+w /opt/mattermost
Mattermostを動作させるために必要な最低限の設定を行います。 ポート番号は、ドキュメントに合わせて8065に設定し、DataSourceのDBユーザー名、パスワード、データベース名は先ほどMattermost用に作成したものと合わせて設定します。
$ sudo vi /opt/mattermost/config/config.json
"ListenAddress": ":8065",
"DriverName": "mysql",
"DataSource": "mmuser:パスワード!@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8",
"DefaultServerLocale": "ja",
"DefaultClientLocale": "ja",
Mattermostの動作確認
インストール作業が完了したので、Mattermostの動作確認を行います。binディレクトリにあるplatformを使ってMattermostを実行してみます。
$ cd /opt/mattermost/bin
$ sudo ./platform
Webブラウザから8065ポートにアクセスし、アカウント登録画面が表示されたら正常に動作してます。
サービスとして登録する
Mattermostをサービスとして実行できるよう、サービス定義ファイルを作成します。
$ sudo vi /etc/systemd/system/mattermost.service
[Unit]
Description=Mattermost
After=syslog.target
After=network.target
After=mysqld.service
[Service]
Type=simple
WorkingDirectory=/opt/mattermost/bin
ExecStart=/opt/mattermos
[Install]
WantedBy=multi-user.target
定義ファイルができたら、サービスを登録し開始します。
$ sudo systemctl start mattermost
$ sudo systemctl enable mattermost
もう一度Webブラウザからアクセスし、正常に画面が表示されたらインストールは完了です。