Erika Heidi has posted the first part of a series about using Vagrant to build development environments - a portable one that can be dropped onto any machine as a VM.
If you never heard about Vagrant, this is the right moment to get acquainted to it. Vagrant is getting very popular amongst open source projects, because it provides a portable and reproducible development environment using virtual machines. You will never be hostage of the “works on my machine” statement again; the environment is exactly the same for all the developers, regardless of the operational system running as the host machine (although everything can get messy with Windows).
She walks you through the typical Vagrant installation (via apt-get) and mentions the need for VirtualBox separately on OSX. She talks about providers, provisioners and the configuration Vagrant uses to define the boxes it builds - the Vagrantfile. When the "vagrant up" is run, the box is downloaded from the provider, configured and set up as a complete VM, ready for use.