Magento2アップデート

Magentoできるもん!:></head> タグの前にコードを追加 Magento2アップデート

Magento2.3に日本語エクステンションをインストールする

By |2019-06-30T11:14:06+09:002019年5月18日|Categories: Magento日本語化|Tags: , , |

1. Magento2.3系以降の新しい日本語エクステンションについて

Magento2を日本語化するの記事では、Composerを使って、二つの日本語エクステンション(日本語ロケール/日本語ローカライズ)をインストールする方法を解説いたしました。
しかし、2019年の最新のMagento2.3.x系からは、Magento2.2.x以前と違う、新しい日本語エクステンションが必要となります。

新しい日本語エクステンションは、Magento Community Engineering からの提供となりますが、ベースとなっているモジュールは、以前と同じようにVeriteworksさんの開発されたものになります。

ご参考
https://principle-works.jp/blog/finally-official-magento-japanese-localize-extension-published-in-marketplace/

新しい日本語エクステンションは、Magento2のEC機能をあらゆる角度から日本語環境に適合させるための、14個のモジュールが同梱された総合パッケージで、カート画面での住所氏名の語順、郵便番号からの自動住所入力、PDF文書での日本語フォント表記、日本円の端数処理など、Magento2のコアに関連する要素も組み込まれています。

特に、カート画面での日本語の住所氏名など、以前は英語順の不自然な配列での表示でしたが、今回の新しいエクステンションでは、コアレベルでのローカライズが進み、日本語での正しい語順に修正されています。

Magento2.3カート画面(日本語)

今回は、この新しい日本語エクステンションのインストール方法について、簡単な説明をいたします。

インストール方法は、

  • Magento Marketplaceにて入手
  • Composerを使う

の二つの方法があり、どちらのケースも無料で提供されています。

2. Magento Marketplaceでの入手とインストール

Magento2.3からの日本語エクステンションは、先日5月8日に、Magento Marketplaceにてリリースされました。

Japanese Localization by Magento Community Engineering
https://marketplace.magento.com/community-engineering-japan-common.html

Magento2.3日本語エクステンション

このMarketplaceで日本語エクステンションを入手するには、Marketplaceにアカウントを作成し、カート画面から購入(無料)の手続きをします。
そして、Magento2の管理画面の System > Tools > Web Setup Wizard > Extension Manager から、購入したエクステンションのインストールを行います。

基本的には、Marketplaceでエクステンションの購入をし、Magentoの管理画面でMarketplaceのアカウントと同期して、そして購入エクステンションを管理画面からインストールという流れになります。

同期をする際に、Public KeyPrivate Key の入力が必要となります。
今回の記事では、この二つのKeyの取得について、簡単に説明したいと思います。

先ず、Magento Marketplaceサイトの、右上の「Sign In」からサインインをしてください。(Magento Marketplaceがはじめての方は、サインイン画面右の「Register」から、画面の案内通りに入力を進め、Marketplaceのアカウントを作成してください。)
そして、サインイン後、以下の画像のように右上のプルダウンを開いて、My Profile をクリックします。

Magento Marketplace

続いて、My Products > Access Keys  をクリックします。

Magento Marketplace

そして、オレンジ色の「Create A New Access Key」ボタンをクリックします。

Magento Marketplace

以下のように、Keyの名前を入力するウィンドウが開きますので、任意の名前(自分の備忘のため)を半角で入力し、「OK」をクリックしてください。

Magento Marketplace

すると、画面が元に戻り、Public Key と Private Key がペアになって作成されています。

Magento Marketplace

(Marketplaceでのキーの入手については、Magento2の使い方Magentoアカウント登録とアクセスキーの取得の記事もご参照ください。)

このKeyを、Magento管理画面のExtension Manager の所定の欄に入力することになるのですが、Extension Managerでの具体的なインストール方法や使い方は、以下の公式ドキュメントをご参照ください。

Marketplaceで購入したエクステンションのインストール方法(公式ドキュメント 英語)
https://docs.magento.com/m2/ce/user_guide/system/web-setup-extension-manager.html

