[WordPress] VCCW(Vagrant)で開発・動作環境を作る

WordPressの開発用環境をお手軽に作りたい

WordPressの動作確認や開発のための環境を構築する場合、ローカルに環境に構築すると管理が煩雑になり手間がかかってしうことがあります。今回は仮想環境上にWordpress環境を構築する手段として、VCCW の使い方をまとめます。

VCCWとは

WordPressプラグイン、テーマ、またはWebサイトの開発用に設計されたVagrantの設定です。

VCCWには、WordPressのバージョン(またはベータ版)、言語、ホスト名、サブディレクトリ、管理者の資格情報、デフォルトのプラグイン、デフォルトのテーマ、マルチサイト、SSLなどのオプションを設定するためのカスタマイズ可能な変数が含まれています。これらの変数は、開発環境を特定のニーズに合わせて柔軟に変更することができます。

Vagrant とは、仮想マシンの設定・共有のためのツールです。

VCCW は WordPress 環境構築のための Vagrantの設定を提供します。Vagrantがその設定内容に基づき仮想マシンの初期化(PHPやMySQL、Wordpressのインストール)を行ってくれます。

仮想環境には何もしなくてもWordpressのいい感じの環境ができあがっているのですごくお手軽です。

VCCWの使い方

VCCW を使うには上述の通り、Vagrant というソフトウェアが必要です。また、Vagrant は仮想マシンを作る機能はないので仮想マシン(VirtualBoxやVMWare)を動かすためのソフトウェア必要です。今回は VirtualBox を使います。

Vagrant のインストール

まずは、Vagrant をインストールします。上記URLよりローカル環境のOSにあったものをダウンロードしインストールしてください。インストールはデフォルト設定のままでOKです。

インストール後、コマンドラインで次のコマンドを実行してバージョンを確認できればOKです。

$ vagrant --version
Vagrant 2.0.1

VirtualBox のインストール

次に VirtualBox をインストールします。VirtualBox は仮想化マシンを動かすためのソフトウェアです。こちらもデフォルト設定でインストールしてください。

vagrant-hostsupdater のインストール

$ vagrant plugin install vagrant-hostsupdater

Vagrant Box のダウンロード

Vagrant Boxとは、仮想マシンのテンプレート(ひな形、ベース)となるファイルです。Wordpressを動かすための仮想環境テンプレートになります。

$ vagrant box add vccw-team/xenial64

1) hyperv
2) libvirt
3) virtualbox
4) vmware_desktop

Vagrant Boxを追加しようとすると、プロバイダーを聞かれるかもしれません。今回は VirtualBox を使って仮想マシンを動かすので、virtualbox を選んでください。

VCCWダウンロード

VCCWを公式サイトもしくはGithubからダウンロードします。zipファイルを任意の場所で解凍しておきます。解凍したフォルダ名は vccw とします。

Gitでクローンする方法もあります。zipでダウンロードした人は不要です。

$ git clone https://github.com/vccw-team/vccw.git vccw

仮想マシンの起動

まずは、vccwフォルダに移動します。

$ cd vccw

vccwフォルダには、Vagrantfile というファイルがありますが、このファイルがあるパスで、vagrant up コマンドを実行すると、ファイルに書かれてある方法で仮想マシンを起動してくれます。以降、vagrant コマンドはこのパスで実行します。

--provider は起動する仮想マシンの指定です。今回は VirtualBox を使うのでそれを指定します。次回以降の起動は --provider パラメータの指定はなくても良いです。

$ vagrant up --provider virtualbox

初回起動時は仮想マシンの作成から行うので、少し時間がかかりますので待ちましょう。

WordPressの確認

vagrant up コマンドで起動が完了したら、Wordpressページへアクセスしてみましょう。vccw.test もしくは 192.168.33.10 でアクセスできます。

ローカル環境がWindowsの場合、hosts ファイル(C:\Windows\System32\drivers\etc\hosts)を書き換える必要があります。次の内容をファイル末尾に追加してください。

