dev/provisioning/modules/apache/manifests/mod/remoteip.pp
changeset 28 b0b56e0f8c7f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dev/provisioning/modules/apache/manifests/mod/remoteip.pp	Fri Jan 15 15:35:00 2016 +0100
@@ -0,0 +1,27 @@
+class apache::mod::remoteip (
+  $header            = 'X-Forwarded-For',
+  $proxy_ips         = [ '127.0.0.1' ],
+  $proxies_header    = undef,
+  $trusted_proxy_ips = undef,
+  $apache_version    = $::apache::apache_version
+) {
+  if versioncmp($apache_version, '2.4') < 0 {
+    fail('mod_remoteip is only available in Apache 2.4')
+  }
+
+  ::apache::mod { 'remoteip': }
+
+  # Template uses:
+  # - $header
+  # - $proxy_ips
+  # - $proxies_header
+  # - $trusted_proxy_ips
+  file { 'remoteip.conf':
+    ensure  => file,
+    path    => "${::apache::mod_dir}/remoteip.conf",
+    content => template('apache/mod/remoteip.conf.erb'),
+    require => Exec["mkdir ${::apache::mod_dir}"],
+    before  => File[$::apache::mod_dir],
+    notify  => Service['httpd'],
+  }
+}