In the early years, like most other developers, my local environment was configured with MAMP. There are OS based equivalents, i.e. XAMP and WAMP.

It was pretty straight forward, point and click and you have a stable LAMP stack to develop with.

I actually haven’t really reached its limits until I starting working on web applications. These sorts of projects require custom tailored PHP configurations and libraries.

The next setup I used was the internal OS X Apache system. I installed package managers like homebrew to bolt on packages like MySQL and PHPmyAdmin.

This took forever, for me, and every erase-and-install produced different results. I would do this about every other year. It’s my Windows (XP SP2) side still showing.

This setup was pretty solid and I felt “minimal” by not having any applications installed to run my environment. But of course it had its challenges it seemed with every OS X release, and in a couple cases some OS point releases.

Vagrant was something I was desperate for. At the very least the idea of it. Though with its learning curve, my career path,  and family I never seemed to have the allotted time to truly dive in and get my hands dirty.

Luckily I get to work with Laravel everyday so Homestead changed that. It’s unbelievable easy to get setup for both global boxes with multiple projects or as a per-project install. Leveraging Vagrant and Virtualbox you can spin up an environment with very little work.

Now with a slight addition to my project readme, I can share a few instructions for a fellow engineer to: spin up a virtual server, install Laravel & it’s dependencies, migrate a database and even seed it with data. We’ve come a long way from local GUI environment managers.