Opscode
Home     Cookbooks     Blog     GitHub     Tickets 

Installation

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)

Ruby

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

Ruby 1.8.6 or 1.8.7 with SSL bindings. Chef Client is known to work with Ruby 1.8.5 as well. However, Merb which is required by Chef Server requires Ruby 1.8.6 or 1.8.7, but does not work with Ruby 1.9+.

Support for Ruby 1.9 is an open ticket.

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 (-cli, -config, -log, -authentication)
  • ohai

Gems available from RubyForge/GemCutter:

  • json
  • erubis
  • extlib
  • amqp
  • bunny
  • moneta
  • ruby-hmac
New in Chef 0.8.x

mixlib-authentication, moneta, ruby-hmac, bunny, amqp

Server

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

  • merb (-core, -assets, -helpers, -slices)
  • thin
  • json
  • uuidtools
  • libxml-ruby

Additionally for the webui:

  • merb (-haml, -param-protection)
  • 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.

New in Chef 0.8.x

merb-param-protection, Java, RabbitMQ, CouchDB 0.9.1+

Source

Installing Chef from source requires RubyGems. See the Installing Chef from HEAD and the README.rdoc in the Chef source tree for more information.

Preparation and Installation


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

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.

Version Chef 0.8.x

Packages for version 0.8.x are not available yet. Opscode is working on Debian / Ubuntu packages, and Matthew Kent is working on Red Hat / CentOS / Fedora packages.

Packages for OpenBSD and FreeBSD, and ebuilds for Gentoo 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


Upgrading Chef is pretty easy, generally you just need to update to the latest RubyGems or package release.

See Upgrading Chef 0.7.x to 0.8.x.

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


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.