Vagrant
Vagrant is a tool for building and distributing environments
... a consistent workflow. Mirror production environments by providing the same operating system, packages, users, and configurations, all while giving users the flexibility to use their favorite editor, IDE, and browser. Share files and folders between a local machine and the Vagrant box. Start by following a tutorial to create a simple environment with Vagrant or learn about how the project works by exploring the documentation.