VCCWをスマホから見れるようにする

VCCW で作成した仮想マシンは、デフォルトの設定では Virtualbox の内部ネットワークに接続されるため、VCCW を動作させているホストPCからしかアクセスできません。

VCCW を使ってテーマ作成などをしていると当然スマホからどう見えるかも確認したいところです。Chrome の開発者ツールで仮想的にスマホでの見た目を見ることもできますが、やはり限界があり、実機で見るとレイアウトが大きくずれてしまっている、なんてこともあります。

今回は、VCCW で作成した仮想マシンをホストOSと同じネットワークにブリッジ接続する方法を紹介します。これによって同ネットワーク内にある別の端末(PCやスマホ)からアクセスできるようになります。

環境

以下の環境で動作確認しています。

  • VCCW 3.18.0
  • Vagrant 2.1.2
  • Virtualbox 5.2.12

1.すでにプロビジョニングを行なっている場合

仮想マシンを停止

起動している場合は一度停止します。

$ vagrant halt

site.yml の編集

19行目にある  ip を変更します。ここには仮想マシンに設定したいIPアドレスを指定してください。IPアドレスはホストPCやスマホと同じネットワークで、まだ使われていないものにする必要があります。

今回はホストPCが 192.168.0.3/24 なので仮想マシンに 192.168.0.150 を設定します。

ip: 192.168.0.150

Vagrantfile の編集

ネットワーク設定を内部ネットワーク接続ではなくブリッジ接続に変更します。

52行目の以下の行を

  config.vm.network :private_network, ip: _conf['ip']

以下のように修正します。

  config.vm.network :public_network, ip: _conf['ip'], hostsupdater: "skip"

:private_network を :public_network に変更し、IPアドレスで直接アクセスするようにするため hostupdater を無効にしています。

仮想マシンを起動

仮想マシンを起動します。

$ vagrant up

接続するネットワークを聞かれた場合はスマホが接続しているネットワークを選択します。

WordPressのURLを変更

一度でもプロビジョニングをしていると WordPress の URL が vccw.test などになっているので、これを先ほど指定したIPアドレスに変更します。

まず仮想マシンにSSH接続します。

$ vagrant ssh

WP-CLI で変更します。URLとIPアドレスは適宜書き換えてください。

$ cd /vagrant/wordpress
$ wp search-replace vccw.test 192.168.0.150

movefile などは適宜手動で変更する必要があります。


2.まだプロビジョニングしていない場合

site.yml の作成

$ cp provision/default.yml site.yml

site.yml の編集

18, 19行目にあるhostname と ip を変更します。プロビジョニングをしている場合と同じように、IPアドレスはホストPCやスマホと同じネットワークで、まだ使われていないものにする必要があります。

hostname 192.168.0.150
ip: 192.168.0.150

サイトURLとして hostname が使用されるので、 ip と合わせて変更しています。

Vagrantfile の編集

ネットワーク設定を内部ネットワーク接続ではなくブリッジ接続に変更します。

52行目の以下の行を

  config.vm.network :private_network, ip: _conf['ip']

以下のように修正します。

  config.vm.network :public_network, ip: _conf['ip'], hostsupdater: "skip"

:private_network を :public_network に変更し、IPアドレスで直接アクセスするようにするため hostupdater を無効にしています。

仮想マシンを起動

仮想マシンを起動します。

$ vagrant up

接続するネットワークを聞かれた場合はスマホが接続しているネットワークを選択します。


スマホから確認

スマホからIPアドレスで仮想マシンにアクセスします。今回の例ではIPアドレスは 192.168.0.150 なので、Chrome のアドレスバーに192.168.0.150 と入力します。

アクセスできれば成功です!


おわり

ドメインが使えないのでいちいちIPアドレスを直打ちしなければならないのが難点ですが、それ以外のデメリットはほとんどないと思います。wordmove によるデプロイも通常通り可能です。

スマホから見れなくて困っているという方は、念のためバックアップを取ってから試してみてください。