Vagrant is a very powerful tool primarily because of the following key concepts it can manage for us:
Virtualization
Provisioning
Box distribution
Sharing
In Chapter 1, Getting Started with Vagrant and Chapter 2, Managing Vagrant Boxes and Projects, we learned to use Vagrant to manage virtual machines for us. While this is useful, at this stage, these virtual machines are dumb; they have very little software installed for us to use, and they are certainly not configured for our projects.
There are two approaches we can use to set up a Vagrant-managed virtual machine with all the software required for a project:
Preconfigured base boxes are useful and have their place. If we were always using a specific configuration or we were creating a Vagrant environment for an open source project...