33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
# File 'manifests/mod/prefork.pp', line 33
class apache::mod::prefork (
Integer $startservers = 8,
Integer $minspareservers = 5,
Integer $maxspareservers = 20,
Integer $serverlimit = 256,
Integer $maxclients = 256,
Optional[Integer] $maxrequestworkers = undef,
Integer $maxrequestsperchild = 4000,
Optional[Integer] $maxconnectionsperchild = undef,
Integer $listenbacklog = 511
) {
include apache
if defined(Class['apache::mod::event']) {
fail('May not include both apache::mod::prefork and apache::mod::event on the same node')
}
if defined(Class['apache::mod::peruser']) {
fail('May not include both apache::mod::prefork and apache::mod::peruser on the same node')
}
if defined(Class['apache::mod::worker']) {
fail('May not include both apache::mod::prefork and apache::mod::worker on the same node')
}
File {
owner => 'root',
group => $apache::params::root_group,
mode => $apache::file_mode,
}
# Template uses:
# - $startservers
# - $minspareservers
# - $maxspareservers
# - $serverlimit
# - $maxclients
# - $maxrequestworkers
# - $maxrequestsperchild
# - $maxconnectionsperchild
$parameters = {
'startservers' => $startservers,
'minspareservers' => $minspareservers,
'maxspareservers' => $maxspareservers,
'serverlimit' => $serverlimit,
'maxrequestworkers' => $maxrequestworkers,
'maxclients' => $maxclients,
'maxconnectionsperchild' => $maxconnectionsperchild,
'maxrequestsperchild' => $maxrequestsperchild,
'listenbacklog' => $listenbacklog,
}
file { "${apache::mod_dir}/prefork.conf":
ensure => file,
content => epp('apache/mod/prefork.conf.epp', $parameters),
require => Exec["mkdir ${apache::mod_dir}"],
before => File[$apache::mod_dir],
notify => Class['apache::service'],
}
case $facts['os']['family'] {
'RedHat', 'Debian', 'FreeBSD': {
::apache::mpm { 'prefork':
}
}
'Suse': {
::apache::mpm { 'prefork':
lib_path => '/usr/lib64/apache2-prefork',
}
}
'Gentoo': {
::portage::makeconf { 'apache2_mpms':
content => 'prefork',
}
}
default: {
fail("Unsupported osfamily ${$facts['os']['family']}")
}
}
}
|