発表動画はこちら(wordpress.tv) >>>
これ知っていたら、バックアップ > プラグイン更新 > コア更新 という一連の流れについてわざわざ独自スクリプト作る必要なかったじゃんって感じですね。
以下前提として、WP-CLI の wpコマンドの最新版が入ってることを前提とします。
準備(パスワード確認をスルーして ssh接続)
ssh 経由でリモートの wp を実行することになるので、サイトが沢山あると一々 ssh ログインしていられません。ので、パスワード確認をスルーしないといけませんね!
MacOS Sierra では、
- $HOME/.ssh/config
ファイル(なければ作成)に
AddKeysToAgent yes
UseKeychain yes
を追加します。
これで ssh で一度でもログインできると(一度目はパスワード入力必要)、次回からパスワード不要になります。ノートPCのセキュリティが弱くて紛失するなどしてログイン状態で使われるとサーバーに容易にログインできちゃいますので、そのあたりは自己責任で。
この設定を消すとsshログインするたびにパスワード聞いてきます。
$HOME/.wp-cli/config.yml に設定
- WP-CLI 0.24 でリモートサーバーに対してコマンドを実行できるようになりましたよ!(https://firegoby.jp)
に詳しく説明されているので、それに沿って設定すればOK。
入れ子にも出来ますね。
@server1-1:
ssh: user@server1.example.com:22/hogege/wordpress1
@server1-2:
ssh: user@server1.example.com:22/hogege/wordpress2
@server1-3:
ssh: user@server1.example.com:22/hogege/wordpress3
@server2-1:
ssh: user@server2.example.com:22/hogege/wordpress1
@server3-1:
ssh: user@server3.example.com:22/hogege/wordpress1
@server3-2:
ssh: user@server3.example.com:22/hogege/wordpress2
@server1:
- @server1-1
- @server1-2
- @server1-3
@server2:
- @server2-1
@server3:
- @server3-1
- @server3-2
@alls
- @server1
- @server2
- @server3
とか。
wp @all core version
これ結構つかうと思います。
WordPress の現在利用中のバージョンを一括で表示できますしね。 設定したすべての WordPressのバージョン確認が一括でできます。
wp @all core version で全部のサーバーの設定が手元の端末からサーバーにログインすることなくできちゃうってことです。
エイリアスには @all があり、
wp @all core version なので全チェックをしてくれるみたいですが、入れ子も再度チェックされるようなので、@alls を作成してみたのでした。
wp @all plugin list
管理している WordPress のプラグインリストを確認するもので、これも多様すると思います。とりあえず、まずは一度走らせてみて下さい。プラグインリストが白紙なら、 wp-content/plugins のフォルダに対する READ権限がないということになります。たとえば、WordPress を管理するユーザーでないユーザー(WordPress側からみたら、otherのグループ権限に属する)が wpコマンドを叩いたらそうなります。
他にも何かエラーがでるかもしれません。ここでエラーがでるということは、正しく wp コマンドが使えないということになるので、原因を探しましょう。
WordPress のアップデート
WordPressのインストールされているサーバー上でエイリアスを利用するには、
@server4:
path: /hogege/wordpress1
だけでよく、いずれにしてもスライドにあるように
wp @all plugin update --all
wp @all core update
wp @all theme update --all
wp @all core language update
だけで更新自体はサーバーにログインせずに一気にできちゃいますね!
あとはバックアップだけです。
WordPress に BackWPUPプラグインが導入されていて、設定が1つでもされていれば
wp backwpup start --jobid=1
のjobid が WordPress ごとに異なる場合があるってことですね。
そこだけはスクリプトが必要かなと思います。
そこだけはスクリプトが必要かなと思います。
jobid は、BackWPUPプラグインの各ジョブ編集画面にいくと、URLの末尾あたりに &jobid=1& .. のように分かります。場合によってはジョブ番号の同じものを1つのグループに設定(config.yml)してあげると分かりやすいかもしれません。
全部 jobidが1なら、
wp @all backwpup start --jobid=1
wp @all plugin update --all
wp @all core update
wp @all theme update --all
wp @all core language update
でBackWPUPでプラグイン本体とデータベースをバックアップした上で、プラグイン更新、コア更新、テーマ更新、言語更新を一括でやっちゃえそうですね!
いずれにせよ自前端末でメンテナンスが必要な WordPress のバージョンやプラグインチェック、バックアップぐらいができると格段にメンテナンスしやすくなります。
WordPress の立ち上げまで簡単にできるよ
※ wb db create が成功するためには、 --dbuserで指定した DBユーザーが、 --dbnameで指定した DB名を作成できることが条件です。そのあたりは手動でしたければ、 wp db create は飛ばして、あらかじめ phpmyadmin 等でデータベースを作成しておいてください。
wp core download --locale=ja
wp core config --dbname=DB名 --dbuser=DBユーザー名 --dbpass=DBパスワード
wp db create
wp core install --url=サイトのURL --title=サイトのタイトル --admin_user=初期管理者ユーザー --admin_password="初期管理者ユーザーパスワード" --admin_email=初期管理者のメールアドレス
までが WordPress のインストールから設定(ログインできるまで)
wp plugin delete hello
wp plugin update --all
wp plugin install backwpup
wp plugin activate wp-multibyte-patch
wp plugin activate backwpup
wp core language update
あたりでhelloプラグインを削除し、一旦プラグイン更新し、backwpupプラグインをインストールし、wp-multibyte-patch(日本語版 WordPressには初期導入されてるはず)と、backwpup プラグインを有効化する。そしてそれらの言語アップデートがあるかもしれないので、アップデートする。
とまでざっくりですが出来ちゃいますよね。
ユーザー作成も
wp user create "Hogehoge1" Email --role=administrator
wp user create "Hogehoge2" Email --role=editor
とかでできちゃうとか。
このように WP-CLI は WordPress のメンテナンスをとても容易にしてくれる 管理者によって無くてはならないツールですね!
2017年6月30日 @kimipooh
0 件のコメント:
コメントを投稿