お問い合わせはこちら

【設定手順書】 Mattermostを使ってSlack風チャットツールをVPSに構築してみよう

公開
更新

Mattermost(マターモースト)は、たとえ離れた場所にいても仕事上のコミュニケーションをスムーズに進め、テレワークにも活用できます。この記事ではMattermostのインストールと利用方法について、初めての方にもわかるようにまとめています。また似ているといわれているSlackとの違いを整理して、Mattermostの特徴をあらためて明確にしていきます。

Mattermostでチャットツール

Mattermostとは?

Mattermostは、2016年に設立された米国Mattermost, Inc.により開発されました(公式サイト)。業務を効率的に進め、進捗を管理する手段として昨今のリモートワークでも重宝する仕組みです。

同様の機能があるサービスは多く、特にSlack(スラック)が有名です。このSlackとMattermostの画面はかなり似ていますが、大きな違いはMattermostがオープンソースであることです。これで利用者は安全なサーバー環境さえ整えれば、自組織でより使いやすく高度なセキュリティを維持し、効率の良い共同作業ができるようになりました。

Mattermostは、利用者数やサポートなどサービスの提供方法により複数のプランを用意しています。利用料金はプランにより異なります。こちらの記事では、無料で始められる「Self-Managed」プランで公開されている方法を参考にして、利用者が自ら用意するVPSにインストールしていきます。複数の手順があり、比較的簡単なコマンドで導入可能です。

Mattermostの利用者には、デスクトップアプリだけでなくモバイル向けアプリ(iOSおよびAndroid)が用意され、より使いやすくなっています。導入方法は以下の公式ページで公開されています。ぜひお試しください。

Desktop/Mobile App Installation (公式ページ)
https://docs.mattermost.com/guides/deployment.html#desktop-mobile-app-installation

こちらの導入マニュアルの「Language」欄にあるように、画面の表示は日本語にも対応しています。

Mattermostをインストールし初期設定をする

それではMattermostを実際にインストールしていきましょう。
今回は以下のVPSを利用しました。(2021年11月時点)

企業名カゴヤ・ジャパン
プラン名KAGOYA CLOUD VPS
CPU2コア
メモリー2GB
ストレージSSD 25GB
OSテンプレートUbuntu 20.04
アプリケーションセットアップ(注)Docker CE(パッケージ内容 : docker/docker-compose)
料金日額 24円/、月額660円(税込価格)

(注)Dockerを利用したインストールを想定 …Dockerを利用しない場合はOSのみのテンプレート利用でも可

一般的にVPS利用の際は、セキュリティの維持を考え入念に設定する必要があります。特に重要な項目を、カゴヤのサーバー研究室では以下の記事で解説しています。

【VPS活用】絶対やっておきたい初期設定リスト

【VPS活用】絶対やっておきたい初期設定リスト

VPS(Virtual Private Server)は操作性でも価格面でも、最近とても利用しやすくなってきました。スキルがあれば、比較的自由に各種サーバーの立ち上げが可能になりました。それでもセキュリティの維持と使い勝手の向上を目的に、最初に設定しておくべきことがあります。漏れのないよう設定して、VPSの利用者自身を守るたけでなく、周囲の方々に迷惑をかけないようにしましょう。 ■検証した環境 企…

【VPS活用】自分でできるセキュリティ診断「どんな兆候も見逃さない!」

【VPS活用】自分でできるセキュリティ診断「どんな兆候も見逃さない!」

VPS(バーチャル・プライベート・サーバー)は自由度が高い分、利用者自身でしっかり面倒をみてあげなければなりません。このご時世、セキュリティ対策が不可欠ですが日々の点検も大切です。その手段としてセキュリティ診断ツールがあります。この記事では、これらの監視対象や導入方法をまとめています。また導入がより簡単な、クラウドで利用できるサービスもご紹介します。 ■検証した環境 企業名 : カゴヤ・ジャパンプ…

簡易インストール方法

Mattermost Omnibus」というパッケージを使用することで、Ubuntu server (18.04または20.04)へのインストール作業を軽減できるようになっています。以下公式ページの説明を参考にして進めていきます。

(1)事前準備

ドメイン管理会社のネームサーバー設定画面で、Mattermostで利用するドメインまたはサブドメインをVPSのIPアドレスに設定します。

(2)システムの最新化

【コマンド】

sudo apt update && sudo apt upgrade

(3)Mattermost Omnibusのインストールおよび設定

【コマンド】

curl -o- https://deb.packages.mattermost.com/repo-setup.sh | sudo bash
sudo apt install mattermost-omnibus -y

途中で、利用するドメインまたはサブドメインの入力画面が出たら、(1)事前準備で設定したものを入力します。

以下の「MATTERMOST Installation success!」の表示に変わったら、インストールは終了しています。

完了画面

(4)再度システムの最新化

【コマンド】

sudo apt update && sudo apt upgrade

(5)ブラウザでの設定

