Windows で WordPress のローカル環境を作る方法【Virtualbox+Vagrant+VCCW】

Windows でワードプレスのローカル環境を作る方法です。

自分の PC の中でワードプレスを動かして、ブラウザでアクセスできるようにします。

ところで、ローカル環境を作るツールには、ザンプ (XAMPP)、インスタントワードプレス (InstantWP) などがありました。

その中で、自分がうまく WordPress を動かせたのが

Virtualboxバーチャルボックス + Vagrantベイグラント + VCCWブイシーシーダブリュー

の組み合わせでした。

ローカル環境は、ブログの下書き用サイトとして使っています。

ありがたいことに、レンタルサーバーに置いたワードプレスよりも、高速に動きました。

WordPress のテーマやプラグインも、気兼ねなく試すことができました。

各ツールの作者に感謝致します。ありがとうございます。

スポンサーリンク

WordPress のローカル環境を作る手順

自分が WordPress のローカル環境を作ったときの手順です。

VirtualboxバーチャルボックスVagrantベイグラントVCCWブイシーシーダブリュー を使って、ローカル環境となるゲスト OS を作ります。

自分は、VCCW の『Getting Started』に載っているインストール手順を実行しました。

VCCW – A WordPress development environment.
Getting Started
http://vccw.cc/

その中で、エラー対策や WordPress 高速化の必要が出てきました。

この記事では、そういった情報を追加して手順を書きました。

長いので、必要なところだけ拾い読みしていただければ幸いです。

インストーラーのバージョンなどは、自分が WordPress ローカル環境を構築したときのものです。

自分の環境は Windows 7 64bit でした。

パワーシェル (PowerShell) のバージョンをチェック

ベイグラント Vagrant の実行には、PowerShell 3 以上が必要とのことでした。

Windows 10 なら、PowerShell 5 以上がすでに入っているとのことなので、大丈夫だと思います。

自分の Windows 7 は PowerShell 2 だったので、新しいバージョンを入れました。

チェック方法です。

PowerShell を起動して $PSVersionTable を実行すると、いろいろなバージョンが出ます。

PSVersion が PowerShell のバージョンです。

PS C:\> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.14409.1005
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14409.1005
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

バージョンが 3 以上ならOK。

そうでなければ、新しいバーンジョンをダウンロードしてインストールします。

新しいバージョンの PowerShell をダウンロード

PowerShell のバージョンが小さいときは、Microsoft のサイトからダウンロードして、インストールします。

Windows PowerShell のインストール
既存の Windows PowerShell をアップグレードする
https://docs.microsoft.com/ja-jp/powershell/scripting/install/installing-windows-powershell#upgrading-existing-windows-powershell

PowerShell のバージョンです。

自分は PowerShell 5.1 の WMF 5.1 を選びました。

インストーラーです。

自分は『Win7AndW2K8R2-KB3191566-x64.zip』を選びました。

PowerShell をインストール

zip ファイルの中にある『Win7AndW2K8R2-KB3191566-x64.msu』を起動して、インストールします。

Windows にバーチャルボックス (Virtualbox) をインストール

VirtualBox の公式サイトからインストーラーをダウンロードして、インストールします。

Oracle VM VirtualBox
https://www.virtualbox.org/

自分がダウンロードした時は VirtualBox-6.0.10-132072-Win.exe でした。

ところで、VirtualBox の本体だけで WordPress ローカル環境は作れました。

拡張機能の Oracle VM VirtualBox Extension Pack は不要でした。

Windows にベイグラント (Vagrant) をインストール

Vagrant の公式サイトからインストーラーをダウンロードして、インストールします。

Vagrant by HashiCorp
https://www.vagrantup.com/

自分がダウンロードした時は vagrant_2.2.5_x86_64.msi でした。

ベイグラントにプラグイン (vagrant-hostsupdater) をインストール

プラグインのサイトにインストール方法が載っていました。

GitHub – cogitatio/vagrant-hostsupdater
https://github.com/cogitatio/vagrant-hostsupdater

コマンドプロンプトで、以下のコマンドを実行します。

vagrant plugin install vagrant-hostsupdater

ベイグラントボックス (vagrant box) をダウンロード

コマンドプロンプトで、以下のコマンドを実行します。

vagrant box add vccw-team/xenial64

※ ここで、PowerShell のバージョンが小さいと、以下のメッセージが出て終了しました。

Vagrant failed to initialize at a very early stage:

