Installing Chef - The User Bits

Installing everything you need to work with Chef

Have you ever been frustrated with managing your server infrastructure and knew there had to be a better way?

Have you ever built a server in a rush at 2:00 in the morning, only to realize on your way home that you forgot an important part of the build?

Have you ever managed a server that someone else built that you thought might not be 100% correct, but couldn't put your finger on why?

Have you ever needed to expand capacity due to a load spike right now, but knew that it would take 3-4 hours to stand up additional servers?

There's an old saying in IT, that I just made up right now: "If there are 2 steps in building a server, there are three ways to get it wrong." Well, it may not exactly be an old saying, but sometimes it sure feels that way, and the math backs me up!

Thankfully, there is a better way, and its name is Configuration Management (CM), Change Management, or possibly "Infrastructure as Code", but whatever you call it, it is nothing new. CFEngine, arguably the first CM tool above shell scripts, began as a project in 1993 and has been in constant development ever since, becoming a commercial entity in 2008. Today's CM field is crowded, CFEngine, Chef, Puppet, Ansible, SaltStack and many others make it difficult to choose which one is right for you. Whichever you choose, the goal is the same, to take the pain and human error out of your infrastructure and let computers take care of the boring, repetitive and error prone nature of configuring servers/desktops/whatever.

Is Chef right for you? I can't say definitively. At least not without talking to you about your particular environment, the number of servers, how many people you have on your team, your familiarity with Ruby programming and a bunch of other things. What I can do for you however, is make the time you spend with Chef as easy and painless as it can possibly be, whether you are evaluating Chef to use for your infrastructure, or you've decided to learn Chef as a skill, because I've gone through that pain for you.

In this course, we'll learn the basics of installing Chef on a Virtual Machine, inside Oracle's VirtualBox application. We'll install the ChefDK, Chef's modern single installation package that includes everything you need to get started with Chef:

We'll walk you through a simple way to use Vagrant, Hashicorp's awesome virtual machine manager to setup our development environment for use, and use Chef to install Chef!

When we're done, we'll have a fully functional, though bare bones, ChefDK based development environment inside a virtual machine. We can use Chef and Vagrant to modify this virtual machine at will, including destroying it and rebuilding it whenever we want!

We'll then log in to the virtual machine, and take a quick tour, stopping at the interesting places, and show you around the ChefDK. You'll know what it takes to get Chef installed, and what it looks like when it is installed.


Your Instructor


Morgan Nelson
Morgan Nelson

Morgan is an accomplished developer and network administrator. Working for Internet Service Providers beginning in the 1990's, Morgan learned about TCP/IP networking, Linux servers, and the nightmare that is rebuilding a mail server from scratch at 2:30 in the morning.

Deciding that being on call 24x7 wasn't for him, he returned to college and finished a double major in Computer Science and Software Engineering and hopped the fence into the greener pasture of programming in time to catch the Ruby on Rails train.

Still, he missed getting his hands dirty in the bowels of the servers and was looking for a way to use all of his skills together when the DevOps movement started gaining momentum. Two tools for managing server configuration emerged at around the same time, Puppet and Chef, and just his luck, both were written in Ruby, the language he'd been using for the past few years!

He took the first chance he got to apply his software skills to manage the nearest server and never looked back. He enjoys sharing his understanding with others, and is an avid member of many user groups in the Dallas area around DevOps and software development. He can also be found online in several community forums, most often the Chef Provisioning Gitter channel, using the handle @korishev.

Now if he could just figure out how to get back off the on-call list again!


Course Curriculum


  Getting Started - Installing VirtualBox and Vagrant
Available in days
days after you enroll

Frequently Asked Questions


When does the course start and finish?
The course starts now and has no firm ending date! It is a completely self-paced online course - you decide when you start and when you finish. We will remove the course at some point in the future, but that date has not been decided yet, and is the only ending date.
How long do I have access to the course?
How does limited lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own, as long as the course it up. We will remove the course at some time in the future, when the information becomes obsolete or has been incorporated into another course, or for some other unforeseen reason. But really, it's free, right? We can't keep it up forever!
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund of the nothing you paid for it!

If you've ever wanted to try out a Configuration Management tool, and have ever looked into Chef, this is a great way to start! We use Hashicorp's Vagrant tool to build a linux virtual machine, we use Chef to install the Chef Development Kit (ChefDK) in that virtual machine, and get you started with a clean Chef Development environment that isn't on your local PC, so there's no danger in messing up your work environment.

We also keep it simple. We don't need to run a Chef Server. We don't need an account on a hosted Chef server. Everything we need is right on our PC, or is a simple download away.

The best part is: because we're using tools to build a virtual machine, if something bad happens to the virtual machine, we can recreate it easily using the same tools we used to built it in the first place! The very same tools we are learning about, Vagrant and Chef! That's like having a safety net made of kittens, rainbows and baby laughter! But no unicorns. Safety nets made of unicorns are a bad idea.

You can then either use that virtual machine to continue your Chef education, or take the knowledge you'll gain in this course to build a virtual machine more suited to your environment and carry on there. Either way, you'll be in a unique position to build upon the fundamentals of Chef, in a safe, controlled manner.

There's no better time to learn about Chef, so what's stopping you? ENROLL NOW!

Get started now!