ご注意:
Web Setup Wizardは、Magento2をNginxサーバーでホストしている場合、現在、使用できない(アクセスできない)状況になっています。
また、Magentoサーバーでご紹介しているApache共用サーバーの場合も、特にMagento2.3系以降、メモリ不足等でエラーになってしまうケースが増えているようです。
Setup Wizardは、以前から不安定な動作をすることが多く報告されていて、私自身も(過去のトラウマがあり笑)普段はほとんど使用しておりません。コマンドでの作業に慣れている方は、次のComposerでのインストールを推奨いたします。
Setup Wizard(Extension Manager)の動作について情報がありましたら、コメント欄やフォーラムにて、お使いの環境や設定等をご報告いただけますと幸いです。

3. Composerでインストールをする(推奨)

新しい日本語エクステンションは、Composerでインストールすることもできます。
Composerを使う場合、以下の一行のコマンドでインストールができます。

共用サーバーの場合

Copy to Clipboard

クラウドやVPSの場合

Copy to Clipboard

コマンドでの作業については、以前のMagento2+日本語をComposerでインストールの動画をご覧いただけますと、イメージをつかんで頂きやすいと思います。
実際、日本語エクステンションのコマンドが変更になっているだけで、他はすべて同じ作業になります。

Magento2本体と日本語エクステンションを同時にComposerでインストールする際は、以下のようなコマンドラインでの作業になります。
*以下のコマンド例は、root権限のあるクラウド/VPS環境で一般ユーザーを作成した場合になります。共用サーバーの場合は、適宜sudo→php、composer→composer.pharに置き換えてください。

Composerのインストール
curl -sS https://getcomposer.org/installer | php

Magento2のダウンロード
sudo composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition

Magento2ファイル群の配置確認と移動(FTP等で)

日本語エクステンションのダウンロード
sudo composer require community-engineering/japan-common

Magento2用のデータベース作成

Magento2のインストール(ブラウザから、もしくは以下コマンド例)
sudo bin/magento setup:install --base-url=https://yourdomain.com/ --db-host=localhost --db-name=test_data --db-user=testuser --db-password=testpassword --admin-firstname=Taro --admin-lastname=Yamada --admin-email=test@yourdomain.com --admin-user=demo123 --admin-password=demo123 --backend-frontname=adminURL123 --language=ja_JP --currency=JPY --timezone=Asia/Tokyo --use-rewrites=1
*青字箇所は環境により置き換えてください。

はじめてMagentoのレポジトリからファイルをダウンロードする際には、Authentication(認証)が求められます。
前項でご説明をした、Magento Marketplaceにて所得したKeyを、この認証でも利用することができます。

Magentoレポジトリの認証

Composerでダウンロードを進めようとすると、

Authentication required (repo.magento.com):

という文言が表示され、Usernamae の入力を求められます。
この Username には、Marketplaceで取得した Public Key をコピペで入力し、[Enter]を押してください。

次に、Password の入力を求められます。
この Password には、Marketplaceで取得した Private Key をコピペで入力してください。
注意するのは、この Password の入力行では、自分でコピペした文字列もカーソルも画面上に表示されず、ブランクのままになっていることです。画面がフリーズしてしまったような感覚になりますが、しかし、確実にKeyをペーストをしたら、そのまま[Enter]を押してください。

すると、

Do you want to store credentials … ? [Yn]

と聞かれますので、「Y」(Yes)を入力し、[Enter]を押してください。
これで、Composerでのダウンロードが進みます。

インストールされた日本語エクステンションのファイルは、以下の画像のように、Magento2ルート/vendor/community-engineering 以下に配置されています。

14個のモジュール名は、

