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パーミッションにしておきましょう。
最新記事 by まなびん (全て見る)
- 日本最大級セミナーのポータルサイトの開発に関わらせて頂いています - 2019年10月24日
- エンジニアとして求人応募する際に意識してほしいこと - 2019年10月23日
- 受託が忙しく自社サービス開発できないので開発メンバー募集! - 2019年1月28日