192.168.33.10 vccw.test

これで以下のURLでアクセスが確認できます。

ファイルの編集とか

vccw のフォルダ以下に、wordpress フォルダができています。この中に仮想マシンにインストールされているwordpressのファイルがあります。ファイルを編集すると、仮想マシンの内容も同期されているので書き換わります。

仮想マシンの操作

今回は仮想マシンを VirtualBox で動かしていますが、GUI上から起動や停止をする必要はなく、すべて vagrant コマンドで実行します。コマンドはVagrantfileがあるパス(vccwのフォルダ)で十個します

代表的な操作コマンドはつぎのとおりです。

コマンド 機能
vagrant up 仮想マシンを起動
vagrant ssh 仮想マシンにsshでログイン
vagrant halt 仮想マシンを停止
vagrant ssh-config ssh設定情報の確認
vagrant reload 仮想マシンを再起動
vagrant suspend 仮想マシンを一時停止
vagrant resume 仮想マシン一時停止からの復帰
vagrant status 仮想マシンの起動状態を確認
vagrant destroy 仮想マシンを破棄

up, ssh, halt あたりはよく使います。

VCCWの環境

インストールされるもの

VCCWの環境に最初からインストールされるものの一覧です。内容は公式サイトからの引用です。

VCCWでのユーザーとかパスワード

VCCWでのデフォルトの環境設定です。

WordPress

  • Default user
    • Username: admin
    • Password: admin

MySQL

  • MySQL Host: 127.0.0.1
  • Username: wordpress or root
  • Password: wordpress
  • Port: 3306

SSH

  • Host: vccw.test or 192.168.33.10
  • Username: vagrant
  • Password: vagrant
  • Port: 22

VCCWのカスタマイズ

最後に簡単にVCCWのカスタマイズ方法をまとめておきます。

IPやホスト名、仮想環境のメモリ使用量などの設定の変更をデフォルト値から変更するには、設定情報を書き換える必要があります。provision/default.yml ファイルが設定情報のファイルです。

default.yml をそのまま編集するのではなく、コピーしてカスタマイズ用に site.yml を作成します。このファイルを編集してカスタマイズします。

$ cp provision/default.yml site.yml

site.yml の設定値を適宜書き換えます。

CPUのコア使用数とメモリ使用数です。

#
# Virtual Machine Settings
#
memory: 1024
cpus: 1

日本語設定にしておきます。

#
# WordPress Settings
#
version: latest
lang: ja # ← WordPressを日本語に設定
title: Welcome to the VCCW
multisite: false
rewrite_structure: /archives/%post_id%

日本語のテストデータを入れておきます。これをすると予め記事や画像のデータが登録された状態になります。様々なパターンのデータを正しく表示できているかを確認するのに便利です。

#
# Theme unit testing
#
theme_unit_test: false
# theme_unit_test_uri: https://raw.githubusercontent.com/WPTRT/theme-unit-test/master/themeunittestdata.wordpress.xml
theme_unit_test_uri: https://raw.githubusercontent.com/jawordpressorg/theme-test-data-ja/master/wordpress-theme-test-date-ja.xml

# ...(略)...

DBのインストール時に行われる設定情報です。

#
# WordPress Database
#
db_prefix: wp_
db_host: localhost
db_name: wordpress
db_user: wordpress
db_pass: wordpress

その他色々と設定値が有ります。一通り確認し、しっかりと設定をしておきましょう。

環境設定を共有する

vccwフォルダごと別環境にコピーし、vagrant で起動すると設定値に沿って同じ環境を作ってくれるので簡単です。

設定内容を反映させる

設定を書き換えた場合、それを反映させるには仮想マシンの再起動が必要です。起動中の場合は、vagrant reload で仮想環境を再起動しましょう。

$ vagrant reload

反映されない場合は、プロビジョニングからやり直す必要が有ります。vagrant reload --provision で設定が反映されます。

$ vagrant reload --provision

以上。