joppot

コピペで絶対動く。説明を妥協しない

サーバ プログラミング

wordpress skeletonを使った開発環境の構築

投稿日:

Pocket

wordpress_skeleton_top_thumb

はじめに

みなさんこんにちはcandleです。wordpressは大変便利なのですが、いまいちgitで管理するのが難しいものです。

というのも、wordpress全体をgit管理対象にしてしまうと、wordpressのバージョンアップによって無駄な差分がうまれてしまいます。だからといって、自作したテーマだけをgitの管理対象にすると、プラグインとの関係などが面倒になります。wp-config.phpに記載した設定もうまく反映しづらくなります。
既存の方法ではgitignoreを最大限に活用して、うまくやる必要がありました。

skeletonを使えば多くの問題を解決できそうです。skeletonは本家があるのですが、そちらではなく、派生のqckanemotoさんが開発している方を使用します。

https://github.com/qckanemoto/WordPress.Skeleton


前提

composerがインストールされている
apacheかnginxがローカルで動く環境になっている
mysqlがインストールされている

SPONSORED LINK


wordpressプロジェクトを作成する

skeletonは便利で、composerのコマンドからwordpressを作成できます。

一般に以下のコマンドで作成します。

composer create-project wordpress/skeleton プロジェクト名

試しに、apacheかnginxが動く場所でプロジェクトを作成します。
私はホームディレクトリのapacheフォルダがapacheの動く環境になっているのでそこで、作成します。

alice_blogというのを作ります。

composer create-project wordpress/skeleton alice_blog

composer_install_skeleton

作成できたら、alice_blogに移動します。

go_to_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です。

create_alice_blog_database

データーベースが作成できました。

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);

alice_blog_config

保存しましょう。

wp-config.phpを開いて、security saltを設定します。
40行目たりのdefineを「https://api.wordpress.org/secret-key/1.1/salt/」にアクセスして書き換えます

define_wordpress_salt

この値は絶対に公開しないでください。

wordpressをインストールする

wpフォルダがあると思いますが、そこにworpdressが入ります。まだ、wpフォルダは空です。
composer installを入力するとwordpressが入ります。

composer install

composer_install_wordpress

インストールが完了したら、webサーバを起動してアクセスしてみましょう。

私はlocalhostなので以下のアドレスになります。

http://localhost:8080/alice_blog/

alice_document_root

上の画面はskeletonのディレクトリです。wpフォルダ以下がwordpressになります。
実際の運用ではwpフォルダをdocument rootにして公開します。
wpフォルダに移動するとwordpressのインストーラーが起動します。

http://localhost:8080/alice_blog/wp

wordpress_ja_installer

言語は日本語を選びましょう。
後はインストーラー通りやればインストールできます。

git管理する

skeletonのディレクトリで以下を実行してgitのリポジトリにします。

git init

skeleton_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": "*"
    },

write_loin_lock_down_to

保存したら、composer updateでインストールします。

composer update

compsoer_update_and_install_lock_down

私の場合、ちょっとエラーがでていますが、うまくいきました。
プラグインの有効化は管理画面上で行います。

まとめ

skeletonでは主に、自作のテーマと自作のプラグインとサードパーティのプラグインのリスト、を管理する感じですね。
次回はデプロイをやってみましょう。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-サーバ, プログラミング
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

wordpressのカテゴリーを削除する

概要 みなさんこんにちはcandleです。卒論が忙しくて、ブログの更新ができませんでした。まだ、全て終わったわけじゃありませんが、ちょくちょく更新していきます。 今回はwordpressのカテゴリー削 …

railsのgonで別ページでリロード後turbolinksで移動したら変数がundefindする場合の対処

概要 (追記 2016/05/18 この方法を行うと、turbolinksで問題が起きました。 turbolinksで移動した回数だけ、javascriptが実行されてしまいました。 例えば、 < % ...

fluentdのs3 pluginを使用して日付区切りでログデータをS3に送信する

概要 みなさんこんにちはcandleです。今回はfluentdのs3プラグインを使用して、railsなどのログを日単位でS3に投げる方法を紹介します。もちろん、応用して年単位とか月単位、時間単位で区切 …

pythonのfabricでファイルを分割しfabfileに読み込む方法

概要 皆さんこんにちはcandleです。今回はfabricで分割したpythonファイルを読み込んでみましょう。 fabricはfabfile.pyというファイルに実行したいコマンドを書くのですが、 …

railsのaws-sdk gemを使ってs3に画像ファイルをフォームからアップロードする

概要 みなさんこんにちはcandleです。比較的難しいrailsからs3に画像をアップロードする方法を試してみましょう。 一般にサーバ環境にはスケーラビリティ(アクセスの規模に応じて、動的にサーバを動 …

  • English
  • 日本語

プロフィール


ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー

スポンサードリンク

アーカイブ