Skip to content

Latest commit

 

History

History
54 lines (43 loc) · 1.09 KB

File metadata and controls

54 lines (43 loc) · 1.09 KB

Wordpress

In the Wordpress example, the worpress profile will delegate installing and configuring Apache and PHP to their respective modules. The profile is in charge of passing the necessary parameters to them.

# Wordpress Profile
# wordpress/manifests/init.pp
class wordpress (
 site_name => 'default',
){

  class{'apache':
    vhost => $site_name,
  }
  contain apache
  
  class{'php':
    version => '5.3',
    require => Class['apache']
  }
  contain php
  
  ...
}

A profile will define a set of defaults for the technology stack. These are to be placed both as parameters to the module and as variables in the params class of the module.

# wordpress/manifests/params.pp
class wordpress::params {
  $site_name   = 'default'
  $php_version = '5.3'
}

# wordpress/manifests/init.pp
class wordpress(
  site_name   => $::wordpress::params::site_name,
  php_version => $::wordpress::params::php_version,
){
 
  class{'apache':
    vhost => $site_name,
  }
  contain apache
  
  class{'php':
    version => $php_version,
    require => Class['apache']
  }
  contain php

}