共用サーバー上の Drupal 10.6.1 で、Backup and Migrate によるバックアップと Automatic Updates によるモジュール・コアの自動更新を設定した手順をまとめる。

現状確認

管理画面の「レポート > サイトの状態」を確認すると、3つの警告が出ていた。

  • Drupal コアの更新状況:期限切れ(バージョン 10.6.3 が入手可能)
  • PHP APCu available caching:メモリ使用量が75%超え
  • モジュールとテーマの更新状況:期限切れ

「レポート > 利用可能なアップデート」を見ると、以下のモジュールに更新があった。

  • Consumers 8.x-1.22
  • Geofield 8.x-1.66
  • Geofield Map 11.1.1
  • Leaflet 10.3.11

Backup and Migrate のインストール

更新作業の前に、まずバックアップ手段を用意する。

composer.pharrequire'drupal/backup_migrate:^5.1'
vendor/bin/drushenbackup_migrate
vendor/bin/drushcr

インストール後、「管理 > 環境設定 > 開発 > バックアップと移動」からクイックバックアップが実行できるようになる。バックアップ元に「デフォルト Drupal データベース」、バックアップ保存先に「ダウンロード」を選択して「今すぐバックアップ」を押すと、データベースのバックアップファイルがダウンロードされる。

Automatic Updates のインストール

Automatic Updates モジュールを使うと、管理画面からモジュールやコアのアップデートが行える。

composer.pharrequire'drupal/automatic_updates:^3.1'
vveennddoorr//bbiinn//ddrruusshheennaauuttoommaattiicc__uuppddaatteess_extensions

Composer パスの設定

有効化直後、Automatic Updates の画面にエラーが表示された。

The composer executable cannot be found. Make sure it’s installed and in the $PATH

共用サーバーでは Composer がシステムの PATH に入っていないため、settings.php で明示的にパスを指定する必要がある。

#vismetstiitnegss.dpehfpault/settings.php

以下を追記する。

$$csoeAntufttiiognm[ga'stp[ia'ccpkaUacpgkdeaa_gtmeea_snmaa/gneaPrga.ecsrke_atcgtoeimnpMgoassn'ea]rg[_e'preaxtehc'Cu]otma=pbolse/espr'a]t[h'/ctoom/pcoosmepro's]er=.ph/apra't;h/to/composer.phar';

composer.phar に実行権限がない場合は付与しておく。

chmod+x/path/to/composer.phar

設定後、キャッシュをクリアする。

vendor/bin/drushcr

Drupal コアの更新

まずコアを更新する。「レポート > 利用可能なアップデート > 更新」タブに移動すると、コアの更新画面が表示される。現在 10.6.1 がインストールされており、10.6.3 へのアップデートが利用可能。

「Update to 10.6.3」ボタンを押すと、アップデートのダウンロードが開始される。

ダウンロード完了後、「アップデート準備完了」画面に遷移する。「Drupal core will be updated to 10.6.3」と表示されるので、「メンテナンスモードでアップデートを実行」にチェックが入っていることを確認し、「継続」ボタンを押す。

更新の適用が始まる。

完了すると「Update complete!」のステータスメッセージが表示される。Drupal core が 10.6.3 に更新された。

更新はメンテナンスモードで実行されるため、完了後は「オンラインにする」リンクからメンテナンスモードを解除する。「管理 > 環境設定 > 開発 > メンテナンスモード」画面で「サイトをメンテナンスモードにする」のチェックを外し、「構成を保存」を押す。

拡張モジュールの更新

コアの更新が完了したら、「管理 > 拡張 > Update Extensions」タブを開く。更新可能なモジュールが一覧で表示される。

  • Geofield 8.x-1.66
  • Geofield Map 11.1.1
  • Leaflet 10.3.11

すべてのモジュールにチェックを入れて「更新」ボタンを押す。

「アップデート準備完了」画面に遷移する。更新対象の内容を確認する。

  • Geofield 1.56.0 → 1.67.0
  • Geofield Map 3.0.14 → 11.1.4
  • Leaflet 10.2.3 → 10.4.2

「メンテナンスモードでアップデートを実行」にチェックを入れて「継続」を押す。

コアの更新時と同様に、完了後はメンテナンスモードを解除する。

注意 : コアと拡張モジュールの同時更新はサポートされていない。必ず先にコアを更新してから拡張モジュールを更新すること。

更新完了の確認

すべての更新が完了したら、「レポート > サイトの状態」を確認する。警告が解消され、「31 確認済み」と表示されていれば成功。

まとめ

  1. Backup and Migrate でバックアップを取得する
  2. Automatic Updates モジュールをインストールし、settings.php で Composer パスを設定する
  3. 先にコアを更新 してから、拡張モジュールを更新 する
  4. 共用サーバーでは Composer の PATH が通っていないことが多いので、settings.php での明示的なパス指定が必要