wp-cliを使ったWordPressインストール

wp-cliを使ってWordPressをインストールした手順のメモ。

パッケージのダウンロード

まずパッケージをダウンロードする。

wp core download --locale=ja --path=/usr/local/www

ダウンロードして展開するところまでコマンドでやってくれる。

ダウンロードしたら、サイトのトップディレクトリに移動しておく。

cd /usr/local/www

コンフィグ情報の定義

wp-config.phpの内容の編集もコマンドから。ここでは引数から次の値を渡すことにする。

  • データベース名: mysitedb
  • MySQLのユーザ名: myname
  • パスワード: somepassword
  • DBのプレフィクス: mysite

引数の説明では「データベース名のプレフィクス」とと書かれているが、実際にはデータベース上に作成されるテーブル名のプレフィクス。

wp core config create --dbname=mysitedb --dbprefix=mysite --dbuser=myname --dbpass=somepassword

コマンド実行によりwp-config.phpが作成される。

実際にデータベースを作成するのは次の手順のため、ここでは存在しないデータベースを指定しておけば良い。逆に、既存のデータベース名を指定すると、次の手順でエラーとなる。

ユーザ名とパスワードには、MySQLに作成済みのユーザ情報を指定する。指定するユーザにはMySQLの管理者権限が必要。create userで作成しただけのユーザを指定すると、wp-cliでのデータベース作成時にエラーとなる。

管理者権限を持ったユーザーを作成するには、次のようにする。(セキュリティ的には好ましい設定ではないが、現状のwp-cliでは管理者権限必須。)

mysql -u root -p
Enter Password:
mysql> create user myname identified by 'somepassword';
mysql> grant all privileges on *.* to myname@localhost identified by 'somepassword' with grant option;

上記設定を終わった後、データベースが作成できるようになる。

データベースの作成

wp-config.phpに記述した内容に沿ったDBを作成する。

wp db create

しかし前述のとおり、WordPress用のMySQLユーザに管理者権限を持たせるのはセキュリティ的には好ましくない。これを避けるためには、データベースの作成部分のみwp-cliを使わずに直接mysqlにrootでログインして起動し、データベースを作成すれば良い。

WordPressのインストール

必要な情報を引数で指定してインストールする。ここでは、次の値を指定する。

  • サイトURL: http://my.site.org/
  • サイト名: My Private Site
  • 管理者ユーザ名: wpadmin
  • 管理者パスワード: anotherpassword
  • 管理者メール: contact@my.site.org

管理者パスワードはデータベースのパスワードとは別のものを使うのが望ましい。

wp core install --url="http://my.site.org/" --title="My Private Site" --admin_user=wpadmin --admin_password=anotherpassword --admin_email="contact@my.site.org"

プラグインの追加

wp-cliを使ってwordpress.orgのリポジトリからプラグインを追加するには、プラグイン名を知る必要がある。たとえば “Google XML Sitemaps” なら google-sitemap-generator。つまり、必ずしも単純にプラグインのタイトルのスペースをハイフンに変換したものではない。

プラグイン名は、次の方法で確認可能。

  • wordpress.orgプラグインページのアドレスから、「https://wordpress.org/plugins/」に続く文字列がプラグイン名。
  • インストール済みであれば、pluginsディレクトリの下の該当プラグインのディレクトリ名。
  • 管理画面の「インストール済みプラグイン」のページで「停止」や「設定」のリンク先アドレスの「plugin=」の後ろに続く文字列。
  • 管理画面のプラグイン新規追加で検索した結果から、「説明」や「いますぐインストール」のリンク先アドレスの「plugin=」に後ろに続く文字列。

次のようにコマンド実行。

wp plugin install all-in-one-seo-pack count-per-day crayon-syntax-highlighter enable-media-replace google-sitemap-generator shutter-reloaded si-captcha-for-wordpress tinymce-advanced  wp-total-hacks contact-form-7 really-simple-captcha visual-website-editor  --activate

よく使うプラグインの名前を挙げておく。

プラグインタイトル プラグイン名
All in One SEO Pack all-in-one-seo-pack
Count per Day count-per-day
Crayon Syntax Highlighter crayon-syntax-highlighter
Enable Media Replace enable-media-replace
Google XML Sitemap google-sitemap-generator
Shutter Reloaded shutter-reloaded
SI CAPTCHA Anti-Spam si-captcha-for-wordpres
TinyMCE Advanced tinymce-advanced
WP-Total-Hacks wp-total-hacks
Contact Form 7 contact-form-7
Really Simple CAPTCHA really-simple-captcha

プラグインの有効化

デフォルトで無効になっているプラグインを有効化しておく。

wp plugin activate akismet wp-multibyte-patch