WordPressをコマンドラインで操作する「WP-CLI」を導入する

2018-10-10 22:54
WEB

WP-CLI

導入するもの

「WP-CLI」とは

WP-CLI は WordPress を管理するためのコマンドラインインターフェースです。 プラグインのアップデートやマルチサイトのセットアップなどの多くのことをブラウザ無しで行うことができます。

Command line interface for WordPress | WP-CLI

参考URL

手順

ダウンロード

  • WordPressをインストールしているサーバーにssh接続
$ ssh ユーザー名@ホスト
  • ひとまずドキュメントルートへ移動
$ cd
  • curlコマンドでファイルをダウンロード
$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
  • 動作を確認
$ php wp-cli.phar --info
  • 以下のような実行結果が出る
OS:	Linux 3.10.0-693.11.1.el7.x86_64 #1 SMP Mon Dec 4 23:52:40 UTC 2017 x86_64
Shell:	/bin/bash
PHP binary:	/usr/bin/php
PHP version:	7.1.12
php.ini used:	/etc/php.ini
WP-CLI root dir:	phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir:	phar://wp-cli.phar/vendor
WP_CLI phar path:	/XXXXXXXX/XXXXXXXX
WP-CLI packages dir:	
WP-CLI global config:	
WP-CLI project config:	
WP-CLI version:	2.0.1

実行権限の付与

  • ダウンロードしたファイルの権限を確認すると、664になっていて実行権限がない。
$ ls -la | grep "wp-cli.phar"
-rw-rw-r--   1 XXXXXXXX XXXXXXXX 5366981 10月 10 21:50 wp-cli.phar
  • chmodコマンドで権限を付与する。
    • 公式サイトの案内では「+x」を実行しているが、所有者とグループはともかく”その他”が権限持ってる必要なくない?と思ったので、770を指定することにした。
$ chmod +x wp-cli.phar //公式サイトにかかれているコマンド
$ chmod 770 wp-cli.phar //今回実行したコマンド
  • 770になった
$ ls -la | grep "wp-cli.phar"
-rwxrwx---   1 XXXXXXXX XXXXXXXX 5366981 10月 10 21:50 wp-cli.phar

「wp」コマンドとして使えるようにする

  • コマンドとして動かすにはPATHが通っているディレクトリへ配置する必要がある。
  • $PATHの中身を確認。
$ echo $PATH
/usr/local/bin:(以下略)
  • 一番手前に記述されている /usr/local/bin へ移動すると同時に、ファイル名を「wp」にリネームする
    • /usr/local/bin は root じゃないとさわれない領域なので sudo で実行。
$ sudo mv wp-cli.phar /usr/local/bin/wp
  • 移動とリネームがちゃんとできているか確認
$ cd /usr/local/bin/
$ ls -la
drwxr-xr-x.  2 root     root          15 10月 10 22:11 .
drwxr-xr-x. 12 root     root        4096 11月  6  2016 ..
-rwxrwxr-x   1 XXXXXXXX XXXXXXXX 5366981 10月 10 21:50 wp

動作確認

  • このブログのディレクトリ(/notes)へ移動
  • テーマ一覧を表示するコマンド(wp theme list)を実行してみる→動いた
    • ファイル権限は770で大丈夫みたい。
$ wp theme list
+-------+--------+--------+---------+
| name  | status | update | version |
+-------+--------+--------+---------+
| notes | active | none   |         |
+-------+--------+--------+---------+