Note: This document covers open source releases of Puppet version 3.8 and lower. For current versions, you should see instructions for installing the latest version of Puppet or installing Puppet Enterprise.
Before installing Puppet, review the pre-install tasks.
Puppet publishes and tests open-source Puppet 3.8 packages for the following versions of Red Hat Enterprise Linux (RHEL) to yum.puppetlabs.com:
- Enterprise Linux 7
- Enterprise Linux 6
- Enterprise Linux 5
- Enterprise Linux 4
This also applies to any distributions that maintain binary compatibility with RHEL, including but not limited to CentOS, Scientific Linux, and Oracle Linux.
Puppet Enterprise support: PE 3.8 supports 32-bit and 64-bit agents on these versions of RHEL and compatibile operating systems, but doesn’t support masters on Enterprise Linux 4 and 5, or on 32-bit architectures.
To install on other operating systems, see the product navigation.
Step 1: Enable Dependencies (RHEL Only)
CentOS and other community forks have several packages Puppet depends on in their main repos, but RHEL itself is split into channels. If you’re installing Puppet on RHEL, you’ll want to make sure the “optional” channel is enabled. Instructions are available here.
Step 2: Enable the Puppet Package Repository
The newest versions of Puppet can be installed from the yum.puppetlabs.com package repository.
To enable the repository, run the command below that corresponds to your OS version:
Enterprise Linux 7
$ sudo rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm
Enterprise Linux 6
$ sudo rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
Enterprise Linux 5
$ sudo rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-el-5.noarch.rpm
Optionally: Enable Prereleases
To test release candidate (RC) versions of Puppet and related projects, you can enable the prerelease repo, which is disabled by default. Note that RCs can contain unexpected changes, so be careful.
After installing the repos, open your
/etc/yum.repos.d/puppetlabs.repo file for editing. Locate the
[puppetlabs-devel] stanza, and change the value of the
enabled key from
[puppetlabs-devel] name=Puppet Labs Devel <%= @dist.capitalize -%> <%= @version -%> - $basearch baseurl=https://yum.puppetlabs.com/<%= @dist.downcase -%>/<%= @codename -%>/devel/$basearch gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs enabled=1 gpgcheck=1
To disable the prerelease repo, change the value back to
Step 3: Install Puppet on the Puppet Master Server
(Skip this step for a standalone deployment.)
On your Puppet masters, run:
sudo yum install puppetserver
This installs Puppet and an init script (
/etc/init.d/puppetmaster) that runs a test-quality Puppet master server.
Do not start the Puppet master service yet.
Note: Read our tips on upgrading before upgrading your Puppet deployment.
To upgrade a Puppet master to the latest version of Puppet 3, run:
sudo puppet resource package puppet-server ensure=latest
After upgrading, restart the Puppet master web server.
Step 4: Install Puppet on Agent Nodes
On your other nodes, run
sudo yum install puppet. This will install Puppet and an init script (
/etc/init.d/puppet) for running the puppet agent daemon.
Do not start the
puppet service yet.
Note: Be sure to read our tips on upgrading before upgrading your whole Puppet deployment.
To upgrade a Puppet agent to the latest version of Puppet 3, run:
sudo puppet resource package puppet ensure=latest
After upgrading, restart the
At this point, Puppet is installed, but it isn’t configured or running. You should now do the post-install tasks.