Windows Serverにmattermost立てるメモ

Windows Server 2012 R2で実施


1.ダウンロード

mysql-5.7.25-winx64.zipをダウンロード
https://dev.mysql.com/downloads/mysql/5.7.html#downloads
(ダウンロードにはアカウント登録が必要であることに注意)

mattermost-team-5.7.1-windows-amd64.zipをダウンロード
https://releases.mattermost.com/5.7.1/mattermost-team-5.7.1-windows-amd64.zip


2. 展開

mattermost-team-5.7.1-windows-amd64.zip
に入っているmattermostフォルダをC:\に展開。
(C:\mattermostができる)


mysql-5.7.25-winx64.zip
に入っているmysql-5.7.25-winx64をC:\mattermostに展開。
(C:\mattermost\mysql-5.7.25-winx64ができる)
管理者権限でコマンドプロンプトを開き、
mklink /D C:\mysql "C:\mattermost\mysql-5.7.25-winx64"
を実行。
(C:\にmysqlというシンボリックリンク作成)

ディレクトリを作成。
mkdir C:\mattermost\mysql-5.7.25-winx64\logs
mkdir C:\mattermost\mysql-5.7.25-winx64\temp\file


3. データベースの初期化

C:\mattermost\mysql-5.7.25-winx64\bin\mysqld --initialize
作成された
C:\mattermost\mysql-5.7.25-winx64\data\(hostname).err
を開き、一番最後の行の一番最後にrootのパスワードが出力されているので確認する。
2019-02-05T13:28:23.251201Z 1 [Note] A temporary password is generated for root@localhost: xxxxxxxxxxxx

4. my.iniの作成。

C::\mattermost\mysql-5.7.25-winx64\my.ini
を作成し、以下のような内容とする。

--- ここから ---
[mysqld]
# 各フォルダの設定
basedir = "C:/mysql"
datadir = "C:/mysql/data"
tmpdir = "C:/mysql/temp"

# ポート番号の指定
port = 3306

# エラーログファイルの指定
log_error = "C:/mysql/logs/mysqld_error.log"

# 文字コードUTF-8 に指定
character_set_server = utf8
collation_server = utf8_general_ci

# 起動時に出力されるエラー対応
explicit_defaults_for_timestamp = true
secure_file_priv = "C:/mysql/temp/file"
ssl = false

[mysql]
# クライアントからのアクセス時の文字コードUTF-8 に指定
default_character_set = utf8
--- ここまで ---


5. 起動テスト

起動する。
C:\mysql\bin\mysqld --defaults-file="C:\mysql\my.ini" --console

もう一枚コマンドプロンプト開いて
C:\mysql\bin\mysql -h localhost -u root -p -P 3306
Enter password: ************(↑で確認したパスワード)

初期化時に設定されたパスワードを変更する
mysql> SET PASSWORD FOR 'root'@'localhost'=PASSWORD('**********');
※ここで設定したパスワードが正式なパスワードになる

mysql> quit

コマンドプロンプトに戻るのでDBを停止する。
C:\mysql\bin\mysqladmin shutdown -h localhost -u root -p -P 3306
Enter password: ************


6. サービス登録

サービス登録
C:\mysql\bin\mysqld --install "MySQL5.7.25 Database Server" --defaults-file=C:\mysql\my.ini

説明文追加
sc description "MySQL5.7.25 Database Server" "MySQL Community Server 5.7.25 / Windows (64-bit), ZIP Archive"

MySQLサービス起動
net start "MySQL5.7.25 Database Server"

7. DB作成

C:\mysql\bin\mysql -h localhost -u root -p -P 3306
Enter password: ************

CREATE DATABASE mattermost;
GRANT ALL ON mattermost.* to mattermost@localhost IDENTIFIED BY 'パスワード';
FLUSH PRIVILEGES;
quit

8. mattermost設定

C:\mattermost\config\config.jsonをエディタで開く。
SqlSettings の下記の値を変更

“DataSource” で指定されている “mmuser:mostest@tcp(dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s”

“mattermost:パスワード@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s”
に変更

LocalizationSettings の下記の値を変更
“DefaultServerLocale” で指定されている言語 “en” を “ja” に変更
“DefaultClientLocale” で指定されている言語 “en” を “ja” に変更

9.mattermostを起動

Mattermostの実行
コマンドプロンプト」を開きます。
「cd C:\mattermost\bin\」でカレントディレクトリを変更します。
「mattermost.exe」を入力してEnterキーを押します。
※ここでplatform.exeを実行する、となっているドキュメントもあるが、こっちは非推奨になってるのでmattermost.exeを実行する。

10.ブラウザでアクセス

ブラウザから
http://(ホスト名):8065/」
にアクセス。
(インストールしたサーバのブラウザだったら
http://localhost:8065/
でいける)

アクセスできたらOK。
(ここから先はmattermostの使い方なので記載省略)


11. mattermostをサービス化

「9.mattermostを起動」で使ったコマンドプロンプト(まだmattermost起動中)に戻ってCtrl+cで終了させる。

https://github.com/kohsuke/winsw/releases
からWinSW.NET4.exeをダウンロード。
C:\mattermostに移動して「mattermost.exe」にリネーム。
C:\mattermost\mattermost.xmlを作成し、以下の内容にする。
--- ここから ---
<service>
<id>Mattermost</id>
<name>Mattermost</name>
<description>Mattermost Team</description>
<executable>C:\mattermost\bin\mattermost.exe</executable>
<arguments></arguments>
<logmode>rotate</logmode>
</service>
--- ここまで ---

コマンドプロンプト
cd /d C:\mattermost
mattermost.exe install
net start Mattermost