FTPが設定されておらず、SSHも特定IPからのみ特定のユーザー名で入れるだけという素敵なサーバで運用されているWordPressって、アップデートが死ぬほど面倒臭いですよね。
バックアップとって、DBのdumpをしておいて、プラグインを全部一旦無効化。その後アップデートファイルをアップして・・・ああもう、それだけで軽く萎える!というのは間違いないと思います。

最初はSSH経由でいこうかと思ったのですが、何かとサーバを設定しなきゃいけないことが多く、稼働中のサーバであまり触りたくないなあ・・・ということもあり、今回はWP−CLIを使って、コアとプラグインのアップデートを行いました!

これなら、バックアップさえきちんと取ってあればサクサクアップデートできますよ!

 

WP-CLIのインストール

非常にわかりやすいインストール方法の解説があったのでこちらで。

わーどぷれすっ! | WP-CLIの使い方: その壱 – インストールと簡単な使い方の例

http://wp.tekapo.com/how-to-use-wp-cli/how-to-use-wp-cli-install-and-example/

 

WP本体とデータベースのアップデート

以下は本体のバージョンを確認後、本体のアップデートを行い、再度バージョンを確認、最後にデータベースをアップデートする例です。

# wp core version --extra
  WordPress version: 3.8.1
  Database revision: 26691
  TinyMCE version: 3.59 (359-20131026)
  Updating to version 4.0.1 (ja)...
  https://downloads.wordpress.org/release/ja/wordpress-4.0.1.zip から更新をダウンロードしています...
  更新を展開しています…
  Success: WordPress updated successfully.
# wp core version --extra
  WordPress version: 4.0.1
  Database revision: 29630
  TinyMCE version: 4.104 (4104-20140822)
# wp core update-db
  Success: WordPress database upgraded successfully.

時間も全然かからず、あっと言う間に完了します。

 

プラグインのアップデート

プラグインのアップデートも簡単です。

まずはプラグインディレクトリにあるプラグインを確認します。

# wp plugin status
  23 installed plugins:
  UA akismet 2.5.9
  (以下略)

Uがついているものがアップデートのあるものなので、

# wp plugin update akismet

のように名前を指定するか、まとめて全部アップデートする場合は

# wp plugin update --all

のように打ち込めば、プラグインのアップデートが以下のようにはじまります!

メンテナンスモードを有効にします…
https://downloads.wordpress.org/plugin/akismet.3.0.3.zip から更新をダウンロードしています...
更新を展開しています…
最新のバージョンをインストールしています…
プラグインの古いバージョンを削除しています…
プラグインの更新に成功しました。

こんな感じで一気にアップデートされます。

サーバによっては、アップデートが大仕事になることもあるかと思います。

通常のホスティングサービスでは困ることはなかなかないのですが、FTPがない、あってもIP制限がかかっている、SSHはあっても、認証鍵などを別途設定しなくてはいけない、などなどの際は、WP−CLIでアップデートをコマンドラインから行うという選択もアリなのではないでしょうか。

常に最新版を維持することが、セキュリティの第一歩!

アップデートを忘れずに、安全なWPライフを!

本来の目的とはなんか違う気もしますが、これでいけるよ!というお話でした。