WP-CLIでローカルWordPress開発環境を一気に構築するbashファイルをつくってみました

WP-CLIがとても便利ということが最近発覚したので、これで一気にWordPressのローカル環境を構築してくれるbashファイルをつくってみました。

WordPress開発環境作るコマンド – Gist

今回は、これを使ったWordPressの環境構築と、作成したbashファイルの中身について説明します。

WP-CLIとは?

WordPressの様々な設定をCUIで操作できるコマンドツールです。
プラグイン・テーマのインストールや、パーマリンクの設定、WordPress関連ファイルのインストールまで、ほとんどの設定をコマンドでできるようになります。

詳しくは公式サイトを参照ください。

Command line interface for WordPress | WP-CLI

準備

bashファイルを動かす前に、WP-CLIの設定と、MySQLの導入が必要です。
Windowsの場合はPHPの設定も必要な可能性があります。

WP-CLIを使えるように設定する

まずは、今回の主役であるWP-CLIを利用できるようにしましょう。

ここでは2種類の方法を紹介します。

  • コマンドファイルを手動でインストール
  • homebrewでインストール

コマンドファイルを手動でインストール

WP-CLIをダウンロード

最初に、WP-CLIのファイルをダウンロードします。
任意のフォルダで以下コマンドを実行します。

$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
パーミッション設定を加えて$PATHが通ってる場所に移す

ダウンロードしたファイルのパーミッション設定を変更して、$PATHが通ってる場所(今回は/usr/local/bin/)にwpとリネームして移動させます。

$ chmod +x wp-cli.phar
$ sudo mv wp-cli.phar /usr/local/bin/wp

brewでWP-CLIをインストール

(2017/4/24追記)

MacOSであれば、homebrewで一発で入れれるようになっていました。

brew install homebrew/php/wp-cli

確認

wp --infoとうって、以下のように表示されればWP-CLIの設定は成功です。

$ wp --info
PHP binary:    /usr/bin/php5
PHP version:    5.5.9-1ubuntu4.14
php.ini used:   /etc/php5/cli/php.ini
WP-CLI root dir:        /home/wp-cli/.wp-cli
WP-CLI packages dir:    /home/wp-cli/.wp-cli/packages/
WP-CLI global config:   /home/wp-cli/.wp-cli/config.yml
WP-CLI project config:
WP-CLI version: 1.0.0

MySQLの設定

MySQLの設定は人によって違うので、ここは省略いたします。

設定し終えたら、MySQLを起動しておいてください。

$ mysql.server start

手順

いよいよbashファイルを使ってWordPress環境をインストールします。

bashファイルをローカルに保存

前述したWordPress開発環境作るコマンドを、WordPressをインストールしたいディレクトリに保存します。

とりあえず今回はwp-testディレクトリに入れとこうと思います。

$ mkdir wp-test
$ cd wp-test
$ curl https://gist.githubusercontent.com/nyawach/d11159b391fe3e481d25447878abc210/raw/e102e99046cbc7f5cd223eb347d9d33e18913723/wp_setup_dev.sh -o wp_setup_dev.sh

保存したbashファイルを環境ごとに設定する

次に、DBやサイトの管理者情報を記入していきます。
保存したbashファイル内の以下の部分に、必要な情報を書いていきます。

# DB構築に必要な設定
DB_NAME=""
DB_USER="root"
DB_PASS=""
DB_HOST="127.0.0.1"
DB_PREFIX="wp_"

# サイトの設定(後で管理画面にて変更可)
SITE_URL="http://example.com/"
SITE_TITLE="TEST"

# 管理者設定
ADMIN_USER="admin"
ADMIN_PASSWORD="password"
ADMIN_EMAIL="test@example.com"

# 入れときたいプラグイン・テーマの設定
PLUGINS=("")
THEME=""

bashファイルをたたく

インストールしたbashファイルを実行します。

$ bash wp_setup_dev.sh

下のようにすっとインストールできれば成功です!

$ bash wp_setup_dev.sh 
Downloading WordPress 4.5 (ja)...
md5 hash verified: adfda04101d2d11d1db1ff31ca30a8f2
Success: WordPress downloaded.
Success: Generated 'wp-config.php' file.
Success: Database created.
Success: WordPress installed successfully.
Uninstalled and deleted 'hello' plugin.
Success: Uninstalled 1 of 1 plugins.

何個かエラーが出る場合がありますが、以下の原因を探ってください。

  • 必要な設定が未記入になっている
  • MySQLが起動していない
  • MySQLの権限がない

また、以下のような警告(コピーが成功しないファイルがあるという警告)が出た場合は、bashファイル以外を削除してもう一度試してください。
なぜか何回か試すとインストールが成功します。

Warning: copy(/Users/test-user/.wp-cli/cache/core/wordpress-4.7-ja/wordpress/index.php): failed to open stream: Interrupted system call in phar:///usr/local/bin/wp/php/WP_CLI/Extractor.php on line 112

サーバーを立ち上げる

WP-CLIでサーバーまで立ち上げることができます。

$ wp server

http://localhost:8080にアクセスし、テーマが適応されていれば成功です!

http://localhost:8080/wp-admin/にアクセスして、認証もしてみましょう。

ログインが成功すればローカル開発環境の完成です!!

bashファイルの中身について

つぎに、bashファイルで何をやっているか簡単に説明します。

WordPressコアファイルのダウンロード

以下のコマンドで、日本語版WordPress本体のファイル群を、現在のディレクトリにインストールします。

$ wp core download --locale=ja

バージョンを指定したい場合は、--version=<version>を追記しましょう。
下記ではver.4.4をインストールします。

$ wp core download --locale=ja --version=4.4

wp-config.phpの設定

以下のコマンドで、wp-config.phpの設定をしてます。

wp core config \
  --dbname=${DB_NAME} \
  --dbuser=${DB_USER} \
  --dbpass=${DB_PASS} \
  --dbhost=${DB_HOST} \
  --dbprefix=${DB_PREFIX}

普段のWordPressインストール手順で言うと、「さあ、はじめよう!」の次のページの部分です。

WordPress用DBの作成

DBは以下のコマンドで作成しています。

$ wp db create

Hello Dollyプラグインを抹消する

WordPressが最初にインストールしている「Hello Dolly」を抹消します。

$ wp plugin uninstall hello

プラグインのインストール

PLUGINSで配列で記入したプラグインをバンバンインストール&有効化します。
すでにインストールされている場合は、有効化だけ実行されます。

WP-CLIでpluginをインストールするコマンドは以下になります。
--activateをつけることで、ついでに有効化してくれます。

$ wp plugin install <plugin>

テーマのインストール

使うテーマが決まっている場合は、テーマのスラッグ名を書くことで、インストールからテーマの有効化まで行います。
テーマがすでにインストールされている場合は、有効化だけ実行されます。

$ wp theme install <theme> --activate

最後に

WP-CLIのおかげで、開発環境の整備がとても楽になりました。もっと早く知っていればととても後悔しています…。

テーマ開発やプラグイン開発をさくっとやりたい時に、ぜひご利用ください。

  • BLOG
  • >
  • web
  • >
  • WP-CLIでローカルWordPress開発環境を一気に構築するbashファイルをつくってみました