Firefly-iiiのアップデート。(6.1.2→6.2.1)

LAMP環境で動く財務管理システム、firefly-iiiを6.1.2→6.2.1にアップグレードしたときの手順メモです。

参考:Upgrade a self-managed server/Firefly III documentation

環境

さっくりとした手順

  1. DBのバックアップを取得します。
  2. 最新版のパッケージをダウンロードして展開します。
  3. 利用中のfirefly-iiiを待避させます。
  4. 待避させたfirefly-iiiからファイル/ディレクトリをコピーします。
  5. アップグレードを行います。

DBのバックアップ

cd /hoge && pwd

任意の作業ディレクトリに移動します。

mysqldump --no-tablespaces --single-transaction -u username -h localhost -p database_name > DB_Backup.$(date +%Y%m%d).sql

usenamedatabase_name、及びDB_Backupは自分の環境に合わせます。

head -100 DB_Backup.$(date +%Y%m%d).sql

バックアップができていること、平文でSQLが読めることを確認します。

パッケージ取得

cd /hoge && pwd

任意の作業ディレクトリに移動します。

wget https://github.com/firefly-iii/firefly-iii/releases/download/v6.1.21/FireflyIII-v6.1.21.zip
sudo chown www-data:www-data FireflyIII-v6.1.21.zip
ls -l FireflyIII-v6.1.21.zip

ファイルがあること、所有者がWebアプリ実行ユーザ(www-data)であることを確認します。

アップデート前のfirefly-iiiを待避

sudo mv /home/www-data/firefly-iii /home/www-data/firefly-iii.$(date +%Y%m%d)

自分の環境に合わせます。firefly-iiiがインストールされているディレクトリをまるごと移動します。

ls -ld /home/www-data/firefly-iii

→ ディレクトリが無いこと

ls -ld /home/www-data/firefly-iii.$(date +%Y%m%d)

→ ディレクトリがあること

アップデートパッケージの解凍と配置

sudo -u www-data unzip -o /hoge/FireflyIII-v6.1.21.zip -x "storage/*" -d /home/www-data/firefly-iii

/hogeは先ほど取得したパッケージがある場所です。アップデート前と同じ位置、名前に解凍します。

ls -l /home/www-data/firefly-iii

ファイル一式があり、www-dataが所有者になっていること

アップデート前のファイル・ディレクトリをコピー

cd /home/www-data/firefly-iii.$(date +%Y%m%d) && pwd

自分の環境に合わせます。

sudo cp -pi .env /home/www-data/firefly-iii/.env

コピー先のディレクトリは自分の環境に合わせます。

ls -l /home/www-data/firefly-iii/.env

ファイルがあることを確認します。

sudo cp -pir storage /home/www-data/firefly-iii/
ls -l /home/www-data/firefly-iii/storage

ファイルやディレクトリがあることを確認します。

アップグレード

cd /home/www-data/firefly-iii && pwd

先ほど展開したディレクトリに移動します。

sudo -u www-data php artisan migrate --seed

Yesが見えるようにして実行します。

sudo -u www-data php artisan firefly-iii:decrypt-all
sudo -u www-data php artisan cache:clear
sudo -u www-data php artisan view:clear
sudo -u www-data php artisan firefly-iii:upgrade-database
sudo -u www-data php artisan firefly-iii:laravel-passport-keys

アップグレード反映・確認

sudo systemctl restart apache2.service
systemctl status apache2.service
  1. アップデートを行ったfirefly-iiiサイトにブラウザでアクセスします。
  2. ログインできることを確認します。
  3. バージョンが上がっていることを確認します。
  4. 登録操作などができることを確認します。

アップデート後の処理:mysqldumpの削除

cd /hoge && pwd

mysqldumpを実行したディレクトリに移動します。

rm DB_Backup.$(date +%Y%m%d).sql
head -100 DB_Backup.$(date +%Y%m%d).sql

ファイルが読めないことを確認します。

アップデート後の処理待避させたディレクトリの削除

ls -ld /home/www-data/firefly-iii.$(date +%Y%m%d)

ディレクトリがあることを確認します。(自分の環境に合わせます。)

[ -d "/home/www-data/firefly-iii.$(date +%Y%m%d)" ] && sudo rm -rf "/home/www-data/firefly-iii.$(date +%Y%m%d)"

それぞれ、待避させたディレクトリであることを入念に確認してから行ってください。

ls -l /home/www-data/firefly-iii.$(date +%Y%m%d)

ディレクトリがないことを確認します。


Revision #3
Created 16 October 2024 06:41:39 by manualmaton
Updated 16 October 2024 06:56:57 by manualmaton