class etherpad_lite::apache ( $vhost_name = $fqdn, $ssl_cert_file='', $ssl_key_file='', $ssl_chain_file='', $ssl_cert_file_contents='', # If left empty puppet will not create file. $ssl_key_file_contents='', # If left empty puppet will not create file. $ssl_chain_file_contents='' # If left empty puppet will not create file. ) { package { 'ssl-cert': ensure => present, } apache::vhost { $vhost_name: port => 443, docroot => 'MEANINGLESS ARGUMENT', priority => '50', template => 'etherpad_lite/etherpadlite.vhost.erb', ssl => true, } a2mod { 'rewrite': ensure => present } a2mod { 'proxy': ensure => present } a2mod { 'proxy_http': ensure => present } file { '/etc/ssl/certs': ensure => directory, owner => 'root', mode => 0700, } file { '/etc/ssl/private': ensure => directory, owner => 'root', mode => 0700, } if $ssl_cert_file_contents != '' { file { $ssl_cert_file: owner => 'root', group => 'root', mode => '0640', content => $ssl_cert_file_contents, before => Apache::Vhost[$vhost_name], } } if $ssl_key_file_contents != '' { file { $ssl_key_file: owner => 'root', group => 'ssl-cert', mode => '0640', content => $ssl_key_file_contents, require => Package['ssl-cert'], before => Apache::Vhost[$vhost_name], } } if $ssl_chain_file_contents != '' { file { $ssl_chain_file: owner => 'root', group => 'root', mode => '0640', content => $ssl_chain_file_contents, before => Apache::Vhost[$vhost_name], } } }