This is a comprehensive course designed to show how to setup local development environments using Vagrant and related tools.
Just Updated: May 25, 2015! New bonus section added (Chef Solo).Course Outline
Introduction provides an overview for the course, cover the core concepts for Vagrant, how to get the course materials.
Installation provides step-by-step instructions on how to setup Vagrant, VirtualBox, and other tools needed for the rest of the course on both Windows and Mac platforms.
Getting Started walks through the basics of using Vagrant and how to version control (using Git) a project using Vagrant.
Boxes covers how to find, manage and use Vagrant boxes.
Plugins walks through finding, using and managing plugins in Vagrant in order to extend Vagrant's functionality.
Provisioning covers how to write file and shell provisioners to automatically install software when Vagrant first runs or on demand. After learning the basics of provisioning, this section ends with a full-fledged LAMP-stack provisioned.
Multiple Virtual Machines walks through using Vagrant with a multiple VM configuration, when we dissect the LAMP stack in the previous section and create two virtual machine definitions within one configuration file.
Conclusion has some final thoughts on Vagrant and provides links to resources for additional learning.
Bonus! sections feature advanced topics like creating custom Vagrant boxes and using the Chef Solo provisioner.Course Features
Presentations provide audio/video training of conceptual ideas in each major area or introduction of new concepts.
Screencasts provide a video of the instructor's computer system with any actions, commands, or screens displayed and narrated. There are several hours of screencat video content -- it makes up the vast majority of the course. Any command line based screencast will include a command listing in the lecture downloads.
Several attachments throughout the course provide supplemental information, illustrations, or other reference material.
This lecture goes over the course goals, course overview and assumptions/requirements for the course.
Goes over the main concepts for solving the developer box issue and focuses on critical Vagrant terms.
Links to the two GitHub repositories used throughout the course. Also provides links to other resources, like the course website.
Overview of the installation process for Vagrant and related tools.
Step-by-step walk-through of installating Vagrant, VirtualBox, and related tools on the Windows platform.
Step-by-step walk-through of installating Vagrant, VirtualBox, and related tools on the Mac OS X platform.
How to use and manage Vagrant to control virtual machines running in VirtualBox.
How to use Git version control system with Vagrant-based projects.
How to list, add, update, and remove Vagrant boxes.
How to find, install, and use new Vagrant boxes from VagrantBox.es and Vagrant Cloud websites.
Plugins are a way to extend the basic functionality of Vagrant. This lecture demonstrates how to use, add, update, and remove plugins in Vagrant.
Section introduction to provisioning in Vagrant. Covers core concepts used throughout the section.
Create a LAMP stack VM by manually provisioning on top of a base CentOS image, then create a customized new baseline after the manual provision process.
How to use the File provisioner in Vagrant. This lecture covers some setup that is used in other lectures as well.
Covers how to write a shell provisioner in Vagrant in three ways -- inline, heredoc, and external.
Complete walk-through of setting up a LAMP (Linux, Apache, MySQL, and PHP) stack using the File and Shell provisioners. This example has been divided into two parts, this is the first part.
Complete walk-through of setting up a LAMP (Linux, Apache, MySQL, and PHP) stack using the File and Shell provisioners. This example has been divided into two parts, this is the second part.
Up to now, this course has focused on just one virtual machine definition per Vagrant configuration. However, Vagrant support multiple virtual machine definitions at once. This lecture covers how to provision and use a multi-VM setup in Vagrant.
Some parting words and recommended resources for the official end of the main course. The Bonus section pickups with advanced and non-core topics.
List of resources available on the Internet.