Mattermost(マターモースト)という、オープンソースのチャットサービスがあると聞き、面白そうだったのでVPS上に構築してみました。
Mattermost | Secure Collaboration for Technical Teams
Accelerate mission critical work in complex environments with a customizable, self-sovereign collaboration hub.
非常に分かりやすいドキュメント(英語)があり、それに沿って進めれば大きな問題なく構築できるかと思います。
今回は既に稼働しているサーバーに、サブドメインでアクセスする形で構築してみました。
目次
前提条件
- CentOS 8
- Nginx
- MariaDB(MySQL)
- SMTPサーバー
上記が問題なく稼働していること。
インストール手順
詳細は下記ドキュメントをご覧ください。
- MariaDB上にユーザーを作成します。
尚、「mmuser-password」はセキュアなものに変更することをオススメします。create user 'mmuser'@'%' identified by 'mmuser-password';
- MariaDB上にデータベースを作成し、上記ユーザーに権限を付与します。
create database mattermost; grant all privileges on mattermost.* to 'mmuser'@'%';
- Mattermost Serverをインストールします。
下記URLから最新版を取得して、サーバー上の適当なディレクトリに展開します。
https://mattermost.com/download/ - 展開されたディレクトリを/opt配下に移動します。
sudo mv mattermost /opt
- ファイル用のディレクトリを作成します。
sudo mkdir /opt/mattermost/data
- Mattermost用のユーザーとグループを作成し、パーミッションを変更します。
sudo useradd --system --user-group mattermost sudo chown -R mattermost:mattermost /opt/mattermost sudo chmod -R g+w /opt/mattermost
- 設定ファイル(/opt/mattermost/config/config.json)の内容を変更します。
「SqlSettings」の中の「DriverName」を「mysql」、「DataSource」を「mmuser:<mmuser-password>@tcp(<host-name-or-IP>:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s」に変更します。
尚、DataSourceに記述する「mmuser-password」は手順1.で設定したパスワード、「host-name-or-IP」はホスト名もしくはIPアドレスを設定します。
「ServiceSettings」の中の「SiteURL」をサイトのURLに変更します。 - いったんテストします。
cd /opt/mattermost sudo -u mattermost ./bin/mattermost
「Server is listening on :8065」のような文字列がMattermostのログ(/opt/mattermost/logs/mattermost.log)に出力されていればMattermostは起動しています。
「Ctrl」+「C」を押して停止します。 - Mattermostをサービス登録します。
sudo touch /etc/systemd/system/mattermost.service
上記ファイルを以下のように編集します。
[Unit] Description=Mattermost After=syslog.target network.target mysqld.service [Service] Type=notify WorkingDirectory=/opt/mattermost User=mattermost ExecStart=/opt/mattermost/bin/mattermost PIDFile=/var/spool/mattermost/pid/master.pid TimeoutStartSec=3600 LimitNOFILE=49152 [Install] WantedBy=multi-user.target
上記ファイルのパーミッションを変更します。
sudo chmod 664 /etc/systemd/system/mattermost.service
- Mattermostをシステム起動時に起動するように設定し、起動します。
sudo systemctl daemon-reload sudo systemctl enable mattermost sudo systemctl start mattermost
- レスポンスの確認をします。
curl http://localhost:8065
HTMLが返ってくれば正常に起動しています。
- Mattermostを停止します。
sudo systemctl stop mattermost
まとめ
今回はインストールまでの手順をまとめてみました。
ドキュメントがしっかりしているのでそれほど苦労することなくインストールまではいけると思います。
次回は細かい設定を変更して外部からアクセスできるようにしていきます。
インストール後の設定についてはこちらの記事をご覧ください。
Mattermostでチャットシステムを構築してみた(設定編)
こちらの記事にMattermostのシステムをサーバーにインストールするところまでをまとめました。 引き続き細かいところの設定をしていきます。 前提条件 当該サブドメイン...
既存のデータを別のサーバーに移したい場合はこちらの記事をご覧ください。
Mattermostでチャットシステムを構築してみた(引っ越し編)
Mattermost(マターモースト)という、オープンソースのチャットサービスをVPS上に構築しました。 これをそのままそっくり別のVPSに移したのでその際の手順を記事にしたい...
アップデートの手順についてはこちらの記事をご覧ください。
Mattermostでチャットシステムを構築してみた(アップデート編)
Mattermost(マターモースト)という、オープンソースのチャットサービスをVPS上に構築して運用しています。 今まではv5系で運用していたのですが、2021年10月13日にv6系...
Dockerで動かす場合の手順についてはこちらの記事をご覧ください。
Mattermostでチャットシステムを構築してみた(Docker編)
Mattermost(マターモースト)というオープンソースのチャットサービスをDocker上で動かしてみたいです! 私はVPS上に構築して運用しているのですが、Docker上で動かすこと...
コメント