はじめに
みなさんこんにちはcandleです。wordpressは大変便利なのですが、いまいちgitで管理するのが難しいものです。
というのも、wordpress全体をgit管理対象にしてしまうと、wordpressのバージョンアップによって無駄な差分がうまれてしまいます。だからといって、自作したテーマだけをgitの管理対象にすると、プラグインとの関係などが面倒になります。wp-config.phpに記載した設定もうまく反映しづらくなります。
既存の方法ではgitignoreを最大限に活用して、うまくやる必要がありました。
skeletonを使えば多くの問題を解決できそうです。skeletonは本家があるのですが、そちらではなく、派生のqckanemotoさんが開発している方を使用します。
https://github.com/qckanemoto/WordPress.Skeleton
前提
composerがインストールされている
apacheかnginxがローカルで動く環境になっている
mysqlがインストールされている
wordpressプロジェクトを作成する
skeletonは便利で、composerのコマンドからwordpressを作成できます。
一般に以下のコマンドで作成します。
composer create-project wordpress/skeleton プロジェクト名
試しに、apacheかnginxが動く場所でプロジェクトを作成します。
私はホームディレクトリのapacheフォルダがapacheの動く環境になっているのでそこで、作成します。
alice_blogというのを作ります。
composer create-project wordpress/skeleton alice_blog
作成できたら、alice_blogに移動します。
local-config-sample.phpというファイルがあるので、これをlocal-confi.phpに名前を変更します。
mv local-config-sample.php local-config.php
このファイルはデータベースの接続設定を記述します。
mysqlでデータベースを作成する
先にデータベースを作成しましょう。
mysqlにログインしてalice_blogというデータベースを作成します。ログインして
mysql -u root -p
以下のコマンドでデータベースを作成します。パスワードをしっかりしたものにしましょう。
CREATE DATABASE alice_blog CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT ALL ON alice_blog.* TO 'alice'@'localhost' IDENTIFIED BY '87654321';
alice_blogというデータベースを作成し、
aliceユーザーを作成し、
パスワードは87654321です。
データーベースが作成できました。
skeletonの設定をおこなう
まずはデーターベースの設定をします。
先ほどリネームしたlocal-config.phpを開いて、以下のように設定します。
define('DB_NAME', 'alice_blog'); define('DB_USER', 'alice'); define('DB_PASSWORD', '87654321'); define('DB_HOST', 'localhost'); define('WP_POST_REVISIONS', 3); define('WP_DEBUG', false);
保存しましょう。
wp-config.phpを開いて、security saltを設定します。
40行目たりのdefineを「https://api.wordpress.org/secret-key/1.1/salt/」にアクセスして書き換えます
この値は絶対に公開しないでください。
wordpressをインストールする
wpフォルダがあると思いますが、そこにworpdressが入ります。まだ、wpフォルダは空です。
composer installを入力するとwordpressが入ります。
composer install
インストールが完了したら、webサーバを起動してアクセスしてみましょう。
私はlocalhostなので以下のアドレスになります。
http://localhost:8080/alice_blog/
上の画面はskeletonのディレクトリです。wpフォルダ以下がwordpressになります。
実際の運用ではwpフォルダをdocument rootにして公開します。
wpフォルダに移動するとwordpressのインストーラーが起動します。
http://localhost:8080/alice_blog/wp
言語は日本語を選びましょう。
後はインストーラー通りやればインストールできます。
git管理する
skeletonのディレクトリで以下を実行してgitのリポジトリにします。
git init
.gitignoreはあらかじめ作成されているので、自分で設定する必要はありません。
.gitignoreを見るとskeletonが管理しているのは「backup」と「wp-content」「wp-config.php」くらいだといことですね。
プラグインを管理する
wordpressのプラグインを加える場合はwordpressの管理画面から行うのではなく、composer.jsonで行います。
例えば、Login LockDownをインストールする場合は
composer.jsonを開いて、requireに以下を記述します。
"wpackagist-plugin/login-lockdown": "*"
右の「*」はバージョンは最新で良いという意味です。
"require": { "php": ">=5.3", "johnpbloch/wordpress": "*", "wpackagist-plugin/wp-i18n": "dev-trunk", "wpackagist-plugin/wp-multibyte-patch": "~2.3", "wpackagist-plugin/login-lockdown": "*" },
保存したら、composer updateでインストールします。
composer update
私の場合、ちょっとエラーがでていますが、うまくいきました。
プラグインの有効化は管理画面上で行います。
まとめ
skeletonでは主に、自作のテーマと自作のプラグインとサードパーティのプラグインのリスト、を管理する感じですね。
次回はデプロイをやってみましょう。