wp-cliでWordPressのコアファイルのチェックを行う。

wp-cliを使えば、オリジナルファイルから変更が合った点を洗い出せます。

もちろん、わざと変更している場合も有るでしょうが、不正アクセスや、間違って操作して何かしてしまい、WordPressが壊れた場合にはコチラで修復出来る可能性があります。

wp-cliでチェックを行う。

wp-cliの入れ方は別途。すぐに使ってみたかったら、コチラ

コマンドはこのように。

$ wp checksum core --path="/var/www/html/public_html"

パスは通してあるならいりませんが、わからなければWordPressが置いてある所を指定してあげて下さい。
問題なければ以下の用に出力が。

Success: WordPress installation verifies against checksums.

wp-cliでチェックを行う。(失敗時)

問題があった場合のテスト。まずは大事なファイルをふっとばして見ます。

[@]# ls
index.php        wp-admin              wp-config.php      wp-includes        wp-mail.php       xmlrpc.php
license.txt      wp-blog-header.php    wp-config.php.bak  wp-links-opml.php  wp-settings.php
readme.html      wp-comments-post.php  wp-content         wp-load.php        wp-signup.php
wp-activate.php  wp-config-sample.php  wp-cron.php        wp-login.php       wp-trackback.php
[root@]# rm wp-login.php
rm: 通常ファイル `wp-login.php' を削除しますか? y
[@]# ls
index.php        wp-admin              wp-config.php      wp-includes        wp-settings.php
license.txt      wp-blog-header.php    wp-config.php.bak  wp-links-opml.php  wp-signup.php
readme.html      wp-comments-post.php  wp-content         wp-load.php        wp-trackback.php
wp-activate.php  wp-config-sample.php  wp-cron.php        wp-mail.php        xmlrpc.php

wp-login.phpを消してみました。

管理画面にアクセスしてみようとすると、こんな画面

The requested URL /wp-login.php was not found on this server.

まぁ消したのでね。そりゃね。

この状態で実行。

[@]# wp checksum core --path="/var/www/html/public_html"
Warning: File doesn't exist: wp-login.php
Error: WordPress installation doesn't verify against checksums.

しっかりと壊れたファイルを確認してくれることがわかります。

壊れたファイルを元に戻す。

壊れたファイルが確認できているのであれば、もとに戻す事もできます。

[@]# wp core download --force --path="/var/www/html/public_html"
Downloading WordPress 4.9.7 (en_US)...
md5 hash verified: hogehoge
Success: WordPress downloaded.
[@]# wp checksum core --path="/var/www/html/public_html"
Success: WordPress installation verifies against checksums.

これでもとに戻りました。ただ、もともとのファイルを戻すだけなので、改良を入れていた場合や、他のファイルを追加している場合には注意が必要です。

ちなみに、wp-cliはroot権限でやることはよろしくありません(読み込んだファイルでの実行で怖いことを起こさないため)

使うときはWordPress用のアカウントでね。