| Index: modules/statsmaster/manifests/awstats.pp |
| =================================================================== |
| new file mode 100644 |
| --- /dev/null |
| +++ b/modules/statsmaster/manifests/awstats.pp |
| @@ -0,0 +1,170 @@ |
| +class statsmaster::awstats { |
| + package {['awstats', 'libgeo-ip-perl']:} |
| + |
| + file {'/var/www/awstatsdata': |
|
Felix Dahlke
2014/04/25 04:37:08
How about combining these directory resources?
fi
|
| + ensure => directory, |
| + owner => root, |
| + mode => 0755, |
| + } |
| + |
| + file {'/var/www/awstatsconf': |
| + ensure => directory, |
| + owner => root, |
| + mode => 0755, |
| + } |
| + |
| + file {'/var/www/awstats': |
| + ensure => directory, |
| + owner => root, |
| + mode => 0755, |
| + } |
| + |
| + file {'/var/www/awstats/archive': |
| + ensure => directory, |
| + owner => root, |
| + mode => 0755, |
| + } |
| + |
| + concat {'/var/www/awstats/index.html': |
| + mode => 0644, |
| + owner => root, |
| + } |
| + |
| + concat {'/home/stats/process_logs': |
| + owner => stats, |
| + mode => 0700, |
| + } |
| + |
| + concat {'/home/stats/build_static': |
| + owner => stats, |
| + mode => 0700, |
| + } |
| + |
| + concat::fragment {'index_head': |
| + target => '/var/www/awstats/index.html', |
| + content => template('statsmaster/index_head.html.erb'), |
| + order => 'aaahead', |
| + } |
| + |
| + concat::fragment {'index_foot': |
| + target => '/var/www/awstats/index.html', |
| + content => template('statsmaster/index_foot.html.erb'), |
| + order => 'zzzfoot', |
| + } |
| + |
| + concat::fragment {'process_logs_head': |
| + target => '/home/stats/process_logs', |
| + content => template('statsmaster/process_logs_head.erb'), |
| + order => 'aaahead', |
| + } |
| + |
| + concat::fragment {'build_static_head': |
| + target => '/home/stats/build_static', |
| + content => template('statsmaster/build_static_head.erb'), |
| + order => 'aaahead', |
| + } |
| + |
| + define siteconfig($host, $log) { |
| + file {"/var/www/awstatsconf/awstats.$title.conf": |
| + ensure => present, |
| + mode => 0444, |
| + owner => root, |
| + content => template('statsmaster/awstats.conf'), |
| + } |
| + |
| + file {["/var/www/awstatsdata/$title", "/var/www/awstats/$title", "/var/www/awstats/archive/$title"]: |
|
Felix Dahlke
2014/04/25 04:37:08
Nit: Wrap at 80 columns?
|
| + ensure => directory, |
| + mode => 0755, |
| + owner => stats, |
| + } |
| + |
| + concat::fragment {"index_$title": |
| + target => '/var/www/awstats/index.html', |
| + content => template('statsmaster/index_item.html.erb'), |
| + order => $title, |
| + } |
| + |
| + concat::fragment {"process_logs_$title": |
| + target => '/home/stats/process_logs', |
| + content => template('statsmaster/process_logs_item.erb'), |
| + order => $title, |
| + } |
| + |
| + concat::fragment {"build_static_$title": |
| + target => '/home/stats/build_static', |
| + content => template('statsmaster/build_static_item.erb'), |
| + order => $title, |
| + } |
| + } |
| + |
| + $sites = { |
| + 'adblockplus.org' => { |
| + host => 'ssh.adblockplus.org', |
| + log => 'access_log_adblockplus', |
| + }, |
| + 'easylist.adblockplus.org' => { |
| + host => 'ssh.adblockplus.org', |
| + log => 'access_log_easylist', |
| + }, |
| + 'share.adblockplus.org' => { |
| + host => 'ssh.adblockplus.org', |
| + log => 'access_log_share', |
| + }, |
| + 'facebook.adblockplus.me' => { |
| + host => 'ssh.adblockplus.org', |
| + log => 'access_log_facebook', |
| + }, |
| + 'youtube.adblockplus.org' => { |
|
Wladimir Palant
2014/04/24 18:57:03
The site is called youtube.adblockplus.me, not you
|
| + host => 'ssh.adblockplus.org', |
| + log => 'access_log_youtube', |
| + }, |
| + 'acceptableads.org' => { |
| + host => 'ssh.adblockplus.org', |
| + log => 'access_log_acceptableads', |
| + }, |
| + 'eyeo.com' => { |
| + host => 'web1.adblockplus.org', |
| + log => 'access_log_eyeo.com', |
| + }, |
| + 'intraforum.adblockplus.org' => { |
| + host => 'server10.adblockplus.org', |
|
Wladimir Palant
2014/04/24 18:57:03
The DNS name is server_10, fixed that in https://h
|
| + log => 'access_log_intraforum', |
| + }, |
| + } |
| + |
| + create_resources(statsmaster::awstats::siteconfig, $sites) |
| + |
| + cron {'awstats_update': |
| + ensure => present, |
| + require => [ |
| + Package['awstats', 'libgeo-ip-perl'], |
| + Concat['/home/stats/process_logs'], |
| + Concat['/home/stats/build_static'], |
| + File['/var/www/awstatsconf'], |
| + File['/var/www/awstatsdata'], |
| + File['/var/www/awstats'], |
| + ], |
| + command => '/home/stats/process_logs && /home/stats/build_static', |
| + environment => ['MAILTO=admins@adblockplus.org,root'], |
| + user => stats, |
| + hour => 4, |
| + minute => 0, |
| + } |
| + |
| + cron {'awstats_prevmonth': |
| + ensure => present, |
| + require => [ |
| + Package['awstats'], |
| + Concat['/home/stats/build_static'], |
| + File['/var/www/awstatsconf'], |
| + File['/var/www/awstatsdata'], |
| + File['/var/www/awstats/archive'], |
| + ], |
| + command => '/home/stats/build_static prevmonth', |
| + environment => ['MAILTO=admins@adblockplus.org,root'], |
| + user => stats, |
| + monthday => 1, |
| + hour => 6, |
| + minute => 0, |
| + } |
| +} |