こちらのサイトではDRUPAL10に関連する記事を掲載しています。
はじめに
Drupalのセキュリティパッチは頻繁にアップデートされていますので、公開されているサイトは常に最新版にしておく必要があります。ここでは、バックエンド側で実施する手順を説明しています。
ちなみにDrupal9以降のリリースサイクルは次のとおりです。
- 毎月パッチリリース日程を固定して、バグフィックスを提供
- 6ヶ月ごとに新しいマイナーバージョンがリリースされる。これにはAPIの変更や新機能が含まれることがある
- 各マイナーアップデートに対するセキュリティアップデートは、次のマイナーバージョンがリリースされた後も6ヶ月間提供される(つまりコミュニティによる各マイナーアップデートのサポートは合計1年)
Drupalのバージョン確認
Drupalのバージョン確認の方法は、いくつかありますがここでは管理画面からGUIで確認する方法を紹介します。
1.管理者権限でログインする
2.メニューバーから、Reportsを選択する
3.Status reportを選択する(下図イメージ1)
4.Drupal VersionブロックのDrupalバージョンを確認する(下図イメージ2)
Drupal10のバックアップ
Drupalのバックアップはデータベースのバックアップとファイルのバックアップの両方を同じタイミングで実施する必要があります。
データベースのバックアップ
MYSQLの場合、mysqldumpコマンドを使ってバックアップする方法もありますが、ここではDRUSHのデータベースエクスポートコマンドを使用します。
drush sql:dump > {バックアップファイルパス}
lando 環境の場合は以下のコマンドになります
lando drush sql:dump > {バックアップファイルパス}
ファイルのバックアップ
ファイルはドキュメントルート(webフォルダ)をすべて圧縮してバックアップします
ここではTARコマンドを使用します
tar cvzf {バックアップファイルパス} ./web
Drupal10のバージョンアップ
Drupal10のコアモジュールのバージョンアップは、次の3つの方法があります。
- Composerでおこなう
- マニュアルでおこなう
- Drushでおこなう
ComposerでDrupalをアップデートする場合
DrupalがComposerのdrupal/core-recomendedコマンドでインストールされている場合は、プロジェクトフォルダで以下のコマンドをタイプしてください。
パッケージの一覧が表示されるはずです。
composer show drupal/core-recommended
次に、念のため、実際のアップデートする前に--dry-run
オプションでエラーが出ないことを確認してください。
composer update "drupal/core-*" --with-all-dependencies --dry-run
エラーが表示されていなければ、コマンドでアップロードを実施します
composer update "drupal/core-*" --with-all-dependencies
詳細は、Composer以外のアップロード手順についてはこちらのサイトをご覧ください
Drupalコアのアップデートが成功したら、コントリビュートモジュールのアップデートを実施します。
個別に指定するのは面倒なのでコントリビュートモジュールのアップデートは以下のコマンドで一気にに行い、エラーが発生した場合は個別に確認してエラー箇所を対応後にサイドコマンドを実施してください。(個々のエラー対応方法はdrupal.orgを確認するかググって調べましょう)
composer update
Add passwordless login to your app in minutes. Passkeys, 2FA, Social Logins, & more. Start for free.ads via Carbon
広告は DA を支えます。 会員向けには広告が非表示になります。 今日参加します
このページでは
- 利用可能な Drupal アップデートをリストする
- プロジェクトが drupal/core-recommended または drupal/core を使用しているかどうかを確認する
- Drupal コアコードを更新する
- コアの最新パッチバージョンに更新します
- 特定のバージョンのコアに更新する
- 特定のバージョンのコアからの固定解除
- データベースの更新を実行する
- 実稼働環境を更新します (該当する場合)
- 詳しいアップデート手順
- 既知の問題と回避策
- 問題: コンポーザーには drupal/core が更新されたと表示されるが、ステータス レポートには更新されたバージョンが表示されない
- 問題: drupal/core が Composer アップデートで更新されない
Drupal の更新
- オプションの概要
- Composer 経由でコアを更新する
- コアを手動で更新する
- Drush 経由でコアを更新する
- モジュールを更新する
- Drupal 8.8.0 より前の Composer プロジェクトを移行する
- データベース更新のトラブルシューティング
- データベース更新の既知の問題と回避策
- 重要なセキュリティ更新勧告への対応
- 自動更新
- Drupal のアップデートとデプロイメント
Composer 経由で Drupal コアを更新する
最終 更新日
2023 年 3 月 31 日
このセクションでは、Drupal サイトを新しいパッチまたはマイナー バージョンに更新するコンポーザー固有の手順のみを説明します。 更新手順の詳細については、次のセクションで説明します。 場合は アップグレードする Drupal を新しいメジャー バージョンに 、 「Drupal 8 (またはそれ以降) から新しいメジャー バージョンへのアップグレード」を参照してください。
Composer が Drupal の依存関係を管理する方法を理解するには、 「Using Composer with Drupal」を参照し、 利用可能なオプションを比較してください。 いることを確認してください これが既存の Drupal サイトで、これまで Composer を使用したことがない場合は、最初にComposer の準備ができて。
- 8.8.0 より前の Drupal バージョンから更新する場合は、一度限りの変更を行う必要がある可能性があります。 ガイドに従ってください Drupal 8.8.0 より前の Drupal 用の Composer プロジェクトの移行。
- ガイドに従って変換する必要があります Drupal を Composer 経由でインストールしておらず、まだ Composer 管理プロジェクトに変換されていない場合は、 「既存サイトへの Composer の追加」。
利用可能な Drupal アップデートをリストする
composer outdated "drupal/*"
で始まる行がない場合は、 drupal/core
, Composer はアップデートを認識していません。 更新がある場合は、以下のコマンドを続行します。
プロジェクトが使用しているかどうかを確認します drupal/core-recommendedまたは drupal/core
走る:
composer show drupal/core-recommended
- もし
drupal/core-recommended
が インストールされている場合、このコマンドはパッケージに関する情報を返します。 - もし
drupal/core-recommended
が インストールされていない場合、このコマンドは「パッケージ drupal/core-recommended not found」を返します。
2 つの違いは、drupal/core-recommend では、安定性を最大限に高めるために、ほとんどの依存関係がパッチレベルの更新に制限されることです。 drupal/core
これは、依存関係の最新のマイナー バージョンを使用し、それらが適切に動作するかどうかのテストを行う場合に便利です。 詳細については、 README を参照してください。
Drupal コアコードを更新する
使用している場合 drupal/core-recommended
:
composer update "drupal/core-*" --with-all-dependencies
注: 一部のシェル (zsh、fish など) では、 アスタリスクパッケージのワイルドカードの 処理が異なるため、引用符で囲む必要があります。
使用していない場合 drupal/core-recommended
しかしその代わりにだけ drupal/core
:
composer update drupal/core --with-dependencies
実際には何も変更せずに更新をシミュレートし、何が起こるかを示すには、次を追加します --dry-run
.
コアの最新パッチバージョンに更新します
サイトを最新のパッチ バージョンに更新するが、最新のマイナー バージョンには更新しない場合は、次を追加します --with=
それぞれのオプション drupal/core-*
にリストされている依存関係 composer.json
.
たとえば、9.4 が現在のマイナー バージョンで、サイトを最新のパッチ バージョン 9.3 に更新する場合は、次のようにします。
composer update "drupal/core-*" --with-all-dependencies --with=drupal/core-recommended:~9.3.0 --with=drupal/core-composer-scaffold:~9.3.0
この例では、次のことを前提としています。 drupal/core-recommended
そして drupal/core-composer-scaffold
唯一の Drupal コア依存関係 composer.json
.
特定のバージョンのコアに更新する
一般に、特定のバージョンに固定することがわかっている場合を除き、更新時に Drupal コアの特定のバージョンを指定しないことをお勧めします。 サイトを特定のバージョンに固定したい場合は、次の例を使用できます。
サイトをバージョン 9.3.6 に固定し、それに応じてすべての依存関係を更新するには:
composer require drupal/core-recommended:9.3.6 drupal/core-composer-scaffold:9.3.6 drupal/core-project-message:9.3.6 --update-with-all-dependencies
警告: サイトを特定のコア バージョンに固定すると、そのバージョンがロック ファイルに追加され、今後の更新はこのバージョンを超えることはありません。 以下に指定されているように require コマンドを再実行して、コアの「固定されていない」バージョンに戻ります。
特定のバージョンのコアからの固定解除
Drupal コアの固定バージョンを実行していて、サイトを別のバージョンに更新したい場合は、2 つの選択肢があります。
- 上記のcomposer requireコマンドを実行して、コアの新しい固定バージョンを指定できます。
- コア バージョンの固定を解除し、Drupal の最新バージョンに更新できます。
Drupal のバージョンの固定を解除するには、次のコマンドを実行します。
composer require drupal/core-recommended drupal/core-composer-scaffold drupal/core-project-message --update-with-all-dependencies
データベースの更新を実行する
Web ベースでデータベースの更新をすることができますが、 Drush が実行できる環境がある場合は、こちらのほうが速くて簡単です。
Drushを使用する場合は以下のコマンドで完了します。
drush updatedb
WEBベースの場合は、画面から「データベースのアップデートスクリプト」リンクをクリックすると、データベースの更新ページに移動します。ここで指示に従って進めていくと更新が完了します
最後に次のコマンドでキャッシュのクリアとリビルドは忘れずに。
drush cr
Composer以外でアップデートする場合
詳細またはComposer以外のアップロード手順についてはこちらのサイトをご覧ください
マニュアルでアップデートする場合
Drushでアップデートする場合
参考
Updating Drupal core via Composer
Drupal 9からDrupal10へのアップグレード方法
この記事またはDrupalに関するご質問がございましたら、お気軽にお問い合わせください。