こんにちは
超高速WordPress仮想マシンKUSANAGIを開発している田島と申します。
今回はWordPressを管理するにあたって便利な機能について紹介します。
黒い画面
WordPressの環境がリモートのサーバにある場合、SSHクライアントを使ってリモートサーバ上で操作をしたことがあるという方もいらっしゃるかと思います。
macOSユーザーではあればターミナル、WindowsユーザーであればTera TermなどからSSHプロトコルを使ってリモートサーバ上にログインして操作をすることができます。
いわゆる黒い画面というやつですね。
黒い画面は操作したことがない場合怖いイメージがあるかもしれませんが、一度覚えてしまえばグラフィカルなインターフェースのアプリケーションを使って操作するよりも、自由かつ効率的にコンピュータを操作することができます。
今回紹介するWP CLIもそんな黒い画面を使って操作するアプリケーションの一つです。
WP CLI
黒い画面は一般的にコマンドラインインターフェースのことを指しており、コマンドラインインターフェースはキーボードからテキストを入力してコンピュータに任意の命令を実行させるという特徴を持っています。
入力もそれに対する結果も基本的にはテキストとして表現されます。
さて、WP CLIはコマンドライン上でWordPressを管理することができるアプリケーションです。
インストールもコマンドラインでの操作に慣れている方なら公式ページを参考に簡単にインストールできるでしょう。
WP CLIでできること
WordPressを管理できるという機能から、大体どんなことができるか察しがつくと思います。
あなたが
コマンドラインでこれができたらWordPressの管理ができるのに。。
と思っていることは大体できると言っても過言ではないです。
- WordPressのアップデート
- 設定変更
- プラグインのインストール・アンインストール
- ユーザ管理
- データベース操作
- インポート・エクスポート
何でもできます。詳しくはドキュメントをご確認ください。
今回はそんな中から、ググっても出てこない私がよく使っているチップスを一つご紹介します。
ユーザー登録のTips
WP CLIを使えば当然ながら、コマンドラインからユーザーを登録することができます。
何も考えなければ下記のコマンドを実行すればtest_userという管理者を作成することができます。
$ wp user create test_user test@example.com --role=administrator --user_pass=password
ただ、この場合懸念点があります。
- コマンドで実行した場合、コマンド履歴をみるとパスワードがあとからわかってしまう
- シェルスクリプトなどでラップして実行すればコマンド履歴そのものには残らないがスクリプトを残していればパスワードがわかってしまう
- gitなどでバージョン管理している場合は間違って公開リポジトリにpushしてしまう可能性があるので、潜在的な危険性はコマンドラインよりも上である
いずれの場合も永続的なストレージにパスワード情報が残ってしまうことが原因です。
そこで永続的なストレージに残さないかつ、どこにも出力されないという方法をとります。
下記はLinuxベースのOSでの例ですが、考え方は応用できます。
read -sp "Password: " pass; wp user create test_user test@example.com --role=administrator --user_pass=${pass}
これを実行すると、プロンプトにPassword: と表示されるのでパスワードをキーボードから入力します。
その際、出力結果はエコーバックされないので画面には何も表示されません。
また、実際のコマンド上のパスワードには${pass}というものが表示されるだけですので、履歴からもシェルスクリプトからもパスワードを確認することは不可能です。
以上、WP CLIを使ったチップスの一つでした。
既存のコマンドを組み合わせることで便利かつ効率的にWordPressを管理する方法がまだまだたくさんあるはずです。
そんな組み合わせを持ってる、あるいはこれから作り上げた場合は是非教えてほしいです!
以上、田島でした。