Раньше использовал
Vagrant +
PuPHPet для генерации конфигов, пока не особо понимал, как оно работает.
Следующим шагом был отказ от PuPHPet в сторону собственноручно написанных Vagrantfile для проектов. (что логично - хоть сколько-нибудь сложный проект как ни крути потребует какой-то доработки напильником)
Сейчас окончательно ушел от Vagrant в сторону Docker,
Плюсы этих инструментов - у любого человека в команде абсолютно одинаковое локальное окружение (с которым можно работать еще и под любой OS). Докер еще и на продакшн сервер можно деплоить, тогда продакшн и локалка отличаться не будут также. И опять же систему не засорять мусором под каждый проект - все ставится в контейнеры/виртуалку.
Всякие MAMP/Open Server/ Denwer желательно насильно себе отключать и разбираться, как работает наш стек на самом деле, без сокрытия реализации. Это сложнее, но если есть желание расти - даст куда больше пользы, чем проблем.