ニュース・ブログ

ニュース・ブログ一覧BLOGの記事情報Mattermostと連携できて便利!?なFocalboard入れてみました!

Mattermostと連携できて便利!?なFocalboard入れてみました!

いつもウェブネーションのコーポレートサイトへ訪問頂きありがとうございます。システム開発部の前野です。

 

最近Youtuberさんが炎上したりなど、コロナ関連での話題や課題が色々と表面化していますが、弊社でもリモートワークを通じてパフォーマンスが出るグループとそうでないグループが見えてくるようになりました。

 

そんなリモートワークで欠かせないチームコラボレーションツールは、リモートワークの標準化によって様々なツールが乱立し、良いところ、悪いところが見えてきたのではないでしょうか?

 

以前のブログで紹介したように、ツールに関しては主に以下のジャンルに分かれるかと思います。

 

プロジェクト管理ツール

 

商用サービスは無数にありますが、弊社ではBacklogをリモートワークになる前から愛用しています。
タスク、バグ、その他、要望などのメインとなる情報に整理し、その中でも高中小の優先度を設定しつつ、担当者を割り当てながら現在の進捗を管理することができます。
上位プラン限定ですが、要素を個別にカスタマイズし、例えばWindows10でのみ起こるバグや、iOSのアプリのみで起こるバグなど、細かく細分化することも可能です。

 

チームコラボレーションツールの多くはユーザー単位での課金ですが、Backlogはユーザー数ではなく、容量やプロジェクト数単位に上限を設けるシンプルなプランが特徴で、
弊社としてもこれが理由で現在も使っているかなというところでしょうか。

 

ただ、詳しくは後述しますが、最近出てくる情報の整理に関する課題が少しずつ出始めているのも事実です。

 

コミュニケーションツール

 

(ビデオ会議ツール)
商用サービスではZoomが有名で、開発チームのミーティングにはこれを使っています。
音声のみであれば無料で使えるDiscordも採用できるポイントです。
他にはGoogle Meetとか、MicrosoftのTeamsも打ち合わせでは使うことがありますね。

 

最近AWSの中の人とお打ち合わせをした際に使ったAmazon Chimeも感触が良かったです。音声の品質が良い点に驚きましたね。

 

(チャットツール)
商用サービスで言えばSlackやチャットワーク、Lineワークスは有名です。
個人の方だとDiscordはよく使われているのではないでしょうか。

 

弊社ではMattermostを使って管理をしています。以前のブログでは検索機能が残念とお伝えしましたが、日本語検索も改善し、最新版ではファイル検索機能も登場しました。

 

 

さて、そんなMattermostと連携ができるFocalboardを今日は紹介します。

 

FocalboardはSlackのオープンソースとも言えるチャットツール「Mattermost」の兄弟製品とも言えるプロダクトで、カンバン管理システムを基軸にした情報管理ツールです。
詳しい機能は画像を見て頂ければと思いますが、Backlogのようにも使えるように感じました。

 

 

情報管理の定番としての個別の管理や、メモ機能から・・・

 

 

タスク管理として優先度別に何をすべきかの機能や、

 

 

TODOリストとしてやることリストを管理することも可能です。

 

これらの機能は単独でも動かす事ができ、WindowsやMac版などのアプリケーションとしても準備されていますが、
サーバーインストール版でMattermostから連携することにより、Mattermostと同じユーザー情報で情報の登録・管理が可能ですので、Mattermostをご利用の方は是非お試しください!

 

特に書いてある事はマニュアル通りですが、試しに動かすところまでさくさく動かしてみましたので、簡単に紹介します。

 

(事前準備:MySQLかPostgreSQL11以上の環境)

 

今回はAWSの中にRDSでDB環境がある状態から、EC2の中にMattermostをインストールしてみました。
DB無しのMattermost単独であればt3.microくらいのレベルでも動きますが(Mattermostでメモリを500MBほど消費するのでそこそこカツカツではあります)、DBを共存させる場合はt3.smallくらいはあった方が良いかもしれません。

 

ARM版は公式版ではまだ登場していませんので、ARMコアではなく、x86系のIntelCPUでインスタンスを立ち上げます。

 

1. Mattermostをインストール

 


・最新のMattermostをダウンロード
$ wget https://releases.mattermost.com/5.36.1/mattermost-5.36.1-linux-amd64.tar.gz

