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 InstallBefore 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 SoloChef Client and Chef Solo are bundled together and follow an identical installation process.
System RequirementsPlatformChef is known to run on the following platforms. Noted versions or newer are recommended to ensure that dependencies build or install.
RubyChef 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. |
Table of Contents |
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.