]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/apache/manifests/mod/peruser.pp
add Openstack modules to 3rdparty
[dsa-puppet.git] / 3rdparty / modules / apache / manifests / mod / peruser.pp
1 class apache::mod::peruser (
2   $minspareprocessors = '2',
3   $minprocessors = '2',
4   $maxprocessors = '10',
5   $maxclients = '150',
6   $maxrequestsperchild = '1000',
7   $idletimeout = '120',
8   $expiretimeout = '120',
9   $keepalive = 'Off',
10 ) {
11
12   case $::osfamily {
13     'freebsd' : {
14       fail("Unsupported osfamily ${::osfamily}")
15     }
16     default: {
17       if $::osfamily == 'gentoo' {
18         ::portage::makeconf { 'apache2_mpms':
19           content => 'peruser',
20         }
21       }
22
23       if defined(Class['apache::mod::event']) {
24         fail('May not include both apache::mod::peruser and apache::mod::event on the same node')
25       }
26       if defined(Class['apache::mod::itk']) {
27         fail('May not include both apache::mod::peruser and apache::mod::itk on the same node')
28       }
29       if defined(Class['apache::mod::prefork']) {
30         fail('May not include both apache::mod::peruser and apache::mod::prefork on the same node')
31       }
32       if defined(Class['apache::mod::worker']) {
33         fail('May not include both apache::mod::peruser and apache::mod::worker on the same node')
34       }
35       File {
36         owner => 'root',
37         group => $::apache::params::root_group,
38         mode  => '0644',
39       }
40
41       $mod_dir = $::apache::mod_dir
42
43       # Template uses:
44       # - $minspareprocessors
45       # - $minprocessors
46       # - $maxprocessors
47       # - $maxclients
48       # - $maxrequestsperchild
49       # - $idletimeout
50       # - $expiretimeout
51       # - $keepalive
52       # - $mod_dir
53       file { "${::apache::mod_dir}/peruser.conf":
54         ensure  => file,
55         content => template('apache/mod/peruser.conf.erb'),
56         require => Exec["mkdir ${::apache::mod_dir}"],
57         before  => File[$::apache::mod_dir],
58         notify  => Class['apache::service'],
59       }
60       file { "${::apache::mod_dir}/peruser":
61         ensure  => directory,
62         require => File[$::apache::mod_dir],
63       }
64       file { "${::apache::mod_dir}/peruser/multiplexers":
65         ensure  => directory,
66         require => File["${::apache::mod_dir}/peruser"],
67       }
68       file { "${::apache::mod_dir}/peruser/processors":
69         ensure  => directory,
70         require => File["${::apache::mod_dir}/peruser"],
71       }
72
73       ::apache::peruser::multiplexer { '01-default': }
74     }
75   }
76 }