・ファイルを解凍

$ tar -xvzf *.gz

・optフォルダに移動
$ sudo mv mattermost /opt

・Mattermostのデータ保存ディレクトリを作成(ローカルデータの場合)
$ sudo mkdir /opt/mattermost/data

2. Mattermostの実行ユーザーを作成

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

3. /opt/mattermost/config/config.jsonを編集し、DBや基本設定を行います。

MySQLの場合は、DriverNameをmysqlにします。
DataSource欄より、ユーザー名とパスワードを指定します。
SiteURLではサイトのURLを指定します。

4. Mattermostの起動

$ cd /opt/mattermost
$ sudo -u mattermost /opt/mattermost/bin/mattermost

数秒待った後に8065番ポートでMattermostが立ち上がります。

5. Apacheのインストール

非公式方法ですが、Apacheで今回は起動させます。

$ yum -y install httpd mod_ssl

6. ウェブサーバーの設定

$ sudo vi /etc/httpd/conf/httpd.confを実行後、ファイルの末尾に以下を追加します。

<VirtualHost *:80>
  ServerName 指定したURL
  ServerAdmin hostmaster@mydomain.com
  ProxyPreserveHost On

  RewriteEngine On
  RewriteCond %{REQUEST_URI} /api/v[0-9]+/(users/)?websocket|/plugins/focalboard/ws/* [NC,OR]
  RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC,OR]
  RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
  RewriteRule .* ws://127.0.0.1:8065%{REQUEST_URI} [P,QSA,L]

  <Location />
    Require all granted
    ProxyPass http://127.0.0.1:8065/
    ProxyPassReverse http://127.0.0.1:8065/
    ProxyPassReverseCookieDomain 127.0.0.1 指定したURL
  </Location>
</VirtualHost>

<VirtualHost *:443>
  ServerName 指定したURL
  ServerAdmin hostmaster@mydomain.com
  ProxyPreserveHost On
  RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
  RequestHeader set "X-Forwarded-SSL" expr=%{HTTPS}

  RewriteEngine On
  RewriteCond %{REQUEST_URI} /api/v[0-9]+/(users/)?websocket|/plugins/focalboard/ws/* [NC,OR]
  RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC,OR]
  RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
  RewriteRule .* ws://127.0.0.1:8065%{REQUEST_URI} [P,QSA,L]

  <Location />
    Require all granted
    ProxyPass http://127.0.0.1:8065/
    ProxyPassReverse http://127.0.0.1:8065/
    ProxyPassReverseCookieDomain 127.0.0.1 指定したURL
  </Location>
</VirtualHost>

6. ウェブサーバーの起動
この後SSLをインストールするため、Apacheを実行します。

$ sudo service httpd start

7. SSLの設定(Certbot)

$ sudo wget -r --no-parent -A 'epel-release-*.rpm' https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/
$ sudo rpm -Uvh dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-*.rpm
$ sudo yum-config-manager --enable epel*
$ sudo certbot

この後は対話式で指定をします。
入力するのはメールアドレスで、あとはApacheの設定を読み込んで発行すべきSSLを確認してくれます。
Apacheの設定ファイルも自動更新してくれるので、
終わったらservice httpd restartでSSLを反映し、SSLが導入されているか確認をします。

以後はroot権限でcrontabにて「certbot renew --no-self-upgrade」を実行することで、SSLの自動更新をしてくれます。

8. focalboardの導入

あとはfocalboardの導入です。

$ wget https://github.com/mattermost/focalboard/releases/download/v0.7.0/focalboard-server-linux-amd64.tar.gz
$ tar -xvzf focalboard-server-linux-amd64.tar.gz
$ sudo mv focalboard /opt
$ sudo chown -R mattermost:mattermost /opt/mattermost

9. focalboardの実行

$ sudo /opt/focalboard/bin/focalboard-server
$ sudo -u mattermost /opt/focalboard/bin/focalboard-server

数秒待った後に8000番ポートでFocalboardが立ち上がります。

 

 

Focalboardの場所は見づらいですが、Mattermostの右上のアイコンにあります。
チャンネルごとに独立しているので、チャンネルが多数あるとどこに何入れたか分かりにくくなるので、タウンスクウェアとかに入れるのが良いかもしれませんね!

 

 

週間ブログランキング