【Tool】Mattermostのセルフホスティングを導入してみる

Other
スポンサーリンク

前回、Mattermostのホスティングサービスに登録して、Mattermostを試してみました。
今回は、Mattermostのセルフホスティングを試してみたいと思います。

Mattermostのホスティングサービスを導入してみる

前提条件

今回はAWSのLightsailを使用してMattermostを構築していきます。
Mattermostのインストールガイドによると、Mattermostをインストールする方法は主に2種類あり、特定のLinuxディストリビューションであればAPTからインストールする方法と、汎用のインストーラを使用してインストールする方法があります。
本手順ではお試しということもあり、APTを使用してインストールする方法を試してみます。

  • OS : Ubuntu 20.04
  • CPU : 1vCPU
  • MEM : 512MB
  • DISK : 20GB

なお、Mattermostをインストールする場合、Let’s Encryptを使用してSSLを自動的に構成してくれるため、Lightsailの静的IPを取得し、ドメイン名を引けるように構成してあります。

Lightsail インスタンスの作成

今回はAWS上に構築しますが、必要であればオンプレの環境にOSをインストールしてください。

インスタンスロケーションの選択画面
インスタンスロケーションの選択

[インスタンスの作成]-[インスタンスロケーションの選択]より、以下の設定を行います。

  • リージョンの選択 : 日本 (ap-northeast-1)
  • アベイラビリティーゾーンの選択 : ゾーンD (ap-noteheast1d)
設計図の選択画面
設計図の選択画面

[設計図の選択]より、以下の設定を行います。

  • 設計図の種別 : OSのみ
  • 設計図の選択 : Ubuntu 20.04 LTS

MattermostがサポートするOSであるUbuntu 20.04を選択しています。

オプション画面
オプション

[オプション]より、SSHキーペアを作成します。
今回は既存のキーペアが存在するため、既存のキーペアを使うように変更しています。
[インスタンスプランの作成]より、Mattermostをホスティングするインスタンスタイプを選択します。
今回は一番低いスペックのインスタンスを選択しました。

インスタンスを確認画面
インスタンスを確認

[インスタンスを確認]より、インスタンスの名前と数量を選択して、[インスタンスの作成]を押下します。

インスタンスの確認画面
インスタンスの確認

[AWS Lightsail]のインスタンスより、作成したインスタンスがアクティブになっていることを確認します。

ネットワーキング画面
ネットワーキング

[Amazon Lightsail]-[ネットワーキング]より、Mattermost用のIPが作成されていることを確認します。

静的IPの管理画面
静的IPの管理

Mattermost用の静的IPの三点リーダーを選択し、[管理]を押下します。

静的IPのアタッチ画面
静的IPのアタッチ

Mattermost用の静的IPより、インスタンスを選択し、[アタッチ]を選択します。

静的IPのアタッチ確認画面
静的IPのアタッチ確認

Mattermost用の静的IPがMattermostのインスタンスにアタッチされていることを確認します。

また、今回は触れていませんが、必要に応じてインスタンスの[ネットワーキング]より、インスタンスへのアクセス制御を設定してください。
デフォルトだとHTTP(80)、HTTPS(443)、SSH(22)が開いています。

以上でMattermost用のインスタンス作成は完了です。

Mattermost インストール

Mattermost用のインスタンス作成が完了したら、SSHキーペアを使用してMattermost用のインスタンスに対し、SSHを行います。

SSH接続したら、以下のコマンドを実行し、OSのアップデートを行います。

ubuntu@ip-172-26-33-252:~$ sudo apt update
ubuntu@ip-172-26-33-252:~$ sudo apt upgrade

OSのアップデートが完了したら、GitHubより、Mattermostのセットアップスクリプトをダウンロードします。

ubuntu@ip-172-26-33-252:~$ curl -o- https://deb.packages.mattermost.com/repo-setup.sh | sudo bash

以下のコマンドを実行してMattermostをインストールします。

ubuntu@ip-172-26-33-252:~$ sudo apt install mattermost-omnibus -y
ドメイン名の入力画面
ドメイン名の入力

omnibusからMattermostをインストールすると、[Mattermost domain name]と表示されるため、Mattermostを運用するドメイン名を入力します。

メールアドレスの入力画面
メールアドレスの入力

[Letsencrypt contact email address]と表示されるため、SSL証明書で使用するメールアドレスを入力します。

Mattermostのインストールが成功すると、Omnibus configuration success.と出る想定でしたが、失敗しました。

TASK [Enable and restart Mattermost service] ***********************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "Unable to start service mattermost: Job for mattermost.service failed because a fatal signal was delivered to the control process.\nSee \"systemctl status mattermost.service\" and \"journalctl -xe\" for details.\n"}

PLAY RECAP *********************************************************************
localhost                  : ok=14   changed=11   unreachable=0    failed=1    skipped=1    rescued=0    ignored=0   

ERROR: error running reconfigure: exit status 2


###############################################################
# Omnibus configuration failed.                               #
#                                                             #
# Please run "dpkg-reconfigure mattermost-omnibus" to         #
# try again or join the Mattermost Community for help at      #
# https://mattermost.com/pl/default-ask-mattermost-community/ #
###############################################################


Processing triggers for systemd (245.4-4ubuntu3.18) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.9) ...

ubuntu@ip-172-26-33-252:~$ 

ログを見る限り、インストール自体は成功しており、サービスの自動起動とスタートに失敗しているようなので、手動でサービスの自動起動とサービスのスタートを行いました。
サービス自体は起動したので、問題ないと思われます。

Mattermost 初期設定

Mattermostのインストールが完了したら、MattermostのFQDNにHTTPSでアクセスします。

Where would you like to view this?画面
Where would you like to view this?

[Where would you like to view this?]と表示されるため、[View in Browser]を押下します。

Create your account画面
Create your account

[Create your account]より、以下の情報を設定します。

  • Email address : 初期ユーザのメールアドレスを入力
  • Choose a Username : 初期ユーザのユーザ名を入力
  • Choose a Password : 初期ユーザのパスワードを入力

設定が完了したら、[Create Account]を選択します。

Team you can join画面
Team you can join:

[Team you can join]より、[Create a team]を押下します。

Team Name設定画面
Team Name設定

[Team Name]より、チーム名を入力して、[Next]を押下します。

Team URLの設定画面
Team URLの設定

[Team URL]よりチームのURLを入力し、[Finish]を押下します。

Welcom to Mattermost画面
Welcom to Mattermost

[Welcome to Mattermost]とスタートアップガイド的なものが表示されるため、今回は[No thanks, I’ll figure it out myself]を押下します。

Mattermost動作確認画面
Mattermost動作確認

Mattermostの画面が表示されるため、チャットが打てるか確認します。
以上で、Mattermostの初期セットアップは完了です。

まとめ

今回は、AWS Lightsailを使用して、Ubuntu 20.04にOmnibusを使用してMattermostをインストールしました。
数個のコマンドでMattermostをインストールできるのは非常に便利だと思いました。
また、Let’s Encryptで自動的にSSL化もできるので、証明書の管理なども不要で運用も楽になるのではないでしょうか。

ただ、この状態だとSMTPサーバの設定ができていないので、メールが飛ばないのでSMTPサーバの設定はやっておいて損はないと思いました。

おまけ

本ブログではVMwareやWindows、Linuxのインストール手順等も公開しております。
インフラエンジニアとして有益な記事や無益なコンテンツも作成しておりますので、通勤時間や休憩時間、休日のスキマ時間等に合わせて読んでいただけると幸いです。
また、Youtubeで解説動画も鋭意作成中です。本ブログで記事にしているものも動画にしようと思っておりますので、よろしくお願いいたします。
willserverのnoteも開設したのでフォローお願いします。

コメント

タイトルとURLをコピーしました