CommunityEngineering_ConfigurablePdfFont
CommunityEngineering_CurrencyPrecision
CommunityEngineering_FontIpa
CommunityEngineering_FontSourceHanSansJapanese
CommunityEngineering_JapaneseAddress
CommunityEngineering_JapaneseDefaultCmsPages
CommunityEngineering_JapaneseDefaultConfig
CommunityEngineering_JapaneseName
CommunityEngineering_JapanesePostalCode
CommunityEngineering_JapaneseRegion
CommunityEngineering_JapaneseStoreAddress
CommunityEngineering_JapaneseUrlRewrite
CommunityEngineering_JapaneseYenFormatting
CommunityEngineering_Kuromoji

となります。

Magento2日本語エクステンションの配置

メインとなる日本語翻訳のCSVファイルは、vendor/community-engineering/language-ja_jp/ja_JP.csv に配置されていますが、各モジュール内に i18n フォルダがある場合は、その中にも ja_JP.csv ファイルがあります。

また、新しい日本語エクステンションは、現在の1.0.0バージョンでは、日本語のシングルストア専用になっていて、多言語でのマルチストアの運用はできない仕様になっています。(今後、マルチストア対応のバージョンが開発され、一般リリースされる予定です。)

そのため、Magento2管理画面での言語指定がロックされ、別言語へ変更できないようになっています。

すでにインストール済みのMagento2.3.xに、後から日本語エクステンションを単体でインストールする際には、Magento2管理画面の STORES > Configration > General > Local Options > Locale にて、事前に、言語を「Japanese」に変更しておくようにしてください。

Localeが「English」のままで日本語エクステンションをインストールした場合には、管理画面からは言語の変更ができなくなっているので、以下のコマンドにて言語変更を実行してください。

共用サーバーの場合

Copy to Clipboard

クラウド/VPSの場合

Copy to Clipboard

4. Magento2.2.xからMagento2.3.xへのアップデートについて

すでにMagento2.2.x系以下で日本語ストアを構築、運営されている方は、この新しい日本語エクステンションをインストールするには、Magento2.3.xへのアップデートを行う必要があります。
逆に言うと、Magento2.3.xへアップデートするには、日本語エクステンションを一新することが必須となります。

2.2.x→2.3.xへのアップデートにおいては、Magentoアップデートのページにも書いているのですが、通常のマイナーアップデートと同じ作業ではエラーになり、アップデートに失敗してしまいます。

2.3系から、PHP7.2のサポートが追加され、PHP7.0のサポートが外れました。この関係で、Magento2にインストールしているサードパーティーのエクステンションの多くが、アップデート時に依存性絡みのPHPバージョンエラーになることが報告されています。

ご参考
https://firebearstudio.com/blog/how-to-upgrade-to-magento-2-3-update-error-fixes.html

そのため、2.3へアップデートする直前に、すべてのサードパーティのエクステンション/モジュールを、無効化、削除することが推奨されます。
通常、完璧なアンインストールを行わない限り、既存データはデータベースにそのまま残りますので、2.3へのアップデート後、エクステンション/モジュールを再インストール、再有効化すれば、それまで該当エクステンションで構築していた内容を復元することができます。

日本語エクステンションに関して言えば、2.2までの従来の日本語ロケール/日本語ローカライズは必要なくなりますので、2.3へのアップデート前に、以下の手順で無効化、削除を行います。
(*日本語翻訳を個別で編集している場合は、 ja_JP.csv ファイルをバックアップしてください。)

共用サーバーの場合

Copy to Clipboard
Copy to Clipboard
Copy to Clipboard

クラウド/VPSの場合

Copy to Clipboard
Copy to Clipboard
Copy to Clipboard

上記のように、Composerでインストールをしたエクステンション/モジュールは、Composerコマンドにより削除(remove)します。

一方、FTPでアップロードし、マニュアルインストールをしたエクステンションやテーマは、無効化(disable)のコマンドの後、やはりFTPソフトにて手作業で該当ファイルを削除するか、rmコマンドにて削除をします。

例えば、Magentoテーマでご紹介しているUltimoテーマを削除するには、以下のコマンドを実行します。
(*テーマをカスタマイズしている場合は、必ず個別に編集ファイルをバックアップしてください。)

共用サーバーの場合

