28
|
1 |
# Class: apache::mod::status |
|
2 |
# |
|
3 |
# This class enables and configures Apache mod_status |
|
4 |
# See: http://httpd.apache.org/docs/current/mod/mod_status.html |
|
5 |
# |
|
6 |
# Parameters: |
|
7 |
# - $allow_from is an array of hosts, ip addresses, partial network numbers |
|
8 |
# or networks in CIDR notation specifying what hosts can view the special |
|
9 |
# /server-status URL. Defaults to ['127.0.0.1', '::1']. |
|
10 |
# - $extended_status track and display extended status information. Valid |
|
11 |
# values are 'On' or 'Off'. Defaults to 'On'. |
|
12 |
# - $status_path is the path assigned to the Location directive which |
|
13 |
# defines the URL to access the server status. Defaults to '/server-status'. |
|
14 |
# |
|
15 |
# Actions: |
|
16 |
# - Enable and configure Apache mod_status |
|
17 |
# |
|
18 |
# Requires: |
|
19 |
# - The apache class |
|
20 |
# |
|
21 |
# Sample Usage: |
|
22 |
# |
|
23 |
# # Simple usage allowing access from localhost and a private subnet |
|
24 |
# class { 'apache::mod::status': |
|
25 |
# $allow_from => ['127.0.0.1', '10.10.10.10/24'], |
|
26 |
# } |
|
27 |
# |
|
28 |
class apache::mod::status ( |
|
29 |
$allow_from = ['127.0.0.1','::1'], |
|
30 |
$extended_status = 'On', |
|
31 |
$apache_version = $::apache::apache_version, |
|
32 |
$status_path = '/server-status', |
|
33 |
){ |
|
34 |
validate_array($allow_from) |
|
35 |
validate_re(downcase($extended_status), '^(on|off)$', "${extended_status} is not supported for extended_status. Allowed values are 'On' and 'Off'.") |
|
36 |
::apache::mod { 'status': } |
|
37 |
# Template uses $allow_from, $extended_status, $apache_version, $status_path |
|
38 |
file { 'status.conf': |
|
39 |
ensure => file, |
|
40 |
path => "${::apache::mod_dir}/status.conf", |
|
41 |
content => template('apache/mod/status.conf.erb'), |
|
42 |
require => Exec["mkdir ${::apache::mod_dir}"], |
|
43 |
before => File[$::apache::mod_dir], |
|
44 |
notify => Class['apache::service'], |
|
45 |
} |
|
46 |
} |