diff --git a/apache/manifests/init.pp b/apache/manifests/init.pp index 8f4be39..83025d2 100644 --- a/apache/manifests/init.pp +++ b/apache/manifests/init.pp @@ -720,26 +720,33 @@ class apache::mod::wsgi { # class apache::webalizer { + include user::system + realize(User["webalizer"], Group["webalizer"]) + package { "webalizer": - ensure => installed, + ensure => installed, + require => User["webalizer"], } - 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", ]: + file { "/srv/www/webalizer": ensure => directory, mode => "0755", - owner => $::operatingsystem ? { - debian => root, - ubuntu => root, - default => webalizer, - }, - group => root, - require => [ File["/srv/www"], Package["webalizer"], ], + owner => "root", + group => "root", + require => File["/srv/www"], + } + + file { [ "/srv/www/webalizer/history", + "/srv/www/webalizer/history/http", + "/srv/www/webalizer/history/https", + "/srv/www/webalizer/html", + "/srv/www/webalizer/html/http", + "/srv/www/webalizer/html/https", ]: + ensure => directory, + mode => "0755", + owner => "webalizer", + group => "root", + require => [ File["/srv/www/webalizer"], User["webalizer"] ], } file { [ "/etc/webalizer", @@ -747,8 +754,9 @@ class apache::webalizer { "/etc/webalizer/https", ]: ensure => directory, mode => "0644", - owner => root, - group => root, + owner => "root", + group => "root", + require => Package["webalizer"], } File["/etc/webalizer/http", "/etc/webalizer/https"] { @@ -758,27 +766,22 @@ class apache::webalizer { source => "puppet:///modules/custom/empty", } - case $::operatingsystem { - debian,ubuntu: { - file { "/etc/cron.daily/webalizer": - ensure => absent, - require => Package["webalizer"], - } - } - default: { - file { "/etc/cron.daily/00webalizer": - ensure => absent, - require => Package["webalizer"], - } - } + file { "/etc/cron.daily/00webalizer": + name => $::operatingsystem ? { + "debian" => "/etc/cron.daily/webalizer", + "ubuntu" => "/etc/cron.daily/webalizer", + default => "/etc/cron.daily/00webalizer", + }, + ensure => absent, + require => Package["webalizer"], } file { "/usr/local/sbin/www-webalizer.sh": ensure => present, source => "puppet:///modules/apache/www-webalizer.sh", mode => "0755", - owner => root, - group => root, + owner => "root", + group => "root", require => Package["webalizer"], } @@ -786,11 +789,7 @@ class apache::webalizer { ensure => present, environment => "MAILTO=root", command => "/usr/local/sbin/www-webalizer.sh", - user => $::operatingsystem ? { - debian => root, - ubuntu => root, - default => webalizer, - }, + user => "webalizer", hour => 23, minute => 55, require => File["/usr/local/sbin/www-webalizer.sh"], @@ -806,8 +805,8 @@ define apache::webalizer::site($site_proto, $site_fqdn) { @file { "/etc/webalizer/${name}.conf": ensure => present, mode => "0644", - owner => root, - group => root, + owner => "root", + group => "root", content => template("apache/webalizer.conf.erb"), require => File["/etc/webalizer/${site_proto}"], tag => "webalizer", @@ -817,14 +816,12 @@ define apache::webalizer::site($site_proto, $site_fqdn) { "/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}"], ], + owner => "webalizer", + group => "root", + require => [ + File["/srv/www/webalizer/history/${site_proto}"], + File["/srv/www/webalizer/html/${site_proto}"], + ], tag => "webalizer", } diff --git a/user/manifests/init.pp b/user/manifests/init.pp index f623e81..a6d1fa4 100644 --- a/user/manifests/init.pp +++ b/user/manifests/init.pp @@ -320,6 +320,21 @@ class user::system { require => Group["snmptrapd"], } + # Webalizer + @group { "webalizer": + ensure => present, + gid => 822, + } + @user { "webalizer": + ensure => present, + uid => 822, + gid => 822, + comment => "Service Webalizer", + home => "/var/empty", + shell => "/sbin/nologin", + require => Group["webalizer"], + } + }