🤖

さくらレンタルサーバ上のDrupalを更新する

2023/12/22に公開

概要

さくらレンタルサーバ上のDrupalを更新する機会がありましたので、手順のメモです。

まず、以下のサイトを参考にしました。

https://www.drupal.org/docs/updating-drupal/updating-drupal-core-via-drush

ただし、以下のような記載がありました。

Use Composer to manage Drupal dependencies. Drush 9 and newer no longer supports updating Drupal.

そこで、以下も参考にさせていただきました。

https://drupalfan.com/drupal10を最新版にアップデートする/

手順

Drupalをダウンロードしたディレクトリに移動

cd ~/www/{project_name}

準備(インストール済みの場合は不要)

composer

composer.pharというファイルしかない場合、composerを作成する。(mvでもよいかと思います。)

cp composer.phar composer

drush

composer require --dev drush/drush

メンテナンスモードの有効化

./vendor/bin/drush state-set system.maintenance_mode 1

キャッシュのクリア

./vendor/bin/drush cr

バックアップ

バックアップ用のディレクトリの作成

mkdir ~/bk

sqlのバックアップ

./vendor/bin/drush sql:dump --extra-dump=--no-tablespaces > ~/bk/dump.sql

参考

以下のように、--extra-dump=--no-tablespacesを指定しないと、エラーがメッセージが表示されました。

./vendor/bin/drush sql:dump > ~/bk/dump.sql
> mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces

ファイルのバックアップ

tar cvzf ~/bk/web.zip .

更新

事前確認

composer update "drupal/core-*" --with-all-dependencies --dry-run

更新

composer update "drupal/core-*" --with-all-dependencies

コントリビュートモジュールのアップデート

composer update

データベースの更新

./vendor/bin/drush updatedb

メンテナンスモードの無効化

./vendor/bin/drush state-set system.maintenance_mode 0

キャッシュのクリア

./vendor/bin/drush cr

更新後にキャッシュのクリアを行わないと、表示が崩れることがありました。

まとめ

間違った手順や不要な手順が含まれているかもしれませんが、参考になりましたら幸いです。

Discussion