DrupalVM + NFS on Ubuntu

DrupalVM is a great project with some very complete documentation. However, for some reason I kept having difficulty getting it to work on Ubuntu despite seemingly straightforward instructions including a reference to DigitalOcean documentation (usually very good) about getting NFS running on Debian/Ubuntu.

After a few mis-starts, I think I have found the magic combination to getting it all running on a new Ubuntu-based system. As with most things, it seems incredibly simple in hindsight. One major prerequisite is that NFS does not work reliably with home directory encryption turned on. If you must run with this you’ll have to turn off NFS support in DrupalVM. Once you have that squared away, here’s the basic process:

  1. sudo apt-get update
  2. sudo apt-get install nfs-common
  3. apt-get install nfs-kernel-server
  4. sudo apt-get install virtualbox  – you may need to make sure your software sources is configured correctly, usually needs to include Canonical Partners
  5. sudo apt-get install vagrant
  6. sudo apt-get install ansible
  7. sudo apt-get install git
  8. git clone https://github.com/geerlingguy/drupal-vm.git
  9. cd drupal-vm
  10. sudo ansible-galaxy install -r provisioning/requirements.yml --force
  11. vagrant plugin install vagrant-hostsupdater
  12. vagrant plugin install vagrant-vbguest
  13. [edit config files]
  14. vagrant up

The key pieces, I’ve found, are installing the nfs-common  package and the vagrant-vbguest  plugin.

The end result is a DrupalVM with NFS (much more performant) with magical DNS capability (via vagrant-hostsupdater, no need to edit /etc/hosts). If you add new sites to the config file just run vagrant provision  to quickly get them configured in the VM and added to your local DNS  without losing anything else or needing to wait for a full VM rebuild.

One more pro-tip: mimicking the Acquia cloud platform is super-simple with DrupalVM since it includes a yml override file to match Acquia’s hosting environment.