Juan Terminio's Blog: Setting Up a Debian VM, Step by Step
Previously, I created a tutorial on installing a 32-bit Ubuntu VM with PHP 5.3.x. I've since moved on to PHP 5.4.x and Debian, which is universally considered a safer bet for a server OS. This tutorial is what I will point back to in the future when I want to show people how to create a VM, so you should consider the Ubuntu-based tutorial obsolete. In reality, Ubuntu is based on Debian, so the bulk of this tutorial will be very similar to the Ubuntu one, albeit with some minor changes here and there.
He starts with a few reasons to use a VM over the more traditional single development system mentality including keeping the "server" off your desktop and the dev-to-production similarity needs. He shows how to use the VirtualBox software and a Debian ISO to create the VM, complete with screenshots of each step of the way (for both host and guest OSes). He also helps you get a few things installed including sudo, setting up the network, configuring the hosts file and installing some common utilities as well as the MySQL, Apache, PHP and Samba combination (with PHP compiled from the 5.4.x source).