Growi v7.1.x→v7.2.xへのアップグレード
概要
Growi v7.1.xをインストールしているのであれば、v7.2.0へのアップグレードはv7.1.xと同じ手順でアップグレードできました。
前提
- 既にgrowi v7.1.xをインストールしていること。
- 管理画面トップやトップページ右下からバージョンが7.1.xであることを再確認します。
- systemdによってサービス化されていること。
- 最新版や安定版がリリースされていることを以下のサイトで確認していること。
- https://github.com/weseek/growi/releases
- ※設定ファイルの変更やパッケージインストールの変更、nodeのバージョンアップの必要等があれば、それも事前に済ませます。
手順
さっくりとした手順
- Growiをメンテナンスモードにします。
- Growiのサービスを停止します。
- バックアップを取ります。
- gitコマンドで最新版をcheckoutします。
- アップグレードを行います。
- Growiのサービスを再開します。
- Growiのメンテナンスモードを解除します。
- アップグレードされたことを確認します。
メンテナンスモード有効化
- Growiに管理者権限でログインします。
- 管理トップ>アプリ設定に進み、「メンテナンスモードを開始する」をクリックします。
- トップページに戻り「メンテナンスモード」が表示されていることを確認します。
バックアップ
以下をバックアップします。
- mongodbの格納データ
cat /etc/mongod.conf |grep dbPath
として、ここのディレクトリ一式を控えます。(筆者環境 /home/mongodb
)
このディレクトリを任意の方法でバックアップします。
- Growiの添付ファイル一式が納められているディレクトリ(ファイルアップロード先をlocalにしている場合のみ)
/growi/root/directory/apps/app/public
(筆者環境 /home/www-data/growi/apps/app/public
)ここも念のためバックアップします。
※ 添付ファイルのアップロード先をAWSやAzureなどにしている場合は不要です
- vpsや仮想ゲストの場合はシステム全体:推奨
スナップショット機能などでシステム全体をバックアップした方が確実で安心です。
growiサービスを停止します
- growiのステータス確認(停止前)
systemctl status growi.service
※ サービススクリプト名は自分の環境に合わせます。
※ active(running)を確認します
- growiのサービス停止
sudo systemctl stop growi.service
- growiのステータス確認(停止後)
systemctl status growi.service
inactive (dead)を確認します
growiディレクトリに移動します
cd /opt/growi
自分の環境に合わせます。(筆者環境/home/www-data/growi
)
リリースタグを確認します。
- リリースタグ取得
sudo git fetch --tags
- リリースタグ確認
sudo git tag -l
スペースで確認していき、上記リリースサイトと同じバージョンがあることを確認します。
チェックアウトとインストールを行います。
- 変更を一時的に退避
sudo git stash
- チェックアウト
sudo git checkout 【バージョン】
- pnpm install
sudo pnpm i
- ビルド
sudo npm run app:build
growiサービスを起動します。
- 再開前のステータス確認
systemctl status growi.service
inactive (dead)を確認します
- サービス再起動
sudo systemctl start growi.service
※ 完全に起動していないと、アクセスしても503エラーが発生します。
- 再開後のステータス確認
systemctl status growi.service
→ サービススクリプトを[growi]
にしている場合
active (running)を確認します
メンテナンスモード無効化
- Growiに管理者権限でログインします。
- 管理トップ>アプリ設定に進み、「メンテナンスモードを終了する」をクリックします。
- トップページに戻り「メンテナンスモード」が表示されていないことを確認します。
バージョンアップを確認します。
- 画面下部にあるバージョンがチェックアウトしたバージョン(v7.2.x)であることを確認します。
- 各種機能(ページ閲覧や編集)などが正常に行えるかを確認します。
バージョンアップ後の作業
必要に応じてバックアップしたファイル一式やスナップショットを削除します。