Copy to Clipboard
Copy to Clipboard

クラウド/VPSの場合

Copy to Clipboard
Copy to Clipboard

サードパーティーのエクステンションやテーマを削除した後、Magento2.2から2.3へのアップデートは、以下のようなコマンドラインでの作業になります。
*以下のコマンド例は、root権限のあるクラウド/VPS環境でユーザーを作成した場合になります。共用サーバーの場合は、適宜sudo→php、composer→composer.pharに置き換えてください。

Magento2のバージョン特定
sudo composer require magento/product-community-edition=2.3.1 --no-update

追加パッケージの特定
sudo composer require --dev phpunit/phpunit:~6.2.0 friendsofphp/php-cs-fixer:~2.10.1 lusitanian/oauth:~0.8.10 pdepend/pdepend:2.5.2 sebastian/phpcpd:~3.0.0 squizlabs/php_codesniffer:3.2.2 --no-update

composer.jsonファイルの変更
sudo nano composer.json
(autoloadの段を見つけて、最終箇所に以下のように追記変更をします。)

"autoload": {
"psr-4": {
"Magento\\Framework\\": "lib/internal/Magento/Framework/",
"Magento\\Setup\\": "setup/src/Magento/Setup/",
"Magento\\": "app/code/Magento/",
"Zend\\Mvc\\Controller\\": "setup/src/Zend/Mvc/Controller/"
},
...
}

アップデート実行
sudo composer update

新しいバージョンファイルのダウンロードができたら、削除したエクステンションやテーマを、Composerでダウンロード、もしくはFTPにてアップロードし、再有効化をします。
そして、

sudo bin/magento setup:upgrade
sudo bin/magento setup:di:compile

にて、Magento2のセットアップを行い、すべてのキャッシュをクリアしてください。

この一連のアップデート作業は、Magento2.2系も2.3系もどちらもサポートをしている、PHP7.1にて行うようにしてください。2.3へのアップデート完了後、PHP7.2への切り換えが可能となります。
また、サードパーティー製品の削除と再インストールについては、事前に開発者に問い合わせをし、開発者からの指示やアドバイスを優先するようにしてください。

Magento2のアップデート(特に2.3へのアップデート)は煩瑣で、なかなか一度ではうまく成功しないかもしれません。
エラーメッセージから原因を特定し、サードパーティ開発元からの情報もよく吟味しながら、テスト環境でじっくり時間をかけてトライする必要があると思います。

5. 新しい日本語エクステンションの注意点

先述したように、Magento2.3以降の新しい日本語エクステンションは、2019年5月現在、まだ日本語のシングルストアのみに対応となっています。
そのため、Magento2.2.xを、日本語・日本円を含めた多言語・多通貨のマルチストア環境で構築・運営をしている場合は、Magento2.3へアップデートをするのは時期尚早かと思われます。

新しい日本語エクステンションは、GitHubにて現在進行形で開発されています。
GitHub: Magento2 Japan  https://github.com/magento/magento2-jp

Roadmapを見ると、大きく3段階でのリリースが予定されていて、先日の5月8日に、その第1段階のリリースがされました。
第2段階にて、多言語のマルチストア環境での対応が可能となる予定なので、具体的な時期がいつになるかは予想が難しいのですが、マルチストア環境の場合は、第2段階のリリースまで待つのが無難と思われます。

また、日本語の翻訳システムもCrowdinというプラットフォームが導入されていて、翻訳の追加や改善に、誰でも参加できるようになっています。(ご興味のある方は、Veriteworksさんのサイトをご参考ください。)

新しい日本語エクステンションは、私もまだ本番環境での作り込みを行なっておりません。
今後、もしまたなにか注意点が分かりましたら、当記事にて追加更新をしたいと思います。

Magento2のアップデート方法(動画の解説)

By |2019-01-19T14:16:11+09:002018年7月18日|Categories: Magentoの設定, Magentoバージョン|Tags: , , |

動画:Magento2.2.2 → 2.2.5へ Composerでアップデート

