I'm not going to go in to any depth on explanations per say, these are meant to be command guide posts allowing you to ensure you have correct sequence of events in mind and can easily identify answers if they ask 'Which command do you use to execute XYZ' or perhaps a drag and drop type question stating 'Put these commands in the correct order'
So lets start with Puppet.
Assume we are installing the server and agent on Ubuntu servers.
1) Download Puppet using wget:
$ wget https://apt.puppet.com/puppet7-release-focal.deb
2) Install Puppet with dpkg utility:
$ sudo dpkg -i puppet7-release-focal.deb
3) Run an update to ensure you have all the latest package information:
$ sudo apt-get update
4) Install the Puppet Server:
$ sudo apt-get install puppetserver
5a) Start the Puppet Server service:
$ sudo systemctl start puppetserver
$ sudo systemctl enable puppetserver
5b) Check the Puppet Service is running:
$ sudo systemctl status puppetserver
Puppet Server is now installed.
Now lets install the Puppet Agent, go to your server/destination that will be running the agent.
1) Install the Puppet Agent
$ sudo apt-get install puppet-agent
2a) Add the package binaries to the Ubuntu executable path, first run the Puppet Agent profile script
$ source /etc/profile.d/puppet-agent.sh
2b) Next, check the executable path is as expected:
$ echo $PATH
*Note output should contain - : /opt/puppetlabs/bin - at the end of the line.
3) Confirm Puppet is install correctly and check the version is as expected:*
$ puppetserver -v
$ puppet -V
$ puppet agent -V
* Note - the lowercase v for the puppetserver cmd and the uppercase V for the puppet cmds.
4a) Configure the Puppet Server destination that the Puppet Agent targets:
$ sudo puppet config set server puppetserver.networkstudies.co.uk
* obviously set this to whatever your server FQDN is
4b) Confirm this is correct by checking the puppet.conf file:
$ cat /etc/puppetlabs/puppet/puppet.conf
5) Start the Puppet Agent service:
$ sudo puppet reseource service puppet state-running
6) Test the Puppet Agent connectivity
$ sudo puppet agent --test