Opscode
Home     Introduction to Chef     Cookbooks     Blog     GitHub     Tickets 

Installation

Current Release

The current release of Chef is 0.9.8

Looking for instant gratification? The quick start guide will get you up and running quickly on Ubuntu or Mac OS X using the Opscode platform. If you prefer to install your own server or are using a different platform, continue on.

Before you Install


Before installing Chef, you should take a moment to understand the various "flavors" of chef: client-server, chef-solo, and the Opscode Platform. Deciding which one is right for you will impact your installation process.

You may also want to take a quick look at Chef's architecture to get an idea of what you're installing before you proceed.

How Do You Want to Install Chef?


Installing Chef Server

Installing Chef Client and Chef Solo

Chef Client and Chef Solo are bundled together and follow an identical installation process.

System Requirements


Platform

Chef is known to run on the following platforms. Noted versions or newer are recommended to ensure that dependencies build or install.

  • Ubuntu (6.06, 8.04-9.10)
  • Debian (5.0)
  • RHEL & CentOS (5.x)
  • Gentoo (1.12.11.1)
  • FreeBSD (7.1)
  • OpenBSD (4.4)
  • Mac OS X (10.4, 10.5)
  • OpenSolaris (2008.11)
  • Solaris 5.10 ( u6 )

Ruby

Chef is written in Ruby, so you need to have Ruby installed.

Ruby 1.8.6, 1.8.7, 1.9.1, or 1.9.2 with SSL bindings. Chef Client is known to work with Ruby 1.8.5 as well.

Chef Dependencies


Installing Chef from RubyGems will also install its Ruby dependencies. Non-Ruby dependencies are installed separately.

Installing Chef from platform-specific packages will install the Ruby dependencies, and the non-Ruby dependencies through the platform's dependency handling.

Client/Solo

Libraries/programs required for chef-client or chef-solo.

Gems written and provided by Opscode:

  • mixlib-authentication
  • mixlib-cli
  • mixlib-config
  • mixlib-log
  • moneta
  • ohai

External gems:

  • bunny
  • erubis
  • extlib
  • highline
  • json
  • rest-client
  • uuidtools

All gems are available from rubygems.org

Server

[Chef Solr], which manages denormalizing and indexing data, and is usually run on the same host as Chef Server in smaller installations, requires the following additional gems:

  • libxml-ruby

In addition to the client dependencies above, Chef Server requires:

  • merb-assets
  • merb-core
  • merb-helpers
  • merb-param-protection
  • merb-slices
  • thin

Additionally for the webui:

  • merb-haml
  • haml
  • coderay

Non-Ruby dependencies:

For ease of installation, we recommend using an OS platform for the Chef Server that has these available as native packages.

Preparation and Installation


The following sections describe how to prepare your system(s) to install Chef from either platform-specific packages or from RubyGems.

Other Platform Packages

The following pages describe how to install platform-specific packages. Package-based installations should handle installing Chef and its dependencies, setting up a base configuration, and starting the required services for clients or servers.

Packages for OpenBSD and FreeBSD are in progress.

RubyGems

The pages below describe how to get various platforms set up to install Chef from RubyGems.

Some RubyGems need to compile extensions and libraries from source. You will need to have the appropriate development headers and compiler tools installed on your system. The following pages will help you get that, and also include the RubyGems installation instructions right in line. Some of these pages may need updates.

Once you have prepared your system, or if it is already prepared, see:

Upgrading Chef


Next Steps


Now that you have Chef installed, you're ready to configure your environment to use it.

If you installed Chef from platform-specific packages (deb, rpm, etc), see how to set up a Chef Repository so you can start cooking.

If you installed Chef from RubyGems, see how to Bootstrap Chef RubyGems Installation.

Getting Installation Help


JSON 1.4.3 gem issue

The JSON RubyGem version 1.4.3 released recently has an issue that causes ohai to bail out, and Chef Clients to not properly save node attributes to the Chef server. The latest releases of ohai and Chef specify a dependency on version <= 1.4.2. If you do a gem update and get JSON 1.4.3, you need to downgrade.

Please see Getting Help With Chef for information on how to get help.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Copyright © 2009 Opscode, Inc. All Rights Reserved.