Puppet Class: apache::mod::geoip

Defined in:
manifests/mod/geoip.pp

Summary

Installs and configures `mod_geoip`.

Overview

Parameters:

  • enable (Boolean) (defaults to: false)

    Toggles whether to enable geoip.

  • db_file (Stdlib::Absolutepath) (defaults to: '/usr/share/GeoIP/GeoIP.dat')

    Path to database for GeoIP to use.

  • flag (String) (defaults to: 'Standard')

    Caching directive to use. Values: ‘CheckCache’, ‘IndexCache’, ‘MemoryCache’, ‘Standard’.

  • output (String) (defaults to: 'All')

    Output variable locations. Values: ‘All’, ‘Env’, ‘Request’, ‘Notes’.

  • enable_utf8 (Optional[String]) (defaults to: undef)

    Changes the output from ISO88591 (Latin1) to UTF8.

  • scan_proxy_headers (Optional[String]) (defaults to: undef)

    Enables the GeoIPScanProxyHeaders option.

  • scan_proxy_header_field (Optional[String]) (defaults to: undef)

    Specifies the header mod_geoip uses to determine the client’s IP address.

  • use_last_xforwarededfor_ip (Optional[String]) (defaults to: undef)

    Determines whether to use the first or last IP address for the client’s IP in a comma-separated list of IP addresses is found.

See Also:



30
31
32
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
# File 'manifests/mod/geoip.pp', line 30

class apache::mod::geoip (
  Boolean $enable                              = false,
  Stdlib::Absolutepath $db_file                = '/usr/share/GeoIP/GeoIP.dat',
  String $flag                                 = 'Standard',
  String $output                               = 'All',
  Optional[String] $enable_utf8                = undef,
  Optional[String] $scan_proxy_headers         = undef,
  Optional[String] $scan_proxy_header_field    = undef,
  Optional[String] $use_last_xforwarededfor_ip = undef,
) {
  include apache
  ::apache::mod { 'geoip': }

  # Template uses:
  # - enable
  # - db_file
  # - flag
  # - output
  # - enable_utf8
  # - scan_proxy_headers
  # - scan_proxy_header_field
  # - use_last_xforwarededfor_ip
  $parameters = {
    'enable'                      => $enable,
    'db_file'                     => $db_file,
    'flag'                        => $flag,
    'output'                      => $output,
    'enable_utf8'                 => $enable_utf8,
    'scan_proxy_headers'          => $scan_proxy_headers,
    'scan_proxy_header_field'     => $scan_proxy_header_field,
    'use_last_xforwarededfor_ip'  => $use_last_xforwarededfor_ip,
  }

  file { 'geoip.conf':
    ensure  => file,
    path    => "${apache::mod_dir}/geoip.conf",
    mode    => $apache::file_mode,
    content => epp('apache/mod/geoip.conf.epp', $parameters),
    require => Exec["mkdir ${apache::mod_dir}"],
    before  => File[$apache::mod_dir],
    notify  => Class['apache::service'],
  }
}