Opscode
Home     Cookbooks     Blog     GitHub     Tickets 

Package Installation on Debian and Ubuntu

In Development

The current packages included in Ubuntu 9.10 are version 0.7.10, which is several months old. The latest version in the 0.8 series is not packaged officially for Ubuntu / Debian yet. You can see this ticket for current status and progress.

Joshua Timberman has posted a PPA for development and testing the Chef 0.8.x packages. Information about this is posted on the chef-dev mailing list. These packages are under active development.

These instructions use the Opscode APT repository. Opscode maintains the packages on this APT repo, as well as the packages that get included in Debian and Ubuntu's repositories.

Supported distribution releases with codenames and components.

  • Ubuntu 9.10 karmic universe
  • Ubuntu 9.04 jaunty universe
  • Ubuntu 8.10 intrepid universe
  • Ubuntu 8.04 hardy universe
  • Debian 5 (lenny/stable, squeeze/testing, sid/unstable) debian contrib

Add the Opscode APT Repository


Create /etc/apt/sources.list.d/opscode.list.

/etc/apt/sources.list.d/opscode.list

Replace codename with the distribution codename per the list at the top of this page, or in distribution configuration (canonical straight from the repo).

Add the GPG Key and Update Index


Before you install the packages, make sure you add the Opscode GPG key to apt.

RubyGems Note


The Chef library package (libchef-ruby1.8) 'recommends' but doesn't depend on the 'rubygems' package. When using apt-get, this will not install rubygems, but using aptitude it will. There are several tickets opened related to this behavior.

Launchpad:

Opscode's Jira:

If rubygems is not installed, ohai will not run properly. You aren't required to use rubygems, it just needs to be present.

Install a Server


Install everything to get a nice chef-server up and running.

This will:

  • Install all the dependencies for Chef Server, including Merb, CouchDB, Stompserver, etc.
  • Starts CouchDB (via the couchdb package).
  • Starts stompserver (via the stompserver package), running on localhost:61613.
  • Start chef-server via /etc/init.d/chef-server, running two mongrels on ports 4000 (webui/api) and 4001 (openid).
  • Start chef-indexer via /etc/init.d/chef-indexer, connecting to the stompserver.
  • Start chef-client via /etc/init.d/chef-client.
  • Add configuration files in /etc/chef for the client, server, indexer and solo.
  • Create all the correct directory paths per the configuration files.

Install a Client


Install just a client. This is also applicable if you're planning to run chef-solo.

This will:

  • Install all the dependencies for Chef as a client.
  • Start chef-client via /etc/init.d/chef-client.
  • Add configuration files in /etc/chef for the client, server and indexer.

If you are planning to run chef-solo, you can stop and disable the chef-client service. The configuration file for chef-solo is /etc/chef/solo.rb.

Configuration


Normally with our other installations this is the point where you would run the chef-solo bootstrap. The packages for Ubuntu do not require this step, but you may wish to take a look at the configuration files and see if they meet your needs, or modify for your environment. The files are commented, and located in /etc/chef (*.rb in that directory).

Next you'll probably want to set up a local repository to store configuration for your infrastructure.

Chef Bootstrap Cookbook

The bootstrap tarball/cookbook is not needed for package installations of Chef. The packaging handles all the tasks of the bootstrap. You may wish to manage the Chef configuration for your nodes, which can be accomplished with the Opscode Chef Cookbook

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

Copyright © 2009 Opscode, Inc. All Rights Reserved.