Skip to content

How to Install a Puppet Master and Client Server

Puppet is an open-source next-generation server automation tool. It is composed of a declarative language for expressing system configuration, a client and server for distributing it, and a library for realizing the configuration.

Setup the EPEL repos for Centos – choose the correct package depending on your installation.

rpm -Uvh

rpm -Uvh

Install puppet-server

yum install puppet-server

The 1.8.5 branch of Ruby shipped will RHEL5 can exhibit memory leaks. So install ruby 1.8.6++ (I did not on this server as it was test not a production server).

Install the help docs

yum install ruby-rdoc

Create a manifest file at /etc/puppet/manifests/default.pp

vi /etc/puppet/manifests/default.pp

put this in it

# Create “/tmp/testfile” if it doesn’t exist.

class test_class {

    file { “/tmp/testfile”:

       ensure => present,

       mode   => 644,

       owner  => root,

       group  => root



# tell puppet on which client to run the class

node pclient {

    include test_class


Start the puppet server

service puppetmaster start

Enable start on boot

chkconfig puppetmaster on

Now to install the Puppet Client on another server

Setup the EPEL repos for Centos – choose the correct package depending on your installation.

rpm -Uvh


rpm -Uvh

Install puppet

yum install puppet

Setup puppet client to generate its own certificate request to the server

/etc/init.d/puppet once -v

Sign the certificate request on the puppet master server. Use puppetca –list to see if any are available to sign.

puppetca –sign puppet01

Puppet01 must be the fully qualified domain name (FQDN) of you client server.

Run this on the client server again to retrieve the certificate

/etc/init.d/puppet once -v

Make the puppet start with the system

chkconfig puppet on

Make sure it is working on the client server.

puppet –test

You should see a dialog that creates the file /tmp/testfile

Posted in Linux.

2 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. f says

    I’m getting “Parse error: syntax error, unexpected T_STRING in /home/linux33/public_html/wp/wp-content/themes/pdawn-10/footer.php(1) : eval()’d code on line 4” on all your pages. Also I can’t find any contact link.

  2. sarath says


    The working of puppet is explained in the below link..

Some HTML is OK

or, reply to this post via trackback.

I'm happy to use Increase Sociability.