👓

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 config/config.json ~/backup/

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

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

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

cp -r data ~/backup/

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 ~/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 .

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

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

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

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

sudo /opt/bitnami/ctlscript.sh restart mattermost

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

Discussion