]> gitweb.fluxo.info Git - puppet-apache.git/commitdiff
Adding SSL suport
authorSilvio Rhatto <rhatto@riseup.net>
Tue, 29 Nov 2011 02:23:21 +0000 (00:23 -0200)
committerSilvio Rhatto <rhatto@riseup.net>
Tue, 29 Nov 2011 02:23:21 +0000 (00:23 -0200)
manifests/init.pp
templates/site.erb

index 4c1b28462f09e14984a2ec25c38b360403c62697..205b11f054d773e62b5b82d2a6ce8fcd5956c1ee 100644 (file)
@@ -31,6 +31,8 @@ $apache2_macros = "/etc/apache2/conf.d/macros"
 $apache2_conf   = "/etc/apache2/apache2.conf"
 
 class apache {
+  include ssl
+
   case $apache_www_folder {
     '': { $apache_www_folder = "/var/www" }
   }
@@ -84,6 +86,11 @@ class apache {
     require => Package["apache"],
   }
 
+  module { "ssl":
+    ensure  => present,
+    require => Package["apache"],
+  }
+
   # apache mod_macro configuration
   file { "${apache2_macros}":
     ensure  => present,
@@ -139,7 +146,8 @@ class apache {
               $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",
@@ -202,6 +210,19 @@ class apache {
       }
     }
 
+    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":
index 80ad807ba2ac3c5fdcde98b5d3dbad79b2dcb79d..5a9f074294288cb7c24e3df98bb2f045c81522d2 100644 (file)
@@ -1,5 +1,5 @@
 # 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 %>