アプリ開発・ウェブ開発

WordPressでメディアサイトを開発する時の開発環境構築の手順

さて、お仕事でメディアサイトを作ることになったのでWordPressでゴリゴリ開発していこうと思います。

まずは開発環境構築編

手順書みたいな感じで書いていきますので、読みにくい部分ご了承下さい。

開発用サーバーをセットアップする

WordPressってデータベースにドメインが保存されているので、データベースの情報を共有することが大事なんですよね。

リモートでみんなが共有できる開発用データベースをセットアップしておくと便利です。

CREATE DATABASE データベース名 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'ユーザー名'@'%' IDENTIFIED BY 'パスワード';
GRANT ALL ON データベース名. * TO 'ユーザー名'@'%';

こんな感じでどこからでも接続可能なユーザーとデータベースを使用してこれを共有データベースとします。

ローカルのhostを書き換える

先述したとおり、WordPressはドメイン情報をデータベースに保存する仕組みになっています。

ですので、例えば開発用にlocalhostというホスト名で立ち上げたを本番で同じように動かすと動きません。

ドメインが決まってる場合あらかじめ、本番用のドメインをセットしてローカルでも本番と同じ環境で動かすのが理想です。

そのためにローカルのhostsファイルを編集します。

sudo vi /etc/hosts

このファイルに

127.0.0.1 ドメイン名

この一行を追記します。

今回の場合例として

127.0.0.1 vr-media.com

とします

 

これでvr-media.comを開いた時は自分のPCにアクセスするようになるので、localhostで立ち上げている内容と同じものを見ることができます。

もしドメイン名が決まっていない場合

ドメインがまだ決まっていなくて開発を先行する場合、ひとまずlocalhostで立ち上げることになると思います。

その場合、何度も言うように、WordPressはドメイン名をデータベースに保存する仕様なので、localhostという名前がデータベースに保存されます。

localhostのままで本番にアップすると、いざドメインを割り当てた時にログインできなくなります。

 

その場合は 下記のSQL文を実行します。

UPDATE wp_options SET option_value=REPLACE(option_value,"旧ドメイン","新ドメイン");
UPDATE wp_posts SET post_content=REPLACE(post_content,"旧ドメイン","新ドメイン");
UPDATE wp_posts SET guid=REPLACE(guid,"旧ドメイン","新ドメイン");
UPDATE wp_postmeta SET meta_value=REPLACE(meta_value,"旧ドメイン","新ドメイン");

これで、DB内に保存されているドメイン情報は全て書き変わります。

今回の場合はこんな感じ

UPDATE wp_options SET option_value=REPLACE(option_value,"localhost","vr-media.com");
UPDATE wp_posts SET post_content=REPLACE(post_content,"localhost","vr-media.com");
UPDATE wp_posts SET guid=REPLACE(guid,"localhost","vr-media.com");
UPDATE wp_postmeta SET meta_value=REPLACE(meta_value,"localhost","vr-media.com");

このSQL文はドメイン名を変更する際にも有効なので便利ですよ。

gitリポジトリとして初期化する

WordPressは動的なファイルも多いのでgitの初期設定に悩みますよね。

gitignore

*.log
.htaccess
.DS_Store
sitemap.xml
sitemap.xml.gz
wp-config.php
wp-content/advanced-cache.php
wp-content/backup-db/
wp-content/backups/
wp-content/blogs.dir/
wp-content/cache/
wp-content/upgrade/
wp-content/uploads/
wp-content/wp-cache-config.php
wp-content/plugins/hello.php
/readme.html
/license.txt

とりあえずこんな感じでgitignoreファイルを作成しましょう。

プロジェクトメンバーが何人かいる場合、

wp-config.phpは自分用に作成したものを別ファイルで共有するのがいいかと思います。

 

uploadsディレクトリをどうするか

開発用のwp-content/uploadsディレクトリをgitに入れるかどうかは悩ましい問題です。

これに関しては、いい感じの回答を募集中ですが、

ひとまずuploadsディレクトリを作成して、 757パーミッションにしておきましょう。

 

 

The following two tabs change content below.

SNS