While there are many ways to install Puppet Server/Client, installing by Yum is a breezer,
Here are the steps I followed to get going with Installing Puppet Server/Client on a brand new Centos machine (minimal ISO):
Install latest Epel 6 yum repo :
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Edit the repo file to enable the epel repositories and remove comments for baseurl, eg:
[epel]
name=Extra Packages for Enterprise Linux 6 – $basearch
baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Add the Puppet Release Yum repository to grab the releases directly from there:
At a later stage, if you get errors related to missing dependencies while installing puppet server/client, save yourself some time by browsing and updating the baseurl in /etc/yum.repos.d/puppetlabs.repo
rpm -Uvh https://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm
[puppetlabs-products]
name=Puppet Labs Products El 6 – $basearch
baseurl=http://yum.puppetlabs.com/el/6/dependencies/x86_64/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs
enabled=1
gpgcheck=1
Optional:
Install remi repo as well, make sure it is enabled:
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
vi /etc/yum.repos.d/remi.repo
Install Puppet Server(master)/client as needed
yum clean all
yum install puppet-server or yum install puppet
Verify the installation :
puppet –version
If you have installed puppet client, then update the appropriate puppet master server name at /etc/sysconfig/puppet
Start the Puppet service and make it on at boot by default
service puppet start
chkconfig puppet on
Puppet has its own mechanism(based on ssh) to register its clients to its server, the puppet server has to accept the clients cert’s to establish communication:
[root@master ~]# puppetca –list
“client.company.com” (4D:E2:B5:24:D5:6E:5A:87:34:4A:B7:D0:31:94:8A:DD)
[root@master ~]# puppetca –sign client.company.com
notice: Signed certificate request for client.company.com
notice: Removing file Puppet::SSL::CertificateRequest sf1pdpatch6.modeln.com at ‘/var/lib/puppet/ssl/ca/requests/client.company.com.pem’