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 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. |
- Package Installation on Debian and Ubuntu (Opscode package repository)
- Package Installation on Ubuntu 9.10 (Ubuntu universe repository)
- Installation on RHEL and CentOS 5 with RPMs (ELFF/EPEL, should work for Fedora too)
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.
- Preparing Debian and Ubuntu for RubyGems
- Preparing Gentoo for RubyGems
- Preparing FreeBSD for RubyGems
- Preparing OpenSolaris 2008.11 for RubyGems
- Preparing Red Hat and CentOS 5 for RubyGems
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.