なんでも屋さんのTIPSという名のブログ

VOMiBLOG

CMS Drupal 初心者向け

【Drupal8】Drupal Coreを手動アップデートする。

更新日:

公式ドキュメンテーションページ

初めに。
英語読める人はこの記事を見る前に↑見た方が早いかもしれないです!
良く分からなかった・不安な方は以下お付き合いください。

サイト見たらアップデートの通知来てた

自動では更新してくれません。

最近別のものを触っていたのでバージョン8.7.1→8.7.3のアップデートになりますね

WordPressみたいに自動でアップデートしてくれたら楽なんですけど、
まだその機能はないです。(早く進化して欲しいです…)

公式ドキュメンテーションによるとDrupalCoreのアップデート方法は

・手動(初心者・中級者向け)

・Drush使用(上級者向け)

・ Composer使用(上級者向け)

の三種があるようですが、僕の環境ではDrushとComposerが入っていない為、今回は手動で行います。
ファイル操作はシェルではなくFTPクライアントを使用します。

大体公式の手順通りに進めていきますb

※ちなみにサーバはさくらのレンタルサーバを使用しております。ほかのサーバやOSだと若干異なったりする可能性もあるので悪しからず…

■アップデート手順

1.環境設定→開発→パフォーマンスでキャッシュをクリアする

drushがある場合はdrushからでも消せます

2.DrupalファイルとDrupalが使用しているデータベースのバックアップを取る

新しいファイル入れてからupdate.phpをたたくとデータベースも更新されるので、Drupalファイルだけ入れなおしても動かなくなります。両方ともバックアップを取っておくのが吉です。
一度やらかした人間が言っているので間違いない

.htaccesscomposer.jsonrobots.txtなどを変更していた場合は、
そちらもバックアップを取りましょう(今回僕は行いません)。

3.管理者権限(「ソフトウェアアップデートの管理」実行権限)を持つユーザでDrupalサイトにログインする

update.phpにアクセスする為。ログインし忘れても設定いじってアクセスする方法があった気がするけど今回は割愛します。

4.環境設定→開発→メンテナスモードでDrupalサイトをメンテナンスモードにする

開発中で特に公開していなかったりするなら不要ですがサイトを公開している場合は
訪問を防ぐため必ず行いましょう。

5.テーマをデフォルトに戻す

公式には書いていませんが変にバグったら怖いのでいつもデフォルト化してます。

不安な方はカスタムモジュールもアンインストールしておきましょう!

6.coreディレクトリ・vendorディレクトリ・drupal直下のファイルをすべて削除する

coreディレクトリ・vendorディレクトリ・drupal直下のファイル(index.phpなど)を
すべて削除します。

FTPクライアント(WinSCPなど)で削除する場合

1.Drupalディレクトリに移動する。
2.coreディレクトリ・vendorディレクトリ・drupal直下のファイルを全て選択する。
3.削除!

こうなってたらOK

シェルで消去する場合(公式引用)

Navigate into your Drupal installation.
cd /path/to/your/drupal/directory
Remove the 'core' and 'vendor' directories.
rm -rf core vendor
Remove all of the files in the top-level directory.
rm -f *.* .[a-z]*

https://www.drupal.org/docs/8/update/update-core-manually

引用英語を簡単に訳すと
1.Drupalのディレクトリに移動する。
2. core'ディレクトリと 'vendor'ディレクトリ を削除する。
3.最上位ディレクトリのファイルをすべて削除する。
って書いてあります

アップデート時にdefault.settings.phpの更新が含まれる場合はsetting.phpの上書き・更新作業が必要になります。
今回リリースノートを確認したところありませんでしたので行いません。
主にもう一度書かないといけなくなるのはDB情報とtrusted host情報部分になりますかね。

7.新しいDrupalをダウンロード・解凍して移動する

FTPクライアントで行う場合

1.ルート外ディレクトリに新しいDrupalをダウンロードする。
 今回はローカルに落としてドラッグアンドドロップで済ませました。
2.サーバのzipまたはtar.gzを解凍する。
3.先ほど消したもの( coreディレクトリ・vendorディレクトリ・drupal直下のファイル )を
全てDrupalインストールディレクトリに移動する。

シェルで行う場合(公式引用)

On a typical Unix/Linux command line, use the following commands to download and extract:
wget https://ftp.drupal.org/files/projects/drupal-x.y.z.tar.gz tar zxf drupal-x.y.z.tar.gz
This command above created a new directory drupal-x.y.z/ containing all Drupal files and directories. Enter the new directory, and copy the 'core' and 'vendor' directory and the files in the top-level directory into your Drupal installation directory:
cd drupal-x.y.z cp -R core vendor /path/to/your/drupal/directory cp *.* .[a-z]* /path/to/your/drupal/directory

https://www.drupal.org/docs/8/update/update-core-manually

引用英語を簡単に訳すと
1.一般的な Unix/Linux コマンドラインではこのコマンドでDLできる。(x.y.zは最新版の値に置き換えてください)
2.1のコマンドで新しいDrupal-x.y.zフォルダが作成されたので、新しいフォルダにディレクトリを移動し、'core'ディレクトリと'vendor'ディレクトリ、および最上位ディレクトリのファイルをDrupalインストールディレクトリにコピーする 。
って書いてあります

※2の過程で .htaccesscomposer.jsonrobots.txt 等のバックアップを取っていた(変更していた)場合、新規ファイルの移動完了後に変更を加えましょう。

8. update.phpを実行する

いよいよ成功しているか確かめる時が…(笑)
http://www.example.com/update.php にアクセスします。

↑「www.example.com」はご自身のDrupalサイトのアドレスに置き換えてください。

この画面が出るはず

上の図通りの画面が出たら継続をクリックしてしばらく待ちましょう。

…なん…だと………!?
今回Drupalデータベースの更新はなかったようです。(初めて見た)(リリースノートちゃんと読め?)

拍子抜けでしたが管理画面→レポート→利用可能なアップデートを確認して入れた
Drupalバージョンと合致していればバージョンアップは成功しています。

テーマやモジュールをインストール・有効化しなおして異常がなければ完璧。

初めてCoreアップデートした時ちゃんと公式見ながらやったはずなのですが、
何故か失敗したので(主に自分用に)手順書作りたかったのです。
この手順通りにやればちゃんと成功する…はずです。

もし何らかの要因で失敗してしまった場合は焦らずバックアップで戻しましょう。

終わり

最後まで見てくださった方ゆるいのに付き合ってくれてありがとう、アップデートお疲れ様です。
もしわからない部分があったら遠慮なくコメントとかTwitterのDMとかにお願いします。
DBアップデートがあるときでもこの手順で大丈夫かはそのうち確かめます。

Drupalの難点は英語圏の情報は割と豊富だけど日本語圏の情報が殆ど無いことだと思います。(自分も学習するのかなり辛かったというか、現在進行形で苦難しています)
英検2級なめんな!とかとても言えないレベルに酷い
ちまちま記事書いていけたらいいですね…

-CMS, Drupal, 初心者向け

Copyright© VOMiBLOG , 2019 All Rights Reserved.