One of my previous posts concerned how to install Nagios3 from source on Debian Etch.  One of the comments I recieved was that you should generally use the packages available for install.  I agree with this entirely, however there’s no challenge in just using the packages and I’ve found myself getting lazy when it comes to installing stuff recently, so here’s how to install the excellent Puppet configuration management engine from source on Debian Etch.

Most of the steps are taken from this document on the puppet wiki, however there are a few modules that will need to be installed before we can follow the installation.

OK, first things, first, let’s install the dependencies.

The version of Git installed by default in Debian Etch is quite old, so let’s add the backports repository to /etc/apt/sources.list using your favourite editor:

deb http://www.backports.org/debian etch-backports main contrib non-free

Now let’s install the required programs from backports:

aptitude -t etch-backports install git-core git-svn git-doc

And finally the libraries that we require for facter and puppet:

aptitude install ruby libopenssl-ruby1.8 rdoc

Now for installing the source code etc (this has been copied almost exactly from here).

Create a directory to copy the GIT repository into:

mkdir ~/git

Setup the variable for the directory and change to the directory:

export SETUP_DIR=!$

cd $SETUP_DIR

Now get the source:

git clone git://reductivelabs.com/facter
git clone git://reductivelabs.com/puppet

Now let’s install facter:

First, we need to let Ruby know where the libraries and sources are:

PATH=$PATH:$SETUP_DIR/facter/bin:$SETUP_DIR/puppet/bin
RUBYLIB=$SETUP_DIR/facter/lib:$SETUP_DIR/puppet/lib
export PATH RUBYLIB

Now we can install facter:

cd facter
ruby ./install.rb

And then install puppet

cd ../puppet
ruby ./install.rb

and that’s it, job done!