LoginSignup
3
2

More than 5 years have passed since last update.

MattermostをDebian(Apache+MySQL)にインストール

Last updated at Posted at 2017-05-13

チャットルーム的なものが欲しかったので、Rocket.chatと悩んだ末、MySQLが使えるMattermostにしました。

一応公式にもマニュアルはありますが、結構詰まった(丸1日かけてしまった…)のでメモ書きを残しておきます。

下準備

Goをインストール

MySQLのアップデート

Ver.5.6が必要。
ちなみにバージョンが古いと起動時に

Failed to create index Error 1214: The used table type doesn't support FULLTEXT indexes

というエラーが出ます。

通常の方法だとまだ5.5.55しか入らないので、
http://www.debiantutorials.com/install-mysql-server-5-6-debian-7-8/
を参考に5.7.18までアップデートした。

E: Sub-process /usr/bin/dpkg returned an error code (1)

というエラーが出たが、とりあえず入ったみたいなので放置。

Mattermostのインストール

基本的に取ってきて置くだけ。公式マニュアル
https://docs.mattermost.com/install/prod-debian.html
の「Set up Mattermost Server」のセクションを読む。

ディレクトリ全体を実行用ユーザーの所有にしておく。結局うまく動かなくてsudoで起動したので要らないかも。

Apache

サブドメインと仮想サーバーなどを用意しておく。
ヴァーチャルホストの設定ファイルの書き方は以下が参考になりました。

エラーメッセージをメモし忘れましたが、ProxyのところでSyntaxエラーが出たら

sudo a2enmod proxy_http

MySQLの設定とデータベースへの接続

データベースとユーザーを作っておく。

CREATE DATABASE データベース名;
GRANT ALL PRIVILEGES ON データベース名.* TO 'MySQLユーザー名'@'localhost' IDENTIFIED BY 'パスワード' WITH GRANT OPTION;

Mattermost設定ファイルは /opt/mattermost/config/config.json
"DriverName": "mysql"はそのまま。

config.json
"DataSource": "MySQLユーザー名:パスワード@tcp(localhost:3306)/データベース名?charset=utf8mb4,utf8",

ポートや書き方を間違えると

  • default addr for network 'localhost' unknown
  • Failed to ping DB err:dial tcp [::1]:8065: getsockopt: connection refused
  • packets.go:33: unexpected EOF
    Failed to ping DB err:driver: bad connection

等のエラーが出ます。とりあえず3306にしたら接続できました。

他にもURLの設定など、
https://docs.mattermost.com/administration/config-settings.html
を見ながらお好みで。

ポートを開ける

tcp:8065 を開ける。GCEの場合はコンソールでの設定も忘れない

起動

sudo /opt/mattermost/bin/platform &

バックグラウンド起動にしないとプロセス切ったら落ちます。

上のコマンドで動かないときは以下を確認。

  1. /opt/mattermost/logs/mattermost.log の所有者がmattermostになっているか
  2. 今作業しているユーザーがmattermostグループに入っているか

管理画面からの設定

config.jsonを書き換えなくてもコンソールから出来るようになる。
サーバーの再起動が必要なものもあるが、その旨書いておいてくれる親切仕様。

メール認証をしたい場合、GCEの場合はMailgunなどを経由してメールを送信することになる。ポートはこの時自分で決めた物を使うこと。
しかもTLSだとうまくいかなかった。PLAINで接続できた。

未解決エラー

[EROR] Unable to setup forwarding

このエラーは出ていても動く。
https://github.com/mattermost/platform/blob/master/app/server.go
の172行目。とりあえず"Forward80To443": falseに戻したら消えた。

その他の参考記事

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2