dev/provisioning/modules/apache/manifests/mod/ssl.pp
changeset 28 b0b56e0f8c7f
equal deleted inserted replaced
27:a2342f26c9de 28:b0b56e0f8c7f
       
     1 class apache::mod::ssl (
       
     2   $ssl_compression         = false,
       
     3   $ssl_cryptodevice        = 'builtin',
       
     4   $ssl_options             = [ 'StdEnvVars' ],
       
     5   $ssl_openssl_conf_cmd    = undef,
       
     6   $ssl_cipher              = 'HIGH:MEDIUM:!aNULL:!MD5:!RC4',
       
     7   $ssl_honorcipherorder    = 'On',
       
     8   $ssl_protocol            = [ 'all', '-SSLv2', '-SSLv3' ],
       
     9   $ssl_pass_phrase_dialog  = 'builtin',
       
    10   $ssl_random_seed_bytes   = '512',
       
    11   $ssl_sessioncachetimeout = '300',
       
    12   $apache_version          = $::apache::apache_version,
       
    13   $package_name            = undef,
       
    14 ) {
       
    15 
       
    16   case $::osfamily {
       
    17     'debian': {
       
    18       if versioncmp($apache_version, '2.4') >= 0 {
       
    19         $ssl_mutex = 'default'
       
    20       } elsif $::operatingsystem == 'Ubuntu' and $::operatingsystemrelease == '10.04' {
       
    21         $ssl_mutex = 'file:/var/run/apache2/ssl_mutex'
       
    22       } else {
       
    23         $ssl_mutex = "file:\${APACHE_RUN_DIR}/ssl_mutex"
       
    24       }
       
    25     }
       
    26     'redhat': {
       
    27       $ssl_mutex = 'default'
       
    28     }
       
    29     'freebsd': {
       
    30       $ssl_mutex = 'default'
       
    31     }
       
    32     'gentoo': {
       
    33       $ssl_mutex = 'default'
       
    34     }
       
    35     'Suse': {
       
    36       $ssl_mutex = 'default'
       
    37     }
       
    38     default: {
       
    39       fail("Unsupported osfamily ${::osfamily}")
       
    40     }
       
    41   }
       
    42 
       
    43   $session_cache = $::osfamily ? {
       
    44     'debian'  => "\${APACHE_RUN_DIR}/ssl_scache(512000)",
       
    45     'redhat'  => '/var/cache/mod_ssl/scache(512000)',
       
    46     'freebsd' => '/var/run/ssl_scache(512000)',
       
    47     'gentoo'  => '/var/run/ssl_scache(512000)',
       
    48     'Suse'    => '/var/lib/apache2/ssl_scache(512000)'
       
    49   }
       
    50 
       
    51   ::apache::mod { 'ssl':
       
    52     package => $package_name,
       
    53   }
       
    54 
       
    55   if versioncmp($apache_version, '2.4') >= 0 {
       
    56     ::apache::mod { 'socache_shmcb': }
       
    57   }
       
    58 
       
    59   # Template uses
       
    60   #
       
    61   # $ssl_compression
       
    62   # $ssl_cryptodevice
       
    63   # $ssl_cipher
       
    64   # $ssl_honorcipherorder
       
    65   # $ssl_options
       
    66   # $ssl_openssl_conf_cmd
       
    67   # $session_cache
       
    68   # $ssl_mutex
       
    69   # $ssl_random_seed_bytes
       
    70   # $ssl_sessioncachetimeout
       
    71   # $apache_version
       
    72   #
       
    73   file { 'ssl.conf':
       
    74     ensure  => file,
       
    75     path    => "${::apache::mod_dir}/ssl.conf",
       
    76     content => template('apache/mod/ssl.conf.erb'),
       
    77     require => Exec["mkdir ${::apache::mod_dir}"],
       
    78     before  => File[$::apache::mod_dir],
       
    79     notify  => Class['apache::service'],
       
    80   }
       
    81 }