The version of powershell currently installed on this host is less than
the required minimum version. Please upgrade the installed version of
powershell to the minimum required version and run the command again.

  Installed version: 2

  Minimum required version: 3

要約すると、『PowerShell が古いから、アップグレードしてください。』みたいな意味です。

自分はここで PowerShell を 2 ⇒ 5.1 にアップグレードして、やり直しました。

ベイグラントの io.rb を修正する(エラー対策)

ベイグラントのインストールフォルダにある io.rb を修正します。

自分の場合は、vagrant up を実行したときに Encoding::InvalidByteSequenceError が発生したので、その対策です。

以下の場所にある io.rb を、テキストエディタで開きます。

※ 編集できないときは、管理者権限でテキストエディタを起動してから開きます。

"\HashiCorp\Vagrant\embedded\gems\2.2.5\gems\vagrant-2.2.5\lib\vagrant\util\io.rb"

この io.rb の『32行目』にある UTF-8 を、Windows-31J に変更します。

data << io.readpartial(READ_CHUNK_SIZE).encode("UTF-8", Encoding.default_external)

↓↓↓

data << io.readpartial(READ_CHUNK_SIZE).encode("Windows-31J", Encoding.default_external)

『io.rb を書き換える』というアプローチが妥当かどうかは分かりませんが、これで問題なく使えるようになりました。

Vagrant に限らず、どのみち数年で大きく変わる分野ですので、『とりあえず動けばいい』というのも最適解だと思います。

常に厳密解を求めていては、人生がいくらあっても足りない、そんな気がします。

VCCW の zip をダウンロード

どこか好きなフォルダに、VCCW の zip をダウンロードして、解凍します。

VCCW – A WordPress development environment.
http://vccw.cc/

自分がダウンロードした時は vccw-3.21.1.zip でした。

zip を解凍したら、vccw フォルダができました。

default.yml コピーして site.yml を作る

site.yml は、ローカル環境の設定を書くファイルです。

default.yml を vccw フォルダの直下にコピーして作ります。

以下の場所にある default.yml をコピーします。

"(任意の場所)\vccw\provision\default.yml"

それを vccw フォルダの直下に貼り付けて、名前を site.yml を変更します。

"(任意の場所)\vccw\site.yml"

次は、内容の変更です。

site.yml で PHP のデバッグ設定を切る(WordPress 高速化)

デフォルト設定のまま vagrant up を実行したら、WordPress の動きが遅かったです。

レンタルサーバーの WordPress よりも遅かったです。

その対策として、PHP のデバッグ設定を false にしたら、改善しました

サクサク動くようになりました。

自分の場合は、site.yml の中の以下の設定を false に変更しました。

(前略)
#
# PHP ini values
#
php_ini:
  date.timezone: UTC
  default_charset: UTF-8
  mbstring.language: neutral
  mbstring.internal_encoding: UTF-8
  post_max_size: 1024M # Same with VVV
  short_open_tag: Off
  session.save_path: /tmp
  upload_max_filesize: 1024M # Same with VVV
  xdebug.remote_enable: false ← 変更
  xdebug.remote_host: 127.0.0.1
  xdebug.remote_port: 9000
  xdebug.profiler_enable: false ← 変更
  xdebug.idekey: VCCWDEBUG
  xdebug.remote_connect_back: false ← 変更
  xdebug.remote_autostart: false ← 変更
(後略)

もし、開発やテストでデバッグ手段が必要になったら、デフォルトに戻せばいいと思います。

VCCW は『A WordPress development environment.』という、つまりは 開発環境 なので、初期状態でデバッグ設定が有効になっているのは、自然だと思います。

site.yml で設定できること

site.yml では、ほかにも以下の設定ができました。

  • WordPress ローカル環境(ゲスト OS)の CPU の数。
    cpus: 1
  • WordPress の言語、サイト名・ユーザー名・パスワード。
    lang: en_US(⇒ lang: ja で管理画面が日本語化しました)
    title: Welcome to the VCCW(サイト名)
    admin_user: *****(ユーザー名)
    admin_pass: *****(パスワード)
  • WordPress にインストールしておくプラグイン。
    – logbook
    指定する時の名前は、『WordPress.org プラグインページ』のURLから分かりました。
    https://ja.wordpress.org/plugins/wordpress-importer/ なら
    – wordpress-importer
    https://ja.wordpress.org/plugins/wp-multibyte-patch/ なら
    – wp-multibyte-patch
    で自動インストールができました。
  • WordPress 内の各種設定。
    各種設定の名前は、以下のURLにあるものが使えました。
    https://***/wp-admin/options.php

