Howto Install and Configure Puppetmaster and Puppets in Ubuntu

Configure Puppetmaster [puppetmaster]

First we must configure the Puppetmaster. Later, we will configure the Puppets and exchange encrypted keys to establish trust between the servers.

Install puppetmaster Debian package(s).

[puppetvishal]$ apt-get update
[puppetvishal]$ apt-get install puppetmaster

Enable fileserving and plugins.

[puppetvishal]$ nano /etc/puppet/fileserver.conf

Change the file to look like the following:

[files] path /etc/puppet/files/ allow [plugins] allow

Configure Puppets [Client]

Install puppet Debian package(s).

[puppetvishal]$ apt-get install puppet

Verify your Puppet configuration file looks like the following:



Initiate key exchange with puppetmaster that times out after 60 seconds. Repeat this on your second Puppet server.

[puppetvishal]$ puppetd –server puppetmaster.example.com –waitforcert 60

Your Puppets are now configured. All you need to do is accept the certificate requests on the Puppetmaster. All administration now takes place on the Puppetmaster.

Sign Certificate Requests [puppetmaster]

Back on the puppetmaster, check to see if the certificate requests are pending using the following command:

[puppetvishal]$ puppetca -la

If your certificates are in the list, sign them one at a time. You should see a confirmation.

[puppetvishal]$ puppetca –sign puppet1.example.com

Configuring Nodes and Modules [puppetmaster]

[puppetvishal]$ vim /etc/puppet/manifests/site.pp

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

class test_class {

file { “/tmp/testfile”:

ensure => present,

mode => 600,

owner => root,

group => root }


# tell puppet on which client to run the class

node Urclient {

include test_class

On the client run puppetd in verbose mode (-v) and only once (-o).

[puppetvishal]$ puppetd -v -o

[puppetvishal]$ ls -l /tmp/testfile
-rw——- 1 root root 0 2011-05-03 18:28 /tmp/testfile

testing is complete and you have a working Puppet setup.


Vishal Vyas

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: