Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
7
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@kuck1u

レンタルサーバーの Heteml(ヘテムル)で WP-CLI を使えるようにする

WordPress を使う上で、何かと便利な WP-CLI。コマンドライン(みんな大好き黒い画面)で WordPress の色々な操作ができる優れものです。

今回はヘテムルで説明していますが、Xserver やさくらインターネットとかでもほぼ同じだと思いますので、契約中のレンタルサーバーの環境に読み替えて試してみてください。

WP-CLI で出来ること

  • WordPress のインストール
  • プラグインとテーマのインストール/有効化/削除/アップデート
  • データベースのバックアップ/リストア
  • データベース上の特定語句の置換(例 : 旧 URL から新 URL に書き換える)

その他様々なことができます。詳しくは公式サイトをご覧ください。

ちょっとそのまえに・・・

以下、説明の中でファイルパスやディレクトリパスを指定する部分に ~/hoge のように記述している箇所がいくつかあります。

~ は自分のホームディレクトリを示し、ヘテムルでは /home/sites/heteml/users/e/x/a/exampleuser を指します。例えば ~/backup の場合、/home/sites/heteml/users/e/x/a/exampleuser/backup のディレクトリを指定していることになります。

また、ヘテムルの公開ディレクトリは /home/sites/heteml/users/e/x/a/exampleuser/web です。

※ ヘテムルのユーザー名が exampleuser である場合の例です。

SSH コマンドの例をコピペする場合は、$  の部分はコピーしないようにしてください。$  は便利上つけてるだとだと思ってください。

WP-CLI のインストール

まずは、ターミナルなどの SSH クライアントでヘテムルにログインします。以下コマンドで実行するとパスワードの入力を求められるので、ヘテムルのパスワードを入力します。

USERNAME と ssh123 の部分は Heteml から割り当てられたものに置き換えてください。

$ ssh USERNAME@ssh123.heteml.jp -p 2222 -o PreferredAuthentications=password

次に、WP-CLI をダウンロードします。以下コマンドを実行するとダウンロードができます。

コピペする場合は 1 行目の mkdir から 3 行目 wp までを全部コピペしてください。

$ mkdir ~/bin &&\
wget https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O ~/bin/wp --no-check-certificate &&\
chmod +x ~/bin/wp

これでインストールが完了です。以後、~/bin/wp というコマンドで WP-CLI を実行できます。

wp コマンドで WP-CLI を実行できるようにする

~/bin/wp が長いよ ! という場合は、.bash_profile ファイルを作成し、~/bin/ に PATH を通して上げることで wp として実行できるようになります。

.bash_profile ファイルを作成

$ vi .bash_profile

キーボードの i キーを押下した後、以下をコピペする。

PATH=${PATH}:${HOME}/bin

esc キーを押下し :q(コロン + q)と入力し enter キーを押下し完了です。PATH が通っているか確認の為、以下コマンドを実行してみます。

$ which wp

~/bin/wp と表示されれば大丈夫です。以後、wp というコマンドで WP-CLI を実行できます。

WP-CLI の基本

WP-CLI の実行は、WordPress がインストールされているディレクトリに cd コマンドで移動してから行う、または、--path というオプションに WordPress がインストールされているディレクトリを指定します。

WordPress がインストールされているディレクトリに移動してから実行する例

$ cd ~/web/wordpress/
$ wp plugin list

オプションを指定する例

$ wp --path=~/web/wordpress plugin list

WordPress の Site URL と Home URL が別々になるようなインストール方法をとっている場合、--path= オプションを指定しても上手くいきません。その場合は、素直に WordPress がインストールされているディレクトリに cd コマンドで移動しましょう。

※ 誰か、解決方法教えてください(´;ω;`)ウッ…

WP-CLI の活用例

以下に、よく使いそうな例をいくつかピックアップしています。

データベースのエクスポート

事前にエクスポート先のディレクトリを mkdir コマンドで作成してから、エクスポートを実行します。既に作成済の場合は、省略してください。

$ mkdir ~/backup
$ wp db export ~/backup/backup_20150000.sql

データベースのインポート

$ wp db import ~/backup/backup_20150000.sql

サイトの引っ越し時にデータベース上の URL を旧 URL から 新 URL に書き換える

データベース上に記録されている URL を、SQL ファイルをテキストエディターなどで開いて置換しては絶対にダメです。たまにブログなどで紹介されているのを見かけますが、これはバッドノウハウです。URL がシリアライズ化され記録されていたりと、色々難しいことがあるため、テキストエディターなどで置換してしまうと、色々面倒が起こります。でも WP-CLI なら、色々な難しい問題を解決し、一瞬で終わります。

以下に、http://example.com から http://example.net に変更する例を示します。

$ wp search-replace 'http://example.com' 'http://example.net'

または

$ wp --path=~/web/wordpress search-replace 'http://example.com' 'http://example.net'

最後に

今回はヘテムルで説明しましたが、Xserver やさくらインターネットとかでもほぼ同じだと思いますので、契約中のレンタルサーバーの環境に読み替えて試してみてください。

それでは、良い年末と良い WP-CLI ライフを !

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
7
Help us understand the problem. What are the problem?