Magento1.xをご存知の方は、管理画面から簡単にバージョンアップする方法や、Magentoの公式サイトからMagento一式をダウンロードし、丸ごと上書きする形でバージョンアップする方法をご存じかと思います。Magento2では、より開発プロジェクトにおけるソースコード管理を高品質なものにするため、CLIで専用のコマンドツールを用いてバージョンアップする形になります。
本記事では、Magento 2.4.xのxの部分に当たるマイナーバージョンのアップデート手順をご紹介します。
なおMagento2にも以前までは管理画面からバックアップやバージョンアップを行うツールが提供されていましたが、現在のMagento2.4.xでは廃止されておりCLIのみとなります。
Mangento 2.4.5の必須構成
- PHP 8.1
- Composer 2.2
- Elasticsearch 7.17 or OpenSearch 1.2
- MariaDB 10.4 or MySQL 8.0
- Apache 2.4 or Nginx 1.18
バージョンアップの手順
バージョンアップの準備
- メンテナンスモードへの移行
- バージョンアップを行う前にサイトをメンテナンスモードに変更し、アクセスができない状態にします。
$ bin/magento maintenance:enable
メンテナンスモードが有効化されると以下のように、メンテナンスモードである旨を記した画面が表示され、フロント側、管理画面側ともアクセスのできない状態になります。
Service Unavailable The server is temporary unable to service your request due to maintenance downtime or capacity problems, Please try again lator.
Magento2のメンテナンスモード画面の例
- composer.jsonファイルのバックアップ
- 以下のコマンドでcomposer.jsonのバックアップを行います。
$ cp composer.json composer.json.bak
- composer update プラグインをインストールして依存関係を更新する
- composerのアップデートを行います。
$ composer require magento/composer-root-update-plugin=~2.0 --no-update
バージョンアップの実行
- Magento 2 のバージョンアップ
- 以下のコマンドで Magento 2.4.5 にバージョンアップを行うMagento 2 のインストールルートパスに移動して、以下のコマンドを実行します。
$ composer require magento/product-community-edition 2.4.5 --no-update $ composer update --ignore-platform-reqs
- メタデータの更新
- 必要に応じて、composer.json ファイルの名前、バージョン等を更新してください。
- 依存関係の変更と適用
-
$ composer update
- データベースのスキーマとデータの更新
-
$ bin/magento setup:upgrade
- モジュールとテータのアップデート
-
$ composer update vendor/module-name $ bin/magento setup:upgrade
- 静的コンテンツの生成
-
$ bin/magento setup:static-content:deploy
複数の言語環境がある場合には、引数に言語のコードを指定する必要があります。
例: 日本語と英語(アメリカ)の言語環境がある場合$ bin/magento setup:static-content:deploy ja_JP en_US
- キャッシュの削除
- $ bin/magento cache:clean
- コンパイルの実行
-
$ php bin/magento setup:di:compile
- インデックスの再作成
-
$ php bin/magento indexer:reindex
バージョンアップ完了の確認
- Magento 2のバージョンを確認
-
$ php bin/magento --version
- メンテナンスモードの解除
-
$ bin/magento maintenance:disable
次の記事でDocker環境を作成し実際にバージョンアップを行い、問題が発生した場合はそれを解決する方法について記載したいと思います。