Added webalizer support to apache module

This commit is contained in:
Ossi Salmi 2010-11-05 16:55:07 +02:00 committed by Timo Mkinen
parent 1ebd8e7aff
commit eca8e074e5
3 changed files with 708 additions and 0 deletions

View file

@ -143,6 +143,17 @@ define apache::site($aliases="", $root="", $config="", $redirect="") {
}
}
if !$redirect {
$site_fqdn = $name ? {
"default" => "${fqdn}",
default => "${name}",
}
apache::webalizer::site { "http/${site_fqdn}":
site_proto => "http",
site_fqdn => $site_fqdn,
}
}
}
@ -226,6 +237,15 @@ define apache::sslsite($root="", $config="", $ssl_cert="", $ssl_key="", $ssl_cha
}
}
$site_fqdn = $name ? {
"default" => "${fqdn}",
default => "${name}",
}
apache::webalizer::site { "https/${site_fqdn}":
site_proto => "https",
site_fqdn => $site_fqdn,
}
}
@ -378,3 +398,115 @@ class apache::mod::wsgi {
}
}
# Install and configure webalizer.
#
class apache::webalizer {
package { "webalizer":
ensure => installed,
}
file { [ "/srv/www/webalizer",
"/srv/www/webalizer/history",
"/srv/www/webalizer/history/http",
"/srv/www/webalizer/history/https",
"/srv/www/webalizer/html/http",
"/srv/www/webalizer/html/https",
"/srv/www/webalizer/html", ]:
ensure => directory,
mode => 0755,
owner => $operatingsystem ? {
debian => root,
ubuntu => root,
default => webalizer,
},
group => root,
require => [ File["/srv/www"], Package["webalizer"], ],
}
file { [ "/etc/webalizer",
"/etc/webalizer/http",
"/etc/webalizer/https", ]:
ensure => directory,
mode => 0644,
owner => root,
group => root,
}
File["/etc/webalizer/http", "/etc/webalizer/https"] {
purge => true,
force => true,
recurse => true,
source => "puppet:///custom/empty",
}
case $operatingsystem {
debian,ubuntu: {
file { "/etc/cron.daily/webalizer":
ensure => absent,
}
}
default: {
file { "/etc/cron.daily/00webalizer":
ensure => absent,
}
}
}
file { "/usr/local/sbin/www-webalizer.sh":
ensure => present,
source => "puppet:///apache/www-webalizer.sh",
mode => 0755,
owner => root,
group => root,
require => Package["webalizer"],
}
cron { "www-webalizer":
ensure => present,
command => "/usr/local/sbin/www-webalizer.sh",
user => $operatingsystem ? {
debian => root,
ubuntu => root,
default => webalizer,
},
hour => 23,
minute => 59,
require => File["/usr/local/sbin/www-webalizer.sh"],
}
File <| tag == "webalizer" |>
}
define apache::webalizer::site($site_proto, $site_fqdn) {
@file { "/etc/webalizer/${name}.conf":
ensure => present,
mode => 0644,
owner => root,
group => root,
content => template("apache/webalizer.conf.erb"),
require => File["/etc/webalizer/${site_proto}"],
tag => "webalizer",
}
@file { [ "/srv/www/webalizer/history/${name}",
"/srv/www/webalizer/html/${name}", ]:
ensure => directory,
mode => 0755,
owner => $operatingsystem ? {
debian => root,
ubuntu => root,
default => webalizer,
},
group => root,
require => [ File["/srv/www/webalizer/history/${site_proto}"],
File["/srv/www/webalizer/html/${site_proto}"], ],
tag => "webalizer",
}
}