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 メンテナンスモード

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環境を作成し実際にバージョンアップを行い、問題が発生した場合はそれを解決する方法について記載したいと思います。

    お問い合わせはお電話か、以下のフォームよりお願い致します。

    お電話でのお問合せ先
    東京渋谷オフィス: 03-6869-7417
    名古屋本社: 052-880-0011

    お問合せフォーム

    ご入力いただいたすべての情報は当社のプライバシーポリシーに従い、厳重にお取り扱い致します。

    ご送信いただいた内容はSSLの技術によって暗号化され、秘匿性が保たれています。