This is my default setup for developing most LAMP stack web applications.  It uses Vagrant, PuPHPet and Puppet.