phpservermon/puphpet/puppet/modules/apache/manifests/mod/peruser.pp

74 lines
2.0 KiB
Puppet

class apache::mod::peruser (
$minspareprocessors = '2',
$minprocessors = '2',
$maxprocessors = '10',
$maxclients = '150',
$maxrequestsperchild = '1000',
$idletimeout = '120',
$expiretimeout = '120',
$keepalive = 'Off',
) {
if defined(Class['apache::mod::event']) {
fail('May not include both apache::mod::peruser and apache::mod::event on the same node')
}
if defined(Class['apache::mod::itk']) {
fail('May not include both apache::mod::peruser and apache::mod::itk on the same node')
}
if defined(Class['apache::mod::prefork']) {
fail('May not include both apache::mod::peruser and apache::mod::prefork on the same node')
}
if defined(Class['apache::mod::worker']) {
fail('May not include both apache::mod::peruser and apache::mod::worker on the same node')
}
File {
owner => 'root',
group => $::apache::params::root_group,
mode => '0644',
}
$mod_dir = $::apache::mod_dir
# Template uses:
# - $minspareprocessors
# - $minprocessors
# - $maxprocessors
# - $maxclients
# - $maxrequestsperchild
# - $idletimeout
# - $expiretimeout
# - $keepalive
# - $mod_dir
file { "${::apache::mod_dir}/peruser.conf":
ensure => file,
content => template('apache/mod/peruser.conf.erb'),
require => Exec["mkdir ${::apache::mod_dir}"],
before => File[$::apache::mod_dir],
notify => Service['httpd'],
}
file { "${::apache::mod_dir}/peruser":
ensure => directory,
require => File[$::apache::mod_dir],
}
file { "${::apache::mod_dir}/peruser/multiplexers":
ensure => directory,
require => File["${::apache::mod_dir}/peruser"],
}
file { "${::apache::mod_dir}/peruser/processors":
ensure => directory,
require => File["${::apache::mod_dir}/peruser"],
}
::apache::peruser::multiplexer { '01-default': }
case $::osfamily {
'freebsd' : {
class { '::apache::package':
mpm_module => 'peruser'
}
}
default: {
fail("Unsupported osfamily ${::osfamily}")
}
}
}