Magentoのアップデート全般については、Magento2アップデートをご参照ください。
また、アップデート前には、必ずバックアップをとるようにしてください。

1. Magento2のマイナーアップデートについて

先日2018年6月末にMagento2.2.5がリリースされたので、一週間ほどの検討後、2.2.3から2.2.5へのアップデートを行いました。
前バージョンの2.2.4はネットでの評判が良くなかったので、事実上スキップしました。2.2.5では、2.2.4で投入されたバグの大部分が修正されているようです。

私がMagento1からMagento2へ移行したのは、2017年の末、Magento2.2.1バージョンの時で、以後、2.2.1 → 2.2.2 → 2.2.3 → 2.2.5 とアップデートをしてきました。このように、2.2.x の x の部分の数字でのアップデートを、一般的に、Magento2の「マイナーアップデート」と呼びます。上の動画では、Composerを使い、Magento2.2.2から2.2.5へマイナーアップデートをしています。

基本的に最新バージョンを使うべきと思ってはいますが、実際のライブ環境でアップデートを実行すべきかどうかは、導入しているテーマやエクステンションの対応状況を見て、また、そのバージョンの評判なども念入りにチェックし、自分なりのタイミングを慎重に探るべきと考えています。
セキュリティ的には最新バージョンのリスクが一番小さいのかもしれませんが、アップデートの作業そのものに決して小さくはないリスクがあるので、そのバランスの見極めが大切になります。一般論ではなく、各自、自分のサイトの現実的な事情から最適な判断をしていく必要があるのだろうと思います。

2. Magento2アップデートのコマンド一覧

前置きが長くなりましたが、以下、ComposerによるMagento2のアップデート動画で入力したコマンドの一覧です。
コマンドは、すべてMagento2のルートディレクトリ(Magento2のインストールされている階層)で実行します。動画では、cd public_html/demo とMagento2のルートに移動しています。ご自身の環境により、ファイルパスは置き換えてください。

バージョン確認
php bin/magento --version

メンテナンスモードへ
php bin/magento maintenance:enable

Composerインストール(必要な場合)
curl -sS https://getcomposer.org/installer | php
php composer.phar

