]> gitweb.fluxo.info Git - puppet-apache.git/commitdiff
Adding template and filename parameters
authorSilvio Rhatto <rhatto@riseup.net>
Tue, 29 Dec 2009 16:44:35 +0000 (14:44 -0200)
committerSilvio Rhatto <rhatto@riseup.net>
Tue, 29 Dec 2009 16:44:35 +0000 (14:44 -0200)
manifests/init.pp
templates/error.erb

index cd82d38d5cae8aab0400c0bd3da32574390d165a..6d8e5d4ce8698dcfdf5c95824a7a7d851c1d4304 100644 (file)
@@ -95,24 +95,29 @@ class apache {
   define site($ensure = present, $docroot = false, $redirect = false,
               $redirect_match = false, $protocol = 'http',
               $server_alias = false, $use = false, $ticket = false,
-              $source = false) {
+              $source = false, $template = 'apache/site.erb', $filename = '') {
+
+    $vhost = $filename ? {
+      ''      => "$title",
+      default => "$filename",
+    }
 
     case $source {
       true: {
-                 file { "${apache2_sites}-available/$title":
-                   ensure  => $ensure,
-                   source  => "puppet://$server/files/apache/vhosts/$title",
-                   owner   => root,
-                   group   => root,
-                   mode    => 0644,
-                   require => File["${apache2_macros}"],
-                   notify  => Service["apache"],
-                 }
+               file { "${apache2_sites}-available/$vhost":
+                 ensure  => $ensure,
+                 source  => "puppet://$server/files/apache/vhosts/$title",
+                 owner   => root,
+                 group   => root,
+                 mode    => 0644,
+                 require => File["${apache2_macros}"],
+                 notify  => Service["apache"],
                }
+             }
       false: {
-               file { "${apache2_sites}-available/$title":
+               file { "${apache2_sites}-available/$vhost":
                  ensure  => $ensure,
-                 content => template('apache/site.erb'),
+                 content => template("$template"),
                  owner   => root,
                  group   => root,
                  mode    => 0644,
@@ -122,12 +127,13 @@ class apache {
              }
     }
 
-    $status = $ensure ? {
-      'present' => "${apache2_sites}-available/$title",
-      default   => 'absent',
-    }
-
     # Enable the site without a2ensite
+    #
+    #$status = $ensure ? {
+    #  'present' => "${apache2_sites}-available/$vhost",
+    #  default   => 'absent',
+    #}
+    #
     #file { "/etc/apache2/sites-enabled/$title":
     #  ensure  => $status,
     #  owner   => root,
@@ -157,16 +163,16 @@ class apache {
             }
           }
         }
-        exec { "/usr/sbin/a2ensite $name":
-          unless  => "/bin/sh -c '[ -L ${apache2_sites}-enabled/$name ] \
-                  && [ ${apache2_sites}-enabled/$name -ef ${apache2_sites}-available/$name ]'",
+        exec { "/usr/sbin/a2ensite $vhost":
+          unless  => "/bin/sh -c '[ -L ${apache2_sites}-enabled/$vhost ] \
+                  && [ ${apache2_sites}-enabled/$vhost -ef ${apache2_sites}-available/$vhost ]'",
           notify  => Exec["reload-apache2"],
         }
       }
       'absent': {
-        exec { "/usr/sbin/a2dissite $name":
-          onlyif  => "/bin/sh -c '[ -L ${apache2_sites}-enabled/$name ] \
-                  && [ ${apache2_sites}-enabled/$name -ef ${apache2_sites}-available/$name ]'",
+        exec { "/usr/sbin/a2dissite $vhost":
+          onlyif  => "/bin/sh -c '[ -L ${apache2_sites}-enabled/$vhost ] \
+                  && [ ${apache2_sites}-enabled/$vhost -ef ${apache2_sites}-available/$vhost ]'",
           notify  => Exec["reload-apache2"],
         }
       }
index 5e2cf5f4c41f7369d8fb84066cc702e2a2dc3d60..fef5dd7a3e6c8c63db554d7beeebab2a72b23a39 100644 (file)
@@ -5,7 +5,7 @@
   DocumentRoot <%= apache_error_folder %>
   ErrorDocument 404 <%= apache_error_dest %>
 
-  <Directory /var/www/error>
+  <Directory <%= apache_error_folder %>>
     DirectoryIndex index.html
     Options Indexes -Includes FollowSymLinks -MultiViews
     AllowOverride None