diff options
24 files changed, 134 insertions, 70 deletions
diff --git a/manifests/base.pp b/manifests/base.pp index a6953bc..5f2bac3 100644 --- a/manifests/base.pp +++ b/manifests/base.pp @@ -9,6 +9,11 @@ class apache::base { ensure => directory, owner => root, group => 0, mode => 0755; } + file{'include_dir': + path => '/etc/apache2/include.d', + ensure => directory, + owner => root, group => 0, mode => 0755; + } file{'modules_dir': path => '/etc/apache2/modules.d', ensure => directory, @@ -36,7 +41,7 @@ class apache::base { owner => root, group => 0, mode => 0644; } - apache::config::file{ 'defaults.inc': } - apache::config::file{ 'git.conf': } + apache::config::include{ 'defaults.inc': } + apache::config::global{ 'git.conf': } apache::vhost::file { '0-default': } } diff --git a/manifests/centos.pp b/manifests/centos.pp index 23c8e3c..4446114 100644 --- a/manifests/centos.pp +++ b/manifests/centos.pp @@ -37,7 +37,7 @@ class apache::centos inherits apache::package { include apache::logrotate::centos - apache::config::file{ 'welcome.conf': } - apache::config::file{ 'vhosts.conf': } + apache::config::global{ 'welcome.conf': } + apache::config::global{ 'vhosts.conf': } } diff --git a/manifests/config/file.pp b/manifests/config/file.pp index a72aacf..9e49c19 100644 --- a/manifests/config/file.pp +++ b/manifests/config/file.pp @@ -1,4 +1,5 @@ -# deploy apache (.conf) configuration file (non-vhost) +# deploy apache configuration file +# by default we assume it's a global configuration file define apache::config::file( $ensure = present, $source = 'absent', @@ -7,11 +8,11 @@ define apache::config::file( ){ $real_destination = $destination ? { 'absent' => $operatingsystem ? { - centos => "$apache::centos::config_dir/conf.d/${name}", - gentoo => "$apache::gentoo::config_dir/${name}", - debian => "$apache::debian::config_dir/conf.d/${name}", - ubuntu => "$apache::ubuntu::config_dir/conf.d/${name}", - openbsd => "$apache::openbsd::config_dir/conf.d/${name}", + centos => "${apache::centos::config_dir}/conf.d/${name}", + gentoo => "${apache::gentoo::config_dir}/${name}", + debian => "${apache::debian::config_dir}/conf.d/${name}", + ubuntu => "${apache::ubuntu::config_dir}/conf.d/${name}", + openbsd => "${apache::openbsd::config_dir}/conf.d/${name}", default => "/etc/apache2/${name}", }, default => $destination @@ -26,16 +27,16 @@ define apache::config::file( 'absent': { $real_source = $source ? { 'absent' => [ - "puppet://$server/modules/site-apache/conf.d/${fqdn}/${name}", - "puppet://$server/modules/site-apache/conf.d/${apache_cluster_node}/${name}", - "puppet://$server/modules/site-apache/conf.d/${operatingsystem}.${lsbdistcodename}/${name}", - "puppet://$server/modules/site-apache/conf.d/${operatingsystem}/${name}", - "puppet://$server/modules/site-apache/conf.d/${name}", - "puppet://$server/modules/apache/conf.d/${operatingsystem}.${lsbdistcodename}/${name}", - "puppet://$server/modules/apache/conf.d/${operatingsystem}/${name}", - "puppet://$server/modules/apache/conf.d/${name}" + "puppet://${server}/modules/site-apache/conf.d/${fqdn}/${name}", + "puppet://${server}/modules/site-apache/conf.d/${apache_cluster_node}/${name}", + "puppet://${server}/modules/site-apache/conf.d/${operatingsystem}.${lsbdistcodename}/${name}", + "puppet://${server}/modules/site-apache/conf.d/${operatingsystem}/${name}", + "puppet://${server}/modules/site-apache/conf.d/${name}", + "puppet://${server}/modules/apache/conf.d/${operatingsystem}.${lsbdistcodename}/${name}", + "puppet://${server}/modules/apache/conf.d/${operatingsystem}/${name}", + "puppet://${server}/modules/apache/conf.d/${name}" ], - default => "puppet://$server/$source", + default => "puppet://${server}/${source}", } File["apache_${name}"]{ source => $real_source, diff --git a/manifests/config/global.pp b/manifests/config/global.pp new file mode 100644 index 0000000..50e69b3 --- /dev/null +++ b/manifests/config/global.pp @@ -0,0 +1,15 @@ +# deploy apache configuration file (global) +# wrapper for apache::config::file +define apache::config::global( + $ensure = present, + $source = 'absent', + $content = 'absent', + $destination = 'absent' +){ + apache::config::file { "${name}": + ensure => $ensure, + source => $source, + content => $content, + destination => $destination, + } +} diff --git a/manifests/config/include.pp b/manifests/config/include.pp new file mode 100644 index 0000000..6ba3a86 --- /dev/null +++ b/manifests/config/include.pp @@ -0,0 +1,43 @@ +# deploy apache configuration file (includes for vhosts) +define apache::config::include( + $ensure = present, + $source = 'absent', + $content = 'absent', + $destination = 'absent' +){ + $real_destination = $destination ? { + 'absent' => $operatingsystem ? { + centos => "${apache::centos::config_dir}/include.d/${name}", + gentoo => "${apache::gentoo::config_dir}/${name}", + debian => "${apache::debian::config_dir}/include.d/${name}", + ubuntu => "${apache::ubuntu::config_dir}/include.d/${name}", + openbsd => "${apache::openbsd::config_dir}/include.d/${name}", + default => "/etc/apache2/${name}", + }, + default => $destination + } + if ($content == 'absent') { + $real_source = $source ? { + 'absent' => [ + "puppet://${server}/modules/site-apache/include.d/${fqdn}/${name}", + "puppet://${server}/modules/site-apache/include.d/${apache_cluster_node}/${name}", + "puppet://${server}/modules/site-apache/include.d/${operatingsystem}.${lsbdistcodename}/${name}", + "puppet://${server}/modules/site-apache/include.d/${operatingsystem}/${name}", + "puppet://${server}/modules/site-apache/include.d/${name}", + "puppet://${server}/modules/apache/include.d/${operatingsystem}.${lsbdistcodename}/${name}", + "puppet://${server}/modules/apache/include.d/${operatingsystem}/${name}", + "puppet://${server}/modules/apache/include.d/${name}" + ], + default => "puppet://${server}/${source}", + } + } + else { + $real_content = $content + } + apache::config::file { "${name}": + ensure => $ensure, + source => $real_source, + content => $real_content, + destination => $real_destination, + } +} diff --git a/manifests/includes.pp b/manifests/includes.pp index fa31e59..02502f8 100644 --- a/manifests/includes.pp +++ b/manifests/includes.pp @@ -1,5 +1,5 @@ # manifests/includes.pp class apache::includes { - apache::config::file{'do_includes.conf':} + apache::config::global{'do_includes.conf':} } diff --git a/manifests/joomla.pp b/manifests/joomla.pp index 02f398b..45d0b48 100644 --- a/manifests/joomla.pp +++ b/manifests/joomla.pp @@ -1,5 +1,5 @@ # manifests/joomla.pp class apache::joomla { - apache::config::file{'joomla.inc': } + apache::config::include{'joomla.inc': } } diff --git a/manifests/ssl/base.pp b/manifests/ssl/base.pp index 72f61fd..4aabb40 100644 --- a/manifests/ssl/base.pp +++ b/manifests/ssl/base.pp @@ -1,4 +1,4 @@ class apache::ssl::base { - ::apache::config::file{ 'ssl_defaults.inc': } + ::apache::config::include{ 'ssl_defaults.inc': } ::apache::vhost::file{ '0-default_ssl': } } diff --git a/manifests/ssl/centos.pp b/manifests/ssl/centos.pp index a516f02..b2c8ad8 100644 --- a/manifests/ssl/centos.pp +++ b/manifests/ssl/centos.pp @@ -4,5 +4,5 @@ class apache::ssl::centos inherits apache::ssl::base { ensure => present, require => Package[apache], } - ::apache::config::file{ 'ssl.conf': } + ::apache::config::global{ 'ssl.conf': } } diff --git a/manifests/status/centos.pp b/manifests/status/centos.pp index a7692dd..d893707 100644 --- a/manifests/status/centos.pp +++ b/manifests/status/centos.pp @@ -1,5 +1,5 @@ ### centos class apache::status::centos { - ::apache::config::file{ 'status.conf': } + ::apache::config::global{ 'status.conf': } } diff --git a/templates/vhosts/gitweb/gitweb.erb b/templates/vhosts/gitweb/gitweb.erb index 8ba680b..c5cbb5d 100644 --- a/templates/vhosts/gitweb/gitweb.erb +++ b/templates/vhosts/gitweb/gitweb.erb @@ -1,7 +1,7 @@ # <%= servername %> <%- unless ssl_mode.to_s == 'only' then -%> <VirtualHost *:80> - Include conf.d/defaults.inc + Include include.d/defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> ServerAlias <%= serveralias %> @@ -68,8 +68,8 @@ <%- unless ssl_mode.to_s == 'false' then -%> <VirtualHost *:443> - Include conf.d/defaults.inc - Include conf.d/ssl_defaults.inc + Include include.d/defaults.inc + Include include.d/ssl_defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> ServerAlias <%= serveralias %> diff --git a/templates/vhosts/passenger/passenger.erb b/templates/vhosts/passenger/passenger.erb index f5f67b5..41b903b 100644 --- a/templates/vhosts/passenger/passenger.erb +++ b/templates/vhosts/passenger/passenger.erb @@ -1,7 +1,7 @@ # <%= servername %> <%- unless ssl_mode.to_s == 'only' then -%> <VirtualHost *:80> - Include conf.d/defaults.inc + Include include.d/defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> @@ -58,8 +58,8 @@ <%- unless ssl_mode.to_s == 'false' then -%> <VirtualHost *:443> - Include conf.d/defaults.inc - Include conf.d/ssl_defaults.inc + Include include.d/defaults.inc + Include include.d/ssl_defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> diff --git a/templates/vhosts/perl/perl.erb b/templates/vhosts/perl/perl.erb index bf31482..0e64da1 100644 --- a/templates/vhosts/perl/perl.erb +++ b/templates/vhosts/perl/perl.erb @@ -1,7 +1,7 @@ # <%= servername %> <%- unless ssl_mode.to_s == 'only' then -%> <VirtualHost *:80> - Include conf.d/defaults.inc + Include include.d/defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> @@ -73,8 +73,8 @@ <%- unless ssl_mode.to_s == 'false' then -%> <VirtualHost *:443> - Include conf.d/defaults.inc - Include conf.d/ssl_defaults.inc + Include include.d/defaults.inc + Include include.d/ssl_defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> diff --git a/templates/vhosts/php/php.erb b/templates/vhosts/php/php.erb index 84e5c26..411bfd6 100644 --- a/templates/vhosts/php/php.erb +++ b/templates/vhosts/php/php.erb @@ -1,7 +1,7 @@ # <%= servername %> <%- unless ssl_mode.to_s == 'only' then -%> <VirtualHost *:80> - Include conf.d/defaults.inc + Include include.d/defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> @@ -76,8 +76,8 @@ <%- unless ssl_mode.to_s == 'false' then -%> <VirtualHost *:443> - Include conf.d/defaults.inc - Include conf.d/ssl_defaults.inc + Include include.d/defaults.inc + Include include.d/ssl_defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> diff --git a/templates/vhosts/php_drupal/php_drupal.erb b/templates/vhosts/php_drupal/php_drupal.erb index 6c106ce..9d54940 100644 --- a/templates/vhosts/php_drupal/php_drupal.erb +++ b/templates/vhosts/php_drupal/php_drupal.erb @@ -1,7 +1,7 @@ # <%= servername %> <%- unless ssl_mode.to_s == 'only' then -%> <VirtualHost *:80> - Include conf.d/defaults.inc + Include include.d/defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> @@ -98,8 +98,8 @@ <%- unless ssl_mode.to_s == 'false' then -%> <VirtualHost *:443> - Include conf.d/defaults.inc - Include conf.d/ssl_defaults.inc + Include include.d/defaults.inc + Include include.d/ssl_defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> diff --git a/templates/vhosts/php_joomla/php_joomla.erb b/templates/vhosts/php_joomla/php_joomla.erb index a5f0d13..4bfef81 100644 --- a/templates/vhosts/php_joomla/php_joomla.erb +++ b/templates/vhosts/php_joomla/php_joomla.erb @@ -1,7 +1,7 @@ # <%= servername %> <%- unless ssl_mode.to_s == 'only' then -%> <VirtualHost *:80> - Include conf.d/defaults.inc + Include include.d/defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> @@ -27,7 +27,7 @@ <%- end -%> <%- if not ssl_mode.to_s == 'force' then -%> <Directory "<%= documentroot %>/"> - Include conf.d/joomla.inc + Include include.d/joomla.inc AllowOverride <%= allow_override %> <%- if options.to_s != 'absent' or do_includes.to_s == 'true' then -%> @@ -99,8 +99,8 @@ <%- unless ssl_mode.to_s == 'false' then -%> <VirtualHost *:443> - Include conf.d/defaults.inc - Include conf.d/ssl_defaults.inc + Include include.d/defaults.inc + Include include.d/ssl_defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> @@ -122,7 +122,7 @@ AddDefaultCharset <%= default_charset %> <%- end -%> <Directory "<%= documentroot %>/"> - Include conf.d/joomla.inc + Include include.d/joomla.inc AllowOverride <%= allow_override %> <%- if options.to_s != 'absent' or do_includes.to_s == 'true' then -%> diff --git a/templates/vhosts/php_mediawiki/php_mediawiki.erb b/templates/vhosts/php_mediawiki/php_mediawiki.erb index c9585f3..cabe0c5 100644 --- a/templates/vhosts/php_mediawiki/php_mediawiki.erb +++ b/templates/vhosts/php_mediawiki/php_mediawiki.erb @@ -1,7 +1,7 @@ # <%= servername %> <%- unless ssl_mode.to_s == 'only' then -%> <VirtualHost *:80> - Include conf.d/defaults.inc + Include include.d/defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> @@ -71,8 +71,8 @@ <%- unless ssl_mode.to_s == 'false' then -%> <VirtualHost *:443> - Include conf.d/defaults.inc - Include conf.d/ssl_defaults.inc + Include include.d/defaults.inc + Include include.d/ssl_defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> diff --git a/templates/vhosts/php_simplemachine/php_simplemachine.erb b/templates/vhosts/php_simplemachine/php_simplemachine.erb index 8dc2c46..72f7b38 100644 --- a/templates/vhosts/php_simplemachine/php_simplemachine.erb +++ b/templates/vhosts/php_simplemachine/php_simplemachine.erb @@ -1,7 +1,7 @@ # <%= servername %> <%- unless ssl_mode.to_s == 'only' then -%> <VirtualHost *:80> - Include conf.d/defaults.inc + Include include.d/defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> @@ -70,8 +70,8 @@ <%- unless ssl_mode.to_s == 'false' then -%> <VirtualHost *:443> - Include conf.d/defaults.inc - Include conf.d/ssl_defaults.inc + Include include.d/defaults.inc + Include include.d/ssl_defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> diff --git a/templates/vhosts/php_spip/php_spip.erb b/templates/vhosts/php_spip/php_spip.erb index 84e5c26..411bfd6 100644 --- a/templates/vhosts/php_spip/php_spip.erb +++ b/templates/vhosts/php_spip/php_spip.erb @@ -1,7 +1,7 @@ # <%= servername %> <%- unless ssl_mode.to_s == 'only' then -%> <VirtualHost *:80> - Include conf.d/defaults.inc + Include include.d/defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> @@ -76,8 +76,8 @@ <%- unless ssl_mode.to_s == 'false' then -%> <VirtualHost *:443> - Include conf.d/defaults.inc - Include conf.d/ssl_defaults.inc + Include include.d/defaults.inc + Include include.d/ssl_defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> diff --git a/templates/vhosts/php_typo3/php_typo3.erb b/templates/vhosts/php_typo3/php_typo3.erb index 75182e1..a22c8ec 100644 --- a/templates/vhosts/php_typo3/php_typo3.erb +++ b/templates/vhosts/php_typo3/php_typo3.erb @@ -1,7 +1,7 @@ # <%= servername %> <%- unless ssl_mode.to_s == 'only' then -%> <VirtualHost *:80> - Include conf.d/defaults.inc + Include include.d/defaults.inc AddDefaultCharset utf-8 @@ -88,8 +88,8 @@ <%- unless ssl_mode.to_s == 'false' then -%> <VirtualHost *:443> - Include conf.d/defaults.inc - Include conf.d/ssl_defaults.inc + Include include.d/defaults.inc + Include include.d/ssl_defaults.inc AddDefaultCharset utf-8 diff --git a/templates/vhosts/php_wordpress/php_wordpress.erb b/templates/vhosts/php_wordpress/php_wordpress.erb index 83f9f4b..980fc26 100644 --- a/templates/vhosts/php_wordpress/php_wordpress.erb +++ b/templates/vhosts/php_wordpress/php_wordpress.erb @@ -1,7 +1,7 @@ # <%= servername %> <%- unless ssl_mode.to_s == 'only' then -%> <VirtualHost *:80> - Include conf.d/defaults.inc + Include include.d/defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> @@ -75,8 +75,8 @@ <%- unless ssl_mode.to_s == 'false' then -%> <VirtualHost *:443> - Include conf.d/defaults.inc - Include conf.d/ssl_defaults.inc + Include include.d/defaults.inc + Include include.d/ssl_defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> diff --git a/templates/vhosts/redirect/redirect.erb b/templates/vhosts/redirect/redirect.erb index adbe666..4fdd8c2 100644 --- a/templates/vhosts/redirect/redirect.erb +++ b/templates/vhosts/redirect/redirect.erb @@ -1,7 +1,7 @@ # <%= servername %> <%- unless ssl_mode.to_s == 'only' then -%> <VirtualHost *:80> - Include conf.d/defaults.inc + Include include.d/defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> ServerAlias <%= serveralias %> @@ -22,8 +22,8 @@ <%- unless ssl_mode.to_s == 'false' then -%> <VirtualHost *:443> - Include conf.d/defaults.inc - Include conf.d/ssl_defaults.inc + Include include.d/defaults.inc + Include include.d/ssl_defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> ServerAlias <%= serveralias %> diff --git a/templates/vhosts/static/static.erb b/templates/vhosts/static/static.erb index 016ded2..a7aa374 100644 --- a/templates/vhosts/static/static.erb +++ b/templates/vhosts/static/static.erb @@ -1,7 +1,7 @@ # <%= servername %> <%- unless ssl_mode.to_s == 'only' then -%> <VirtualHost *:80> - Include conf.d/defaults.inc + Include include.d/defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> ServerAlias <%= serveralias %> @@ -58,8 +58,8 @@ <%- unless ssl_mode.to_s == 'false' then -%> <VirtualHost *:443> - Include conf.d/defaults.inc - Include conf.d/ssl_defaults.inc + Include include.d/defaults.inc + Include include.d/ssl_defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> ServerAlias <%= serveralias %> diff --git a/templates/vhosts/webdav/webdav.erb b/templates/vhosts/webdav/webdav.erb index bf4f2d2..671ff58 100644 --- a/templates/vhosts/webdav/webdav.erb +++ b/templates/vhosts/webdav/webdav.erb @@ -1,7 +1,7 @@ # <%= servername %> <%- unless ssl_mode.to_s == 'only' then -%> <VirtualHost *:80> - Include conf.d/defaults.inc + Include include.d/defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> @@ -43,7 +43,7 @@ require valid-user <%- end -%> <%- if ldap_auth.to_s == 'true' then -%> - Include conf.d/ldap_auth.inc + Include include.d/ldap_auth.inc <%- unless ldap_user.to_s == 'any' -%> Require ldap-user <%= ldap_user.to_s %> <%- else -%> @@ -75,8 +75,8 @@ <%- unless ssl_mode.to_s == 'false' then -%> <VirtualHost *:443> - Include conf.d/defaults.inc - Include conf.d/ssl_defaults.inc + Include include.d/defaults.inc + Include include.d/ssl_defaults.inc ServerName <%= servername %> <%- unless serveralias.to_s.empty? then -%> @@ -117,7 +117,7 @@ require valid-user <%- end -%> <%- if ldap_auth.to_s == 'true' then -%> - Include conf.d/ldap_auth.inc + Include include.d/ldap_auth.inc <%- unless ldap_user.to_s == 'any' -%> Require ldap-user <%= ldap_user.to_s %> <%- else -%> |