While reading about the WordPress JSON API, and how to send WordPress data between sites, I was again reminded of how cool Vagrant sounds. I had been ignoring its lure but today I was directed to a system called VVV (Varying Vagrant Vagrants) that works with Vagrant, and VirtualBox, to create a local virtual linux server and install everything necessary for a WordPress site. From there I read about Variable VVV that will let you quickly create new WordPress sites to your custom specifications.

Was that enough links for you? No? Well here’s another one about getting started with Vagrant.

It took me most of the morning to get everything installed, commands run, and my first Vagrant machine up and running.

So why the hell is this worth a morning of effort? Well with Variable VVV I have to run one command – vv create – answer a few Y/N questions about the install and in seconds I have a new WordPress dev site up and running.

You can also use a “blueprint” to automatically install themes, plugins, options, or constants that you typically use on a project. Off the top of my head I would have it install underscores, Bootstrap, Advanced Custom Fields (although I don’t think there is an ACF Pro repo), Developer, Jetpack, and WP Sync DB. Again, just one command to do all this after it’s set up. Another option would be to build your standard wp-content folder out in a Github repo and then reference it’s location using the command – vv create --git-repo – this is starting to make the most sense to me.

I’ve been a user of MAMP and MAMP Pro for many years now and version 3 looks better, is much faster and works every time but I have yet to successfully use their automated WordPress install feature, which is still referencing 4.0 when 4.1 is the current stable build, and as far as I can tell that install can’t be customized like with Variable VVV.

I’ll use Vagrant on my next build for the same reason we choose to use Flywheel for staging and production servers: little to no set up and fiddling before you’re doing the work you want to be doing.