さくらのレンタルサーバーでDrupal 10.1.5から10.6.1へアップデートした際の手順をまとめます。

環境

  • サーバー:さくらのレンタルサーバー
  • Drupal:10.1.5 → 10.6.1
  • インストール形式:従来型(tarball、web/ディレクトリなし)

事前準備

作業用ディレクトリの作成

バックアップは www 外に保存します(Webからアクセスできないようにするため)。

mkdir-p/home/[]/backups/drupal

ファイルのバックアップ

ctdar/h-ocmze/f[/home][www]/backups/drupal/drupal_backup_$(date+%Y%m%d).tar.gz[drupal]/

データベースのバックアップ

さくらのレンタルサーバーでは --no-tablespaces オプションが必要です。

cd/ehnodmoer//[bin/dr]u/swhwws/q[ld-rduupmapl-extr]a-dump="--no-tablespaces">/home/[]/backups/drupal/db_backup_$(date+%Y%m%d).sql

Drupalコアのアップデート

権限の変更

sites/default ディレクトリは書き込み禁止になっていることが多いため、一時的に変更します。

cchhmmoodd765454//hhoommee//[[]]//wwwwww//[[ddrruuppaall]]//ssiitteess//ddeeffaauulltt/default.services.yml

Composerでアップデート

さくらのレンタルサーバーでは composer コマンドが使えないため、composer.phar を使用します。

cpdhp/hcoommep/o[ser.ph]a/rwwrwe/q[udirruepadlrupal/c]ore-recommended:^10drupal/core-composer-scaffold:^10-update-with-dependencies

データベース更新とキャッシュクリア

veennddoorr//bbiinn//ddrruusshhucpadcahtee:drbeb-uyild

権限を戻す

cchhmmoodd545454//hhoommee//[[]]//wwwwww//[[ddrruuppaall]]//ssiitteess//ddeeffaauulltt/settings.php

トラブルシューティング

Rulesモジュールの互換性エラー

アップデート後に以下のようなエラーが出る場合:

The"entity_bundle:node"plugindoesnotexist.

Rulesモジュールが新しいDrupalコアと互換性がない可能性があります。一時的に無効化します:

veennddoorr//bbiinn//ddrruusshhpcma:cuhnei:nrsetbaulilldrules-y

推奨設定

trusted_host_patterns の設定

settings.php に以下を追加します:

ce\]chc$;hmhs"mooe^^odtewd"txw6iaw44nm44gph4sl./[eem/h'\xehota/omr.m[meujpe/spl/[te[e$d'_,.]hj/opw]s\w]/t$w/w_'/wwp,[wwadw/tr/[tu[depdrrarunlupspa'al]l=[]/s]i]/t/sesisit/tedeses/f/dadeueflfatau/ulsltet/t/stseietnttgtisin.ngpgshs.p.pphhpp

state_cache の有効化

Drupal 11に向けた準備として、settings.php に追加:

ctdar/h-ocmze/f[/home][www]/backups/drupal/drupal_backup_$(date+%Y%m%d).tar.gz[drupal]/

0

非推奨モジュールの無効化

Drupal 11で削除予定のモジュールを無効化しておきます:

ctdar/h-ocmze/f[/home][www]/backups/drupal/drupal_backup_$(date+%Y%m%d).tar.gz[drupal]/

1

モジュールのアップデート

Composer管理のDrupalでは、管理画面からではなくComposer経由で更新します。

ctdar/h-ocmze/f[/home][www]/backups/drupal/drupal_backup_$(date+%Y%m%d).tar.gz[drupal]/

2

補足:Drupalの構成タイプについて

Drupalには2種類の構成があります。

構成特徴シンボリックリンク分離
従来型(tarball)ルート直下に index.php がある効果なし
Composer推奨型web/ ディレクトリがある有効

従来型の場合、vendor/composer.json がWebからアクセス可能になるため、.htaccess での保護が重要です。

まとめ

  1. 必ずバックアップを取る (ファイルとデータベース)
  2. Composer経由でアップデート (管理画面からは行わない)
  3. 権限の一時変更 を忘れずに
  4. drush updatedb と cache:rebuild を実行
  5. 互換性のないモジュール は一時的に無効化