設定したドメインまたはサブドメインのあとに :8065 を付けてアクセスすると、以下のような初期設定画面が表示されます。(デフォルトのポート番号です。ファイアウォールの設定でアクセス拒否している場合は、許可するようにしてください。)

ブラウザの設定方法

(補足)Mattermost Omnibusインストール時に、「curl」コマンドや「dirmngr」パッケージが入っていないメッセージが出て続行できない場合があります。これらは以下のようにインストールすることで解消しましょう。

【コマンド】

sudo apt install curl

【コマンド】

sudo apt install dirmngr --install-recommends

Dockerを使いインストールする方法

前章の「Mattermost Omnibus」よりさらに簡単なインストール方法があります。公式ページにあるように、Docker を使えば1行のコマンドでインストールは完了します。

(注)上記ページの注意書きにあるように、DockerでインストールしたMattermostを本番環境で利用することは非推奨とされています。あくまでMattermostの機能がどのようなものかを知るためなどの検証用にご利用ください。本番環境用には、こちらの記事(非公式)にある情報が参考になります。

(1)KAGOYA CLOUD VPSで新規に申し込みをする

まずは申し込み画面にある「アプリケーションセットアップ」で「Docker CE」を選択すれば、VPS利用開始時にすぐにDockerを始めることができます。

VPSの設定

(2)Dockerコンテナの開始

【コマンド】

docker run --name mattermost-preview -d --publish 8065:8065 --add-host dockerhost:127.0.0.1 mattermost/mattermost-preview

(3)システムの最新化

【コマンド】

sudo apt update && sudo apt upgrade

(4)ブラウザでの設定

設定したドメインまたは利用のIPアドレスのあとに :8065 を付けてアクセスすると、初期設定画面が表示されます。(デフォルトのポート番号です。ファイアウォールの設定でアクセス拒否している場合は、許可するようにしてください。)

標準的なインストール方法

3つ目として、公式ページにそってUbuntu 20.04 LTSにインストールをしていきます。こちらの公式ページには単にMattermostをインストールするだけではなく、より安全で安定した本番環境を整えるために以下の3つの手順が書かれています。

(a) プロキシサーバー

(b) データベースサーバー

(c) Mattermostサーバー

利用状況に応じて、これらを別々のVPSのサーバー上にインストールするか、同じVPSにまとめるか決めましょう。本記事では、インストールの基本的な流れを把握するため「(2) データベースサーバー」と「(3) Mattermostサーバー」に絞り、同一のVPSにインストールしています。またSSL/TLSをLet’s Encryptで設定する方法は省略しています。

「プロキシサーバー」の目的や機能について、カゴヤのサーバー研究室では以下の記事でわかりやすくまとめています。

Squidでプロキシサーバーを構築して安全な接続環境をつくってみた

Squidでプロキシサーバーを構築して安全な接続環境をつくってみた

ここでは Squid を使用して CentOS 8 にプロキシサーバーを立てる方法を説明します。 Squidとは、プロキシサーバーを利用できるオープンソースのフリーソフトウェアです。Squidはさまざまな用途に使えますが、今回はフォワードプロキシについて説明します。 フォワードプロキシとは、クライアント(Webブラウザ)がインターネット上のWebサーバーなどに接続する際に中継する機能です。例えば、…

(1) システムの最新化

【コマンド】

sudo apt update && sudo apt upgrade

(2) データベースの用意(MySQLを利用の場合)

【コマンド】

sudo apt install mysql-server
sudo mysql_secure_installation
sudo mysql

データベース名「mattermost」、ユーザー名「mmuser」、パスワード「mmuser-password」の場合、以下のコマンドを実行します。

【コマンド】

mysql> create user 'mmuser'@'localhost' identified by 'mmuser-password';
mysql> create database mattermost;
mysql> grant all privileges on mattermost.* to 'mmuser'@'localhost';
mysql> exit

(注)上記では、このデータベースサーバーへ同一のネットワーク上にある別のサーバーからの接続はできない設定にしています。

(3) Mattermostサーバーのインストール

2021年11月時点での最新バージョンは6.1.0です。

【コマンド】

wget https://releases.mattermost.com/6.1.0/mattermost-6.1.0-linux-amd64.tar.gz
tar -xvzf mattermost*.gz
sudo mv mattermost /opt
sudo mkdir /opt/mattermost/data

次に実行するユーザー名とグループ名、さらに所有権とパーミッションを設定します。

【コマンド】

sudo useradd --system --user-group mattermost
sudo chown -R mattermost:mattermost /opt/mattermost
sudo chmod -R g+w /opt/mattermost

続いてデータベースドライバーのファイルを編集します。

【コマンド】

vi /opt/mattermost/config/config.json

130行目あたりでデータベースの名前を上記に合わせて、「DriverName」を「mysql」にします。

【コマンド】

“DriverName”: “mysql”,

次に131行目あたりで「DataSource」を以下に書き換えます。

【コマンド】

" mmuser:mmuser-password@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8&writeTimeout=30s "

