Important Node: This document is very much out of date. It was written more then 6 years ago for ancient versions of Puppet and CentOS. I would refer you to the PuppetLabs website that contains excellent documentation now days as well as package repositories that contain everything one needs. For quick, one-step production-ready install I’d recommand one buy the Puppet Enterprise package or take a look at the Foreman installer.
Having been less then satisfied with the documents I could find online describing the Puppet installation procedure on RHEL5 or CentOS 5.0, I decided to document my own experience of doing so for the benefit of others who will face the same challenge.
Note: So far this procedure had been developed and tested only on CentOS 5.0, therefore it may be completely unsuitable for other operating systems including RHEL5.
Note: Unless specified otherwise all the steps need to be carried out as root.
Installing a Puppet Server
- Setup dlutter’s yum repository:
- download the repository file
cd /etc/yum.repos.d wget http://people.redhat.com/dlutter/yum/dlutter.repo
- Enable the proper repository, edit the dlutter.repo file, find the [dlutter-rhel5] section and set enabled=1
- download the repository file
- Install puppet server
yum install puppet-server
- (Optional) If you want —help commands to show useful stuff install the ruby-rdoc package
yum install ruby-rdoc
- Create a minimal manifest file in /etc/puppet/manifests with the following content:
# The name of the system running the file server $server = "pmaster" node default { }
(where pmaster is the name of your puppet server)
- Start the puppet server
/etc/init.d/puppetmaster start
- Enable server startup on boot
chkconfig puppetmaster on
Installing a Puppet Client
- Setup dlutter’s yum repository (see details in the server setup).
- Install puppet client
yum install puppet
- (Optional) If you want “—help” commands to show useful stuff install the “ruby-rdoc” package
yum install ruby-rdoc
- (From this point on the steps should also be carried out on the server to enable it own built-in client) Configure the puppet client to connect to the server, edit the file /etc/sysconfig/puppet, uncomment the PUPPET_SERVER line, specify the server’s address
- Setup puppet client certificate (since we’re using SSL here you need to make sure the client can properly resolve its own and the server’s FQDN, note that you do not need to setup a certificate on the server)
- Run the puppet client daemon once to generate a certificate request to the server:
/etc/init.d/puppet once -v
- Sign the certificate request on the server
puppetca --sign puppet01
(where puppet01 is the FQDN of your client host, you can see pending requests with puppetca —list)
- Run the client again to retrieve the certificate
/etc/init.d/puppet once -v
- Run the puppet client daemon once to generate a certificate request to the server:
- Test the client
/etc/init.d/puppet once -v
- (Optional) if you want the client to automatically pull configuration from the server every 30 minutes, enable it in chkconfig and start it as a service
It looks like yum grabs a very old version.
David’s repository is no longer maintained. The packages are now official parts of EPEL (Extra Packages for Enterprise Linux):
http://fedoraproject.org/wiki/EPEL
Pingback: A Simple Puppet Module Howto
Pingback: Puppet in CentOS | Mutexes
For installation of puppet the below link might help..
http://slashroot.in/puppet-tutorial-installing-puppet-master-and-puppet-agent
A much simpler way
http://techarena51.com/index.php/a-simple-way-to-install-and-configure-a-puppet-server-on-linux/