Install Puppet Server on Ubuntu
How to install Puppet Server (Puppetmaster) on Ubuntu 16.04 / 18.04 / 20.04.
Prerequisites
- Ubuntu server with at least 2 GB RAM (Puppet Server is JVM-based)
- Java 8 or 11 installed
- Hostname resolving correctly
Step 1 — Install Java
sudo apt-get install -y openjdk-11-jdk
Step 2 — Add Puppet Repository
# Ubuntu 20.04 (Focal)
wget https://apt.puppetlabs.com/puppet6-release-focal.deb
sudo dpkg -i puppet6-release-focal.deb
sudo apt-get update
# Ubuntu 18.04 (Bionic)
wget https://apt.puppetlabs.com/puppet6-release-bionic.deb
sudo dpkg -i puppet6-release-bionic.deb
sudo apt-get update
Step 3 — Install Puppet Server
sudo apt-get install -y puppetserver
Step 4 — Configure Memory (Optional)
# Edit /etc/default/puppetserver
# Default: JAVA_ARGS="-Xms2g -Xmx2g"
# For low-memory VMs, reduce to 512 MB:
sudo sed -i 's/-Xms2g -Xmx2g/-Xms512m -Xmx512m/' /etc/default/puppetserver
Step 5 — Set Hostname
# /etc/hosts should resolve "puppet" to the server IP
echo "127.0.0.1 localhost puppet puppetserver" | sudo tee -a /etc/hosts
Step 6 — Start and Enable
sudo systemctl start puppetserver
sudo systemctl enable puppetserver
sudo systemctl status puppetserver
Step 7 — Install Puppet Agent on Nodes
sudo apt-get install -y puppet-agent
echo "server = puppetserver.example.com" | sudo tee -a /etc/puppetlabs/puppet/puppet.conf
sudo /opt/puppetlabs/bin/puppet agent --test