ほかにも色々できるようでした。

ところで、site.yml は再利用ができます。

ローカル環境を削除するときも、site.yml だけは別のところに移して、再利用するのがお勧めです。

設定を作り直す手間が省けました。

準備完了

これで『ローカル環境の起動準備』がととのいました。

起動する ⇒ 管理者権限で vagrant up

Windows の管理者権限で、ベイグラントアップ vagrant up を実行します。

手順です。

  1. 管理者権限でコマンドプロンプトを起動する。
  2. cd コマンドで vccw フォルダに移動する。
  3. vagrant up を実行する。

以上です。

これで、ローカル環境のためのゲスト OS が、自動で作られました。

ブラウザで http://vccw.test/ にアクセスすると、ローカル環境の WordPress が表示されました。

バーチャルボックスの GUI を起動すると、vccw.test が実行中になっていました。

あとは、普通の WordPress と同じことができました。

レンタルサーバーにある WordPress と、同じことができました。

WordPress にテーマをインストールしたり、ブログの下書きをしたり、開発やテストをしたり。

ところで、初回の vagrant up では、ゲスト OS を作る関係で、数分かかりました。

2回目以降は、高速で起動するようになりました。

管理者権限が必要な理由 ⇒ vagrant-hostsupdater が Hosts を書きかえるため

なぜ、vagrant up や vagrant halt で、管理者権限が必要なのか?

これは、Windows の Hosts ファイルの編集に、管理者権限が要るためでした。

vagrant-hostsupdater をアンインストールしたら、管理者権限が無くても動きました。

自分は便利なので、vagrant-hostsupdater プラグインを使っています。

停止する ⇒ 管理者権限で vagrant halt

Windows の管理者権限で ベイグラントハルト vagrant halt を実行します。

手順です。

  1. 管理者権限でコマンドプロンプトを起動する。
  2. cd コマンドで vccw フォルダに移動する。
  3. vagrant halt を実行する。

以上です。

これで、ローカルのワードプレスが停止しました。

バーチャルボックスの GUI を起動すると、vccw.test が 電源オフ になっていました。

ローカル環境を削除する手順

Vagrant と VirtualBox から、ローカル環境のゲスト OS を削除する方法です。

ベイグラントデストロイ vagrant destory を実行するのですが、まずはバックアップです。

これまで使っていた WordPress で、必要な情報や設定があれば、バックアップしておきます。

特に、vccw フォルダに作った site.yml は、次回も使うことができます。

site.yml は、別のところにコピーして保存しておくのがおすすめです。

バックアップが不要なら、さっそく削除です。

流れとしては、ローカル環境を停止 ⇒ Vagrant からローカル環境を削除 ⇒ vccw フォルダ削除 となります。

  1. 管理者権限でコマンドプロンプトを起動する。
  2. cd コマンドで vccw フォルダに移動する。
  3. ベイグラントハルト vagrant halt を実行して、ローカル環境を停止する。
  4. ベイグラントデストロイ vagrant destory を実行する。

これで、ローカル環境が消えました。

バーチャルボックスの GUI を起動すると、vccw.test というゲスト OS がなくなっていました。

最後の仕上げです。まだ、vccw フォルダが残っています。

  1. VCCW の zip を解凍して作った vccw フォルダを削除します。

これで、ローカル ワードプレス環境が、完全に消えました。

以上です。

ローカル環境を『もう1度』作る手順

『ベイグラントデストロイ vagrant destory』と『vccw フォルダの削除』をした後で、もう一度新しいローカル環境を作る手順です。

とても簡単でした。

  1. どこか好きなフォルダに、VCCW の zip を解凍する。
  2. 以前に作った site.yml を、vccw フォルダの直下に置く。
  3. Windows の管理者権限で、ベイグラントアップ vagrant up を実行する。

これでまた、新しい WordPress ローカル環境を構築することができました。

もし、VCCW の zip や site.yml のバックアップが無ければ、以下の手順になります。

  1. どこか好きなフォルダに、VCCW の zip をダウンロードして、解凍する。
  2. default.yml コピーして、名前を site.yml にする。
  3. site.yml で、PHP のデバッグ設定を切る(必要なら)。
  4. Windows の管理者権限で、ベイグラントアップ vagrant up を実行する。

以上です。

タイトルとURLをコピーしました