赤字の部分は今回作成したデータベース情報です。

続いて自動起動などができるようにします。

【コマンド】

sudo vi /lib/systemd/system/mattermost.service

以下を記述します。

【コマンド】

[Unit]
Description=Mattermost
After=network.target
After=postgresql.service
BindsTo=mysql.service

[Service]
Type=notify
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
KillMode=mixed
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
User=mattermost
Group=mattermost
LimitNOFILE=49152

[Install]
WantedBy=mysql.service

次に有効化します。

【コマンド】

sudo systemctl daemon-reload
sudo systemctl status mattermost.service
sudo systemctl start mattermost.service
curl http://localhost:8065
sudo systemctl enable mattermost.service

(注)上記2行目を実行すると以下のように表示されます。エラーではありません。内容を確認後、一文字 q とだけ押せば元の画面に戻ります

● mattermost.service - Mattermost
     Loaded: loaded (/lib/systemd/system/mattermost.service; disabled; vendor p>
     Active: inactive (dead)

(4)ブラウザでの設定

他のインストール方法と同様に、設定したドメインまたはサブドメインのあとに :8065 を付けてアクセスすると、初期設定画面が表示されます。(デフォルトのポート番号です。ファイアウォールの設定でアクセス拒否している場合は、許可するようにしてください。)

「Bitnami」でMattermostを始める方法

インストール方法で最後の説明として、「Bitnami」で公開されているパッケージソフトウェアを使用する方法もあります。導入の仕方は以下の2つです。

(a) 各種クラウドサービス(有料)で導入する(Google、Amazon Web Services、Azure)
(b) 仮想化ソフトウェア上で導入する(VMware PlayerまたはVirtualBoxが必要)

詳細は以下の公式ページをご覧ください。

Mattermost Team Edition packaged by Bitnami (公式ページ)
https://bitnami.com/stack/mattermost

Mattermostを活用する

こちらの章では、利用前の設定と役立つ活用事例について解説します。

利用前の設定(日本語化)

管理画面が開いたら日本語化しましょう。2箇所の変更が必要です。

System Console(システムコンソール)での変更

以下の図のように(1)→(2)「System Console」を選択します。

設定画面

次に(1)「Localization」を開き、下図のように「Default Server Language」、「Default Client Language」、「Available Languages」の項目で「日本語」をそれぞれ選択します。最後に「Save」ボタンを押して保存しましょう。

Settingsでの変更

以下の図のように(1)「Settings」→(2)「Display」→(3)「Language」の順に進み、一番下にある「日本語」を選択します。

言語設定

すぐに言語が日本語に変わります。

おすすめの設定

送信メールの設定

Mattermostの利用時には、メールの送信(SMTP)機能を設定しておきましょう。

メール設定

通知の設定

コミュニケーションが円滑にできるように、メンバーとチーム間でどのような通知をするかを決めることができます。

通知設定

その他にもSystem Console(システムコンソール)上で、Mattermostの詳細な設定が可能です。

Mattermost活用事例

Slackのような他のコミュニケーションツールと異なり、Mattermostは独自にVPSなどのサーバー上で稼働させることができます。そのため自組織にとりより安全で使いやすい設定をすれば、以下のような活用ができると考えます。

  • VPSなどのサーバー管理を自組織で行うことで、他社のサーバー障害でのリスクを回避する
  • チーム単位での情報共有や業務の進捗確認をする
  • メールの送受信では分散するやりとりを集中し、履歴の確認を早く正確する
  • 専用アプリ(Desktop/Mobile App)使い、メンバーの居場所が分散し、利用する機器が異なる場合に対応する
  • ある程度機能が拡張できるので、別のアプリを起動する必要はなくMattermostで完結する(例:Zoomと連携し音声やビデオでの通話がすぐにできるなど)

拡張機能の詳細は以下の公式ページをご確認ください。

Extend and integrate with Mattermost Apps(Mattermost Marketplace)
https://mattermost.com/marketplace/

まとめ

多くの点でSlackと似ていますが、カスタマイズ性はMattermostの方が優れています。VPSなど独自のサーバーで構築し、ぜひ試していただきたいと考えます。

各種サービスのアプリをインストールする手間が減り、安全な運用ができるようになってきました。このような仕組みを利用して自組織の開発環境やシステム、また独自のサービスの公開をぜひ進めていただきたいと願っています。

さまざまなテンプレートやアプリケーションセットが充実したカゴヤ・ジャパンの「KAGOYA CLOUD VPS」には、スペックに応じたプランが揃っています。カゴヤのサーバー研究室では、これからもVPSとOSS(オープンソースソフトウェア)でできることをご紹介していきます。どうぞご期待ください。

日額 20円 で使えるVPS

開発・検証・プログラミング学習に。無駄なコストもかけたくないあなたにおすすめのVPS

カゴヤのVPSは初期費用無料でアカウント登録さえしておけば、必要なときだけ日額課金でサーバーを立ち上げ可能!料金は使った分だけ。