We use Vagrant as command-line virtualbox wrapper. Mainly to test EasyEngine builds which require fresh OS.
You can get Vagrant for your OS from this page.
Getting Started
Create a folder for your work environment and change into it.
mkdir vagrant-work && cd vagrant-work
Create a Ubuntu 14.04 LTS 64-bit box
vagrant init ubuntu/trusty64
Above command quickly initializes a vagrantfile in your vagrant-work folder.
Next, we need to start (boot) it by running command:
vagrant up
Above command may take longer for first time as entire OS image gets downloaded behind the scene!
Next, log into the box via SSH!
vagrant ssh
Forwarding Port 80 from Mac
First, we need to configure vagrantfile to redirect traffic from 8080 to 80 inside localhost:
config.vm.forward_port 80, 8080
Mac OS – till Maverick
If you wish to dedicate port 80 to web-server running inside vagrant i.e. in virtual machine, please run follow command on Mac OS terminal:
sudo ipfw add 100 fwd 127.0.0.1,8080 tcp from any to me 80
Above will forward any traffic on host machine’s port 80 to port localhost’s 8080.
You can make this permanent as well by following instructions from Douglas Muth.
Mac OS – Yosemite onwards
Install a vagrant plugin
vagrant plugin install vagrant-triggers
Add following to vagrant config file before end
config.trigger.after [:provision, :up, :reload] do
system('echo "
rdr pass on lo0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 8080 " | sudo pfctl -ef - > /dev/null 2>&1; echo "==> Fowarding Ports: 80 -> 8080 & Enabling pf"')
end
config.trigger.after [:halt, :destroy] do
system("sudo pfctl -df /etc/pf.conf > /dev/null 2>&1; echo '==> Removing Port Forwarding & Disabling pf'")
end
Above vagrant config is taken from here.