👓

bitnami版のmattermostのアップデート方法で迷いそうな部分を補足する

2024/04/12に公開

はじめに

mattermostとはslackのようなOSSのコミュニケーションツールです。
https://mattermost.com/
GCPでbitnami版のmattermostを構築して運用中なのですが、
mattermostをバージョンアップする際に利用している
bitnami公式の手順で迷いそうな部分があったのでまとめます。

公式手順

https://docs.bitnami.com/aws/apps/mattermost/administration/upgrade/

手順追記版

0.前提

全ての作業は以下の手順の通りsudoで実行するか、
もしくはrootユーザにスイッチしてから実行しましょう。

sudo su - root

1.サーバーを停止します。

sudo /opt/bitnami/ctlscript.sh stop mattermost

2.Mattermost インストール ディレクトリに移動します。

cd /opt/bitnami/mattermost

3.現在の構成ファイルをバックアップします。

mkdir ~/backup
cp -p config/config.json ~/backup/

4.MySQL ページの説明に従ってデータベースをバックアップします。

以下の公式手順に従って実施します。
バージョンアップがうまくいけばそのままMySQLのデータは引き継がれるので万が一のためのバックアップです。
やらなくてもバージョンアップは可能です。
https://docs.bitnami.com/aws/apps/mattermost/administration/backup-restore/

余談ですが

現在mattermostの推奨DBはpostgresになっています。
MySQLでも稼働しますが、一部統計情報などモニタリングに関する項目が閲覧できない可能性があります。
私の環境(v9.9.0)では今のところ問題なく利用できています。

5.Mattermost データ ファイルをバックアップします。

cp -rp data ~/backup/

必要であれば上記と同じように「plugins」ディレクトリもバックアップしましょう

6.Mattermost の最新バージョンをダウンロードします。

cd ..
wget https://releases.mattermost.com/X.X.X/mattermost-team-X.X.X-linux-amd64.tar.gz

最新版は以下等で確認しましょう。
https://github.com/mattermost/mattermost/releases
https://mattermost.com/download/?redirect_source=about-mm-com

7.以前の Mattermost ファイルを削除します

前の手順ですでに必要なバックアップは実施済です。

rm -rf mattermost/*

8.新しいバージョンを解凍します。

tar xzf mattermost-team-X.X.X-linux-amd64.tar.gz -C mattermost --strip-components=1

9.以前の構成ファイルを復元します。

cd -
cp -p ~/backup/config.json config/config.json

9-1.config.jsonの権限を変更

config.jsonの権限が不足すると最後の起動でmattermostが起動しないため権限を変更します。

sudo chmod 755 config/config.json

9-2.ディレクトリを復元

data

画像や絵文字のデータが入っているdataディレクトリを復元します。
これを実施しないと今までmattermostに添付したファイルや作成した絵文字が引き継がれなくなります。
(ファイルストレージをS3に設定している場合は中身は入っていないかもですが、ディレクトリだけでも復元しましょう)

cp -r ~/backup/data .

plugins

pluginsもバックアップしている場合は、同じように復元します。
起動時にディレクトリは必要なので空でも作成しておきましょう。

cp -r ~/backup/plugins .

bleve用のディレクトリ

mattermostディレクトリ配下にbleve用のインデックス格納ディレクトリ作成していた場合は
再度同じように作成しておく必要があります。

mkdir bleveindexes
bleveとは

mattermostの全文検索機能です。
https://docs.mattermost.com/deploy/bleve-search.html

10.ファイルのアクセス許可を次のように調整します。

chown -R bitnami:mattermost .
sudo chown -R mattermost:mattermost logs client data plugins

data、pluginsディレクトリを復元していないとエラーが出ます。

bleve用のインデックス格納ディレクトリがある場合は同じように調整します。

sudo chown -R mattermost:mattermost bleveindexes

11.サーバーを再起動します。

sudo /opt/bitnami/ctlscript.sh restart mattermost

「システム コンソール」を開き、変更を保存します。これを行うと、追加された新しい設定のデフォルト値を使用して、 config.jsonスキーマが最新バージョンにアップグレードされます。

合同会社カメレオンミーム Tech Blog

Discussion