Puppet Enterprise Installation

Puppet is the key to a successful server management. In my own blog, I’m switching my gear to Puppet. I’m going to focus on Puppet Enterprise because Puppet allows 10 free agent complimentary license. This is more than enough for me to test things out.

Puppet makes all versions of Puppet Enterprise available on their website. I will try to use the latest LTS (Long Term Supported) release. As of June 5, 2019, 2018.1.8 is the latest LTS.

Let’s click Puppet Enterprise 2018.1.8 – Long Term Supported Release.

Right click the link to copy the link to the PE for the platform where you are installing your Puppet Enterprise.

Open Terminal and execute the following command to download the file.

$ curl -JLO https://pm.puppetlabs.com/puppet-enterprise/2018.1.8/puppet-enterprise-2018.1.8-el-7-x86_64.tar.gz

Extract the tar file by executing the following command.

$ tar -xvf puppet-enterprise-2018.1.8-el-7-x86_64.tar.gz 

Now open port 3000 for us to be able to use the GUI mode during the installation process. Whether you use text mode or GUI mode is up to you, but I like to use GUI mode.

We’ll also open 443 and 8140 because 443 is used for the Web UI and 8140 will be used for Puppet agent to communicate with the master. 8170 will be used for API call to Puppet master.

$ sudo firewall-cmd --add-port=3000/tcp --permanent --zone=public
$ sudo firewall-cmd --add-port=443/tcp --permanent --zone=public
$ sudo firewall-cmd --add-port=4433/tcp --permanent --zone=public
$ sudo firewall-cmd --add-port=8140/tcp --permanent --zone=public
$ sudo firewall-cmd --add-port=8170/tcp --permanent --zone=public
$ sudo firewall-cmd --reload

One more thing before we can execute the Puppet Enterprise installer. Let’s edit /etc/hosts file to mimic DNS entry. My test Puppet Enterprise machine has “pem” as its host name and its IP address is, so we need 2 entries in the hosts file like the following. (Use sudo vi /etc/hosts to edit it in vi) If you don’t know how to use vi, go over the basics here. pem puppet

Save the file by hitting ESC and :wq and then Enter key. On the side note, if you have DNS server in your network, it’s better to create the entry in DNS server instead of using the hosts file.

In the terminal, cd into the directory where Puppet Enterprise was extracted to and execute the installer.

$ cd puppet-enterprise-2018.1.8-el-7-x86_64
$ sudo ./puppet-enterprise-installer

When you see How to proceed?, enter 2 for Graphical-mode Install and hit enter. After a little while, it awaits you to hit https://yourpuppetserver:3000 to start the setup process. Click Let’s get started!

Enter a new admin password and click Continue.

Once the validation is clear, you will see a screen like the following screenshot. Click Deploy now button to start the whole process.

Once the deployment process is complete, you should able to hit https://yourpuppetserver and login as admin.


Finally close the port 3000 because it’s no longer necessary for it to be open.

$ sudo firewall-cmd --remove-port=3000/tcp --permanent --zone=public
$ sudo firewall-cmd --reload

Leave a Reply

Your email address will not be published.