Puppet is a cross platform framework enabling system administrators to perform common tasks using code. The code can do a variety of tasks from installing new software, to checking file permissions, or updating user accounts. Puppet is great not only during the initial installation of a system, but also throughout the system's entire life cycle. In most circumstances puppet will be used in a client/server configuration.
This section will cover installing and configuring puppet in a client/server configuration. This simple example will demonstrate how to install Apache using Puppet.
To install puppet, in a terminal on the server enter:
sudo apt-get install puppetmaster
On the client machine, or machines, enter:
sudo apt-get install puppet
Prior to configuring puppet you may want to add a DNS CNAME record for puppet.example.com, where example.com is your domain. By default puppet clients check DNS for puppet.example.com as the puppet server name, or Puppet Master. See 7. fejezet - Tartománynév-szolgáltatás (DNS) for more DNS details.
If you do not wish to use DNS, you can add entries to the server and client /etc/hosts
file. For example, in the
puppet server's /etc/hosts
file add:
127.0.0.1 localhost.localdomain localhost puppet 192.168.1.17 meercat02.example.com meercat02
On each puppet client, add an entry for the server:
192.168.1.16 meercat.example.com meercat puppet
![]() |
|
Replace the example IP addresses and domain names above with your actual server and client addresses and domain names. |
Now setup some resources for apache2. Create a file /etc/puppet/manifests/site.pp
containing the following:
package { 'apache2': ensure => installed } service { 'apache2': ensure => true, enable => true, require => Package['apache2'] }
Next, create a node file /etc/puppet/manifests/nodes.pp
with:
node 'meercat02.example.com' { include apache2 }
![]() |
|
Replace meercat02.example.com with your actual puppet client's host name. |
The final step for this simple puppet server is to restart the daemon:
sudo /etc/init.d/puppetmaster restart
Now everything is configured on the puppet server, it is time to configure the client.
First, configure the puppet agent daemon to start. Edit /etc/default/puppet
, changing
START to yes:
START=yes
Then start the service:
sudo /etc/init.d/puppet start
Back on the puppet server sign the client certificate by entering:
sudo puppetca --sign meercat02.example.com
Check /var/log/syslog
for any errors with the configuration. If all goes well the apache2
package and it's dependencies will be installed on the puppet client.
![]() |
|
This example is very simple, and does not highlight many of Puppet's features and benefits. For more information see „Információforrások”. |
-
See the Official Puppet Documentation web site.
-
Also see Pulling Strings with Puppet.
-
Another source of additional information is the Ubuntu Wiki Puppet Page.