Skip to content

Instantly share code, notes, and snippets.

@eyasuyuki
Last active May 29, 2022 00:58
Show Gist options
  • Star 8 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eyasuyuki/4975a91abc3e2b140f0a to your computer and use it in GitHub Desktop.
Save eyasuyuki/4975a91abc3e2b140f0a to your computer and use it in GitHub Desktop.
「体系的に学ぶ 安全なWebアプリケーションの作り方」の仮想環境をVagrantで動かす

前提条件

2015-10-28 現在

  • OS X 10.11.1
  • VirtualBox
  • Vagrant

仮想マシンイメージの入手またはダウンンロード

書籍版は付録CD-ROMからコピーする。

電子書籍版は2ページに書かれているURLからダウンロードする。

仮想マシンイメージとサンプルコードの展開

.zipフィルのパスワードは電子書籍版の2ページに書かれている。

unzip WASBOOK.zip

VMWareイメージをVirtualBoxイメージに変換する

cd WASBOOK
Vboxmanage clonehd --format VDI wasbook.vmdk wasbook.vdi

c.f.) http://dackdive.hateblo.jp/entry/2014/01/14/012255

VirtualBox VMを生成する

VBoxManage createvm --name WASBOOK --register
VBoxManage modifyvm WASBOOK --memory 1024 --acpi on --nic1 nat
VBoxManage modifyvm WASBOOK --ostype Linux_64
VBoxManage storagectl WASBOOK --name "IDE Controller" --add ide
VBoxManage modifyvm WASBOOK --hda wasbook.vdi

c.f.) http://blog.livedoor.jp/sonots/archives/41996329.html

eth0が識別されない現象を回避する

VirtualBoxからVMを起動し、root権限で以下を行う。 rootパスワードは本文中に書かれている。

ln -s -f /dev/null /etc/udev/rules.d/70-persistent-net.rules

c.f.) http://qiita.com/tarr1124/items/8276e609c0f7cdec79e7

vagrantユーザーを登録する

VirtualBoxからVMを起動し、root権限で以下を行う。

adduser vagrant
passwd vagrant	# パスワードもvagrant
visudo			# vagrant ALL=(ALL) NOPASSWD:ALL を追加

c.f.) http://blog.livedoor.jp/sonots/archives/41996329.html

vagrantユーザーの鍵を登録する

VirtualBox VMにroot権限でログインし以下を行う。

apt-get install curl
sudo su - vagrant
mkdir .ssh
curl https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub > .ssh/authorized_keys
chmod 0755 .ssh
chmod 0644 .ssh/authorized_keys

c.f.) http://blog.livedoor.jp/sonots/archives/41996329.html

Vagrant boxを生成する

ホストOSで以下を行う。

vagrant package --base WASBOOK --output WASBOOK.box
vagrant box add WASBOOK WASBOOK.box
vagrant init WASBOOK # Vagrantfile ができる。
vagrant up

c.f.) http://blog.livedoor.jp/sonots/archives/41996329.html

プライベートネットワークを有効にする

vi Vagrantfile

以下のコメントを解除する

  config.vm.network "private_network", ip: "192.168.33.10"

VMを再起動する

vagrant reload

pingで確認してみる

ping 192.168.33.10

/etc/hostsファイルにテスト用ホスト名を追加する

192.168.33.10	example.jp	trap.example.com

ブラウザでアクセスしてみる

http://example.jp/

Fiddlerがなくても、Firefoxでリクエスト/レスポンス/クッキーをダンプしたり、hidden要素の内容を書き換えてPOSTしたり出来るので便利。

@mamoru0217
Copy link

有益な情報ありがとうございます!

以下の部分にタイポがあるようです。

誤) VBoxManage modifyvm WASBOOK --hda wasboox.vdi

# x => k
誤) VBoxManage modifyvm WASBOOK --hda wasbook.vdi

@eyasuyuki
Copy link
Author

ご指摘ありがとうございます。typoを訂正しました。
また、eth0を識別しない対策をvagrantユーザー追加よりも前にしました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment