Mattermostをちゃんと動かそうと思って、セットアップしてみる。
やり方は公式ページに書いてあるけど、CentOS7.2とPostgreSQL9.5.2の環境でインストールしてみる。
データベースのインストールと設定
PostgreSQLのリポジトリを設定。
yum install http://yum.postgresql.org/9.5/redhat/rhel-7.2-x86_64/pgdg-redhat95-9.5-2.noarch.rpm
PostgreSQLをインストール
yum install postgresql95-server postgresql95-contrib
初期設定を行う
/usr/pgsql-9.5/bin/postgresql95-setup initdb
自動起動設定と起動を行う。
systemctl enable postgresql-9.5.service systemctl start postgresql-9.4.service
データベース作成とユーザー作成を行う。
sudo -i -u postgres psql postgres=# CREATE DATABASE mattermost; postgres=# CREATE USER mmuser WITH PASSWORD 'mmuser_password'; postgres=# GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser; postgres=# \q exit
viで設定ファイルを開き、
vi /var/lib/pgsql/9.4/data/postgresql.conf
listen_addressesのコメントアウトを解除して、localhostを*に変更する。
listen_addresses = 'localhost'
続いて、viで設定ファイルを開き、
vi /var/lib/pgsql/9.5/data/pg_hba.conf
同じサーバーにMattermostやPostgreSQLを立てようとするなら、Peer認証をtrustに変えておく。あと、同一サーバーからアクセスるために127.0.0.1をmd5認証に変える。
Peer認証はUNIXのユーザー名と一致していないとログインできない。まぁ、セキュリティ考えたら一致させておいたほうが良いと思うが、テスト用なのでとりあえず。
# "local" is for Unix domain socket connections only local all mmuser trust host all all 127.0.0.1/32 md5
別サーバーに立てる時は、IPv4 local connectionsの所でホストのIPアドレスを記載する。
host all all 10.10.10.10/32 md5
サービスの再起動。
systemctl reload postgresql-9.5.service
うまく設定できたか確認をする。
psql --host=10.10.10.1 --dbname=mattermost --username=mmuser --password mattermost=> \q
Mattermost Serverのインストールと設定
Mattermostをダウンロードする。
wget https://github.com/mattermost/platform/releases/download/v2.1.0/mattermost.tar.gz
ダウンロードしたファイルを/optに配置する。
tar -xvzf mattermost.tar.gz mv mattermost /opt
ファイルの保存ディレクトリを作成して、権限を付与する。
mkdir -p /opt/mattermost/data useradd -r mattermost -U chown -R mattermost:mattermost /opt/mattermost chmod -R g+w /opt/mattermost
/opt/mattermost/config/config.jsonをviで開き、以下を変更する。
- "DriverName"の値の箇所をmysqlからpostgresに変更する
- "DataSource"の箇所のを書き換える。
DriverName": "postgres" "DataSource": "postgres://mmuser:password@127.0.0.1:5432/mattermost?sslmode=disable&connect_timeout=10",
無事起動すると下記のように8065のポートでlistenが始まるので、Ctrl-Cで終了させる。
Server is listening on :8065
systemdのサービスを作成する。
touch /etc/systemd/system/mattermost.service vi /etc/systemd/system/mattermost.service
以下を記述する。
[Unit] Description=Mattermost After=syslog.target network.target postgresql-9.5.service [Service] Type=simple WorkingDirectory=/opt/mattermost/bin User=mattermost ExecStart=/opt/mattermost/bin/platform PIDFile=/var/spool/mattermost/pid/master.pid [Install] WantedBy=multi-user.target
後はsystemdで再読み込みして、起動&自動起動設定。
systemctl daemon-reload systemctl start mattermost.service systemctl enable mattermost.service
http://<サーバーのIPアドレス>:8065/でアクセス。
Webサーバーとの連携は、また別の記事で。
参考
- Production Install on RHEL 7.1+[Mattermost]