For a fully-featured VM environment for Drupal, please check out Drupal VM.
This project makes local Drupal test/development environment management quick and easy. It installs the following on an Ubuntu VM:
- Apache
- PHP
- MySQL
- Drush
- Drupal
It takes 5-10 minutes to build or rebuild the VM from scratch on a decent broadband connection.
- Download and install VirtualBox.
- Download and install Vagrant.
- [Mac/Linux only] Install Ansible.
Note for Windows users: This guide assumes you're on a Mac or Linux host. Windows support may be added when I get a little more time; the main difference is Ansible needs to be bootstrapped from within the VM after it's created. See JJG-Ansible-Windows for more information.
- Download this project and put it wherever you want.
- Open Terminal, cd to this directory (containing the
Vagrantfile
and this README file). - Type in
vagrant up
, and let Vagrant do its magic.
Note: If there are any errors during the course of running vagrant up
, and it drops you back to your command prompt, just run vagrant provision
to continue building the VM from where you left off. If there are still errors after doing this a few times, post an issue to this project's issue queue on GitHub with the error.
- Edit your hosts file, adding the line
192.168.88.8 drupal.test
so you can connect to the VM. - Open your browser and access http://drupal.test/.
- To shut down the virtual machine, enter
vagrant halt
in the Terminal in the same folder that has theVagrantfile
. To destroy it completely (if you want to save a little disk space, or want to rebuild it from scratch withvagrant up
again), type invagrant destroy
. - You can change the version of Drupal installed by editing the variables within
vars.yml
. - Find out more about local development with Vagrant + VirtualBox + Ansible in this presentation: Local Development Environments - Vagrant, VirtualBox and Ansible.
- Learn about how Ansible can accelerate your ability to innovate and manage your infrastructure by reading Ansible for DevOps.
This project was created by Jeff Geerling as an example for Ansible for DevOps.