$apache2_conf = "/etc/apache2/apache2.conf"
class apache {
+ include ssl
+
case $apache_www_folder {
'': { $apache_www_folder = "/var/www" }
}
require => Package["apache"],
}
+ module { "ssl":
+ ensure => present,
+ require => Package["apache"],
+ }
+
# apache mod_macro configuration
file { "${apache2_macros}":
ensure => present,
$manage_docroot = true, $owner = 'root', $group = 'root',
$mpm = true, $mpm_user = '', $mpm_group = '', $password = '*',
$comment = '', $sshkey = absent,
- $groups = '', $shell = '/bin/false', $manage_user = true) {
+ $groups = '', $shell = '/bin/false', $manage_user = true,
+ $ssl = false, $listen = '*') {
$vhost = $filename ? {
'' => "$title",
}
}
+ if $ssl == true {
+ ssl::cert { "$name":
+ group => $gid,
+ privmode => '0640',
+ ensure => $ensure,
+ }
+
+ ssl::check { "$name":
+ file => "/etc/ssl/certs/$name.crt",
+ ensure => $ensure,
+ }
+ }
+
case $source {
true: {
file { "${apache2_sites}-available/$vhost":
# begin vhost for <%= title %>
-<VirtualHost *:80>
+<VirtualHost <%= listen %>:80>
ServerName <%= title %>.<%= hosting_domain %>
<% if server_alias != false %> ServerAlias <%= server_alias %><% end %>
DocumentRoot <%= docroot %>
<% end %>
</VirtualHost>
# end vhost for <%= title %>
+<% if ssl == true %>
+# begin ssl vhost for <%= title %>
+<VirtualHost <%= listen %>:443>
+ ServerName <%= title %>.<%= hosting_domain %>
+<% if server_alias != false %> ServerAlias <%= server_alias %><% end %>
+ DocumentRoot <%= docroot %>
+<% if redirect_match != false %> RedirectMatch ^/$ <%= protocol %>://<%= title %>.<%= hosting_domain %>/<%= redirect_match %><% end %>
+<% if redirect != false %> Redirect <%= redirect %><% end %>
+<% if aliases != false %><% aliases.each do |map| -%>
+ Alias <%= map %>
+<% end -%><% end -%>
+<% if use != false %><% use.each do |instance| -%>
+ Use <%= instance %>
+<% end -%><% end -%>
+<% if mpm == true %>
+ <IfModule mpm_itk_module>
+ AssignUserId <%= user %> <%= gid %>
+ </IfModule>
+<% end %>
+<% if server_alias == true %>
+ # SSL Configuration
+ SSLEngine on
+ SSLProtocol -all +SSLv3 +TLSv1
+ SSLCipherSuite HIGH:MEDIUM:!aNULL:!SSLv2:!MD5:@STRENGTH
+ SSLHonorCipherOrder on
+<% end %>
+</VirtualHost>
+# end ssl vhost for <%= title %>
+<% end %>