Magentoのキャッシュクリアと既存の生成ファイル削除
php bin/magento cache:clean
php bin/magento cache:flush
rm -rf pub/static/*
rm -rf var/di/* var/generation/* var/cache/* var/log/* var/page_cache/* var/view_preprocessed/pub/*
rm -rf generated/code/* generated/metadata/*

Composerのキャッシュクリア
php composer.phar clear-cache

Magentoアップデート
php composer.phar require magento/product-community-edition 2.2.5 --no-update
php composer.phar update
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento indexer:reindex
php bin/magento cache:clean
php bin/magento cache:flush

メンテナンスモード解除
php bin/magento maintenance:disable

上記コマンドは、冒頭がすべて php になっています。
しかし、動画では、php71 と入力しています。これは動画内の作業環境のデフォルトのphpがphp5.6バージョンなので、別にphp7.1のバイナリを指定しているためです。通常の共用サーバーでは、php のみのコマンドが一般的なので、この解説記事でも便宜的に php で表記しております。例えば、php71 bin/magento --version は、php bin/magento --version になります。
また、VPSやクラウドなどroot権限のある環境では、php ではなく、sudo コマンドの使用が一般的です。例えば、php bin/magento --version は、sudo bin/magento --version となります。さらに、同環境でComposerをグローバルにインストールしている場合、例えば、php composer.phar update は、sudo composer update となります。
コマンドの冒頭は、ご自身の環境により適宜読み替え/置き換えてください。ご不明な点は、先ずはお使いのサーバー会社にお問い合わせされることをおすすめいたします。

尚、コマンド作業がはじめての方は、先ずは「SSHアクセス」や「PuTTY 使い方」「ターミナル 使い方」などのワードで検索をし、コマンドラインの基本をおさえてください。日本語で検索して、わかりやすいサイトがたくさんヒットします。

それでは、各コマンドについて簡単な説明をいたします。

バージョン確認
php bin/magento --version
これは、文字通りMagento2のバージョンを確認するためのコマンドです。ご自身のMagento2のバージョンを確認するためには、Magento2の管理画面の右下にバージョン数が表示されているので、それを見ると分かります。ですので、アップデートのために、あえてこのコマンドを実行する必要はありません。今回はこの動画のために、アップデートの前後に確認の意味で実行しています。

メンテナンスモードへ
php bin/magento maintenance:enable
このコマンドで、Magento2をメンテナンスモードに切り替えることができます。ユーザーからのサイトへのアクセスは遮断されるので、本番環境の場合は事前にアナウンスをしておいてください。

Composerインストール(必要な場合)
curl -sS https://getcomposer.org/installer | php
php composer.phar
Composerが入っていない場合、このコマンドでComposerを新しくインストールしてください。Composerの有無については、次節の説明をご参照ください。
尚、二つ目のコマンドはインストールが正しくされたかどうかを確認するためのものなので、必ずしも必要なわけではありません。

Magentoのキャッシュクリアと既存の生成ファイル削除
php bin/magento cache:clean
php bin/magento cache:flush
rm -rf pub/static/*
rm -rf var/di/* var/generation/* var/cache/* var/log/* var/page_cache/* var/view_preprocessed/pub/*
rm -rf generated/code/* generated/metadata/*
上の二つのコマンドでMagento2のキャッシュをクリアします。また、rm ではじまるコマンドで、Magento2の pub/static var generated 以下のフォルダ内ファイルをすべて削除します。これにより、Magento2が生成している既存ファイルが消えるので、アップデート後に新しいファイルが自動生成されても、エラーとなりません。

Composerのキャッシュクリア
php composer.phar clear-cache
これは、すでにComposerの導入されている環境でMagento2をアップデートする際に必要となるコマンドです。Composerのキャッシュがサーバーに保存されていると、ダウンロード/インストールが正常に行われないケースが稀にあるので、念のため事前にキャッシュをクリアにしておきます。
このアップデート時にはじめてComposerをインストールする場合は、このComposerのキャッシュクリアは特に必要ではないので、とばしていただいても構いません。

Magentoアップデート
php composer.phar require magento/product-community-edition 2.2.5 --no-update
php composer.phar update
この二つのコマンドが、今回のアップデート動画のキモになります。
一つ目のコマンドで、composer.json ファイル内のMagento2のバージョン情報を、2.2.5 へ書き替えています。他のバージョンへのアップデートの際には、この数字を置き換えてください。--no-update というオプションは、文字通り「アップデートはしない」という意味で、アップデートのためのコマンドなのにアップデートしないようにさせているのは不思議なのですが、おそらく、ここで一息にMagentoをアップデートはさせず、つづく次のコマンドで、Composerで管理している他のライブラリと同時にアップデートをさせているのだろう、と私は理解しています。
動画で見ていただけるように、php composer.phar update のコマンド後に、新しいバージョンのライブラリが、vendor フォルダ以下にダウンロード/インストールされます。環境によってはダウンロードが開始するまで時間がかかることもありますので、そのままじっと待ってください。

php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento indexer:reindex
php bin/magento cache:clean
php bin/magento cache:flush
上記のコマンドで、Magentoのデータベースの更新、コンパイル、indexの更新、キャッシュクリアを行っています。この一連のコマンドは、アップデート時に限らず、新しくエクステンションをインストールしたり、テーマをインストールしたりする際にも使う、Magento2の定番コマンドです。

メンテナンスモード解除
php bin/magento maintenance:disable
最後に、上記コマンドでメンテナンスモードを解除してください。

3. Composerのインストールについて

Composerでアップデートをするので、Composerが必要になります。
Magento2本体をインストールした時、はじめからComposerでMagento2をインストールしていれば、その環境にはすでにComposerが入っています。しかし、cPanelから1クリックでMagentoインストールしていたり、Zipファイルから手作業でインストールしていたりする場合は、アップデート前にComposerをインストールする必要があります。
今回の動画では、Composerのない環境でのアップデートを前提にしていますので、動画内でComposerのインストールも行っています。

共用サーバーをお使いで、ご自身の環境にComposerが入っているかどうか分からないという方は、FilezillaやFile Managerで、Magento2のルートからMagentoのファイル群をざっと見てください。
以下の画像のように、composer.json と composer.lock のファイルがあるのに、composer.phar というファイルが見当たらないのなら、その環境にComposerはインストールされていません。Composerがインストールされていなくても、composer.json と composer.lock の二つのファイルは(Magento2の本体ファイルに同梱されているので)元々存在します。Composerのインストールの有無は、composer.phar というファイルの有無でチェックしてください。

また、root権限のあるVPS等で、Compserがグローバルにインストールされているかどうかは、composer -v のコマンドで確認することができます。Composerがインストールされている環境であれば、Composerのバージョン情報が表示されます。

Composerインストール

4. Magento2のパーミッションについて

もう一点、アップデート前に確認しておくのは、パーミッションの設定です。
共用サーバーでMagento2をインストールしている際には、適切なパーミッションに自動で設定されているのが一般的ですが、VPSやクラウド環境では、ご自身でパーミッションを再確認する必要があります。
Magento2のパーミッションについては、公式ドキュメントFile systems access permissionsを見るのが一番信頼性が高いのですが、曖昧模糊とした表現で、これだけでは余計に混乱してしまうかもしれません。
具体的にどう設定すべきかについては、フォーラムサイトMagento 2 folder/file permissionsで論じられていますので、各自の環境にあわせてご参照ください。

ちなみに、パーミッションの設定が原因でアップデートに失敗すると、本来ダウンロード/インストールされるべきファイルがごっそり消失してしまうという事態に直面します。bin/magento のファイルも消えてしまうケースもあり、Magento2のすべてのコマンドが効かなくなります。つまり、サイトが壊れます。
この場合、応急処置としては、bin/magento ファイルをMagento2のオリジナルファイル群からコピー&アップロードをして、chmodコマンドで実行権限を与え、とりあえずコマンドラインだけは機能するように復旧します。その後、Magento2をいったん元のバージョンにダウングレードをして、すべてのフォルダ/ファイルを復活させます。そしてパーミッションの再チェックを行い、Composerのキャッシュをクリアします。
元のバージョンに戻すためには、ちょうどアップデートのコマンド php composer.phar require magento/product-community-edition 2.2.5 --no-update の部分のバージョン数を元のバージョン数 (例 2.2.2)に置き換えて実行してください。
道に迷ったら迷った地点まで戻るのが鉄則ですが、アップデートのトラブル時にも元に戻すのが王道になります。ただ、元に戻そうにも戻らないという状況もあり得ますので、そのような事態も想定し、バックアップは必ずとっておくようにしてください。

5. Magento2のモードについて

本番環境でMagento2がproductionモードになっている場合は、Magento2のアップデート前に、developerモードに変更をしてください。(*)
流れとしては、メンテナンスモードにした後、php bin/magento deploy:mode:set developer とdeveloperモード変更のコマンドを入力してください。そして、アップデート終了後(メンテナンスモード解除後)に、再度、php bin/magento deploy:mode:set production とproductionモードに戻してください。
Magento2のモードについては、Magento2のモード変換の記事をご参考にしてください。

(*)万一アップデートでエラーが発生すると、developerモードの場合、そのエラーメッセージがブラウザに表示されてしまうので、事前にテスト環境でアップデートが問題なくできることを確認してください。基本的にはdeveloperモードでのアップデートが推奨されますが、本番環境においては、念のためにproductionモードのままアップデートをしてもいいかもしれません。

Magento2アップデート

Magento2アップデート

Magento2の三つのアップデート方法、マイナーアップデートとメジャーアップデートの違い、アップデート前の準備や注意事項など、Magento2のアップデート全般について説明しています。

Magento2アップデート