前回、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が作成されていることを確認します。
Mattermost用の静的IPの三点リーダーを選択し、[管理]を押下します。
Mattermost用の静的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?]と表示されるため、[View in Browser]を押下します。
[Create your account]より、以下の情報を設定します。
- Email address : 初期ユーザのメールアドレスを入力
- Choose a Username : 初期ユーザのユーザ名を入力
- Choose a Password : 初期ユーザのパスワードを入力
設定が完了したら、[Create Account]を選択します。
[Team you can join]より、[Create a team]を押下します。
[Team Name]より、チーム名を入力して、[Next]を押下します。
[Team URL]よりチームのURLを入力し、[Finish]を押下します。
[Welcome to Mattermost]とスタートアップガイド的なものが表示されるため、今回は[No thanks, I’ll figure it out myself]を押下します。
Mattermostの画面が表示されるため、チャットが打てるか確認します。
以上で、Mattermostの初期セットアップは完了です。
まとめ
今回は、AWS Lightsailを使用して、Ubuntu 20.04にOmnibusを使用してMattermostをインストールしました。
数個のコマンドでMattermostをインストールできるのは非常に便利だと思いました。
また、Let’s Encryptで自動的にSSL化もできるので、証明書の管理なども不要で運用も楽になるのではないでしょうか。
ただ、この状態だとSMTPサーバの設定ができていないので、メールが飛ばないのでSMTPサーバの設定はやっておいて損はないと思いました。
おまけ
本ブログではVMwareやWindows、Linuxのインストール手順等も公開しております。
インフラエンジニアとして有益な記事や無益なコンテンツも作成しておりますので、通勤時間や休憩時間、休日のスキマ時間等に合わせて読んでいただけると幸いです。
また、Youtubeで解説動画も鋭意作成中です。本ブログで記事にしているものも動画にしようと思っておりますので、よろしくお願いいたします。
willserverのnoteも開設したのでフォローお願いします。
コメント