Improved apache virtual host configuration

Additional configuration files are now fetched from the
puppet file server.
This commit is contained in:
Ossi Salmi 2010-11-05 16:55:08 +02:00 committed by Timo Mkinen
parent eca8e074e5
commit 63440a18d4
5 changed files with 76 additions and 49 deletions

View file

@ -88,14 +88,16 @@ class apache::debian::server inherits apache::debian::common {
}
define apache::debian::site($aliases, $root, $config, $redirect) {
define apache::debian::site($aliases, $root, $redirect) {
if $name == "default" {
$site_fqdn = $fqdn
$site_conf = "/etc/apache2/sites-enabled/00-${site_fqdn}.conf"
$site_confdir = "/etc/apache2/sites-enabled/00-${site_fqdn}.d"
} else {
$site_fqdn = $name
$site_conf = "/etc/apache2/sites-enabled/${site_fqdn}.conf"
$site_confdir = "/etc/apache2/sites-enabled/${site_fqdn}.d"
if !$redirect {
if $root {
@ -132,20 +134,27 @@ define apache::debian::site($aliases, $root, $config, $redirect) {
notify => Service["apache2"],
}
if $config {
File["${site_conf}"] {
source => $config,
}
}
if $redirect {
File["${site_conf}"] {
content => "<VirtualHost *:80>\n ServerName ${site_fqdn}\n Redirect permanent / ${redirect}\n</VirtualHost>\n",
}
}
if !$config and !$redirect {
} else {
File["${site_conf}"] {
content => template("apache/site.http.conf.erb"),
}
file { "${site_confdir}":
ensure => directory,
mode => 0644,
owner => root,
group => root,
purge => true,
force => true,
recurse => true,
source => [ "puppet:///files/apache/sites/${site_fqdn}",
"puppet:///custom/empty", ],
before => File["${site_conf}"],
notify => Service["apache2"],
}
}
}
@ -171,7 +180,7 @@ class apache::debian::sslserver inherits apache::debian::common {
}
define apache::debian::sslsite($root, $config, $ssl_cert, $ssl_key, $ssl_chain) {
define apache::debian::sslsite($root, $ssl_cert, $ssl_key, $ssl_chain) {
if $name == "default" {
$site_fqdn = $fqdn
@ -244,8 +253,12 @@ define apache::debian::sslsite($root, $config, $ssl_cert, $ssl_key, $ssl_chain)
}
}
file { "/etc/apache2/sites-enabled/${site_fqdn}-ssl.conf":
$site_conf = "/etc/apache2/sites-enabled/${site_fqdn}-ssl.conf"
$site_confdir = "/etc/apache2/sites-enabled/${site_fqdn}-ssl.d"
file { "${site_conf}":
ensure => present,
content => template("apache/site.https.conf.erb"),
mode => 0644,
owner => root,
group => root,
@ -254,14 +267,18 @@ define apache::debian::sslsite($root, $config, $ssl_cert, $ssl_key, $ssl_chain)
File["/etc/ssl/private/${site_fqdn}.key"], ],
}
if $config {
File["/etc/apache2/sites-enabled/${site_fqdn}-ssl.conf"] {
source => $config,
}
} else {
File["/etc/apache2/sites-enabled/${site_fqdn}-ssl.conf"] {
content => template("apache/site.https.conf.erb"),
}
file { "${site_confdir}":
ensure => directory,
mode => 0644,
owner => root,
group => root,
purge => true,
force => true,
recurse => true,
source => [ "puppet:///files/apache/sslsites/${site_fqdn}",
"puppet:///custom/empty", ],
before => File["${site_conf}"],
notify => Service["apache2"],
}
}