]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/apache2/manifests/init.pp
Merge branch 'master' of ssh://handel.debian.org/srv/puppet.debian.org/git/dsa-puppet
[dsa-puppet.git] / modules / apache2 / manifests / init.pp
1 class apache2 {
2         include munin-node::apache
3
4         package {
5                 "apache2": ensure => installed;
6                 "logrotate": ensure => installed;
7         }
8
9         define enable_module($ensure=present) {
10                 case $ensure {
11                         present: {
12                                 exec { "/usr/sbin/a2enmod $name":
13                                         unless => "/bin/sh -c '[ -L /etc/apache2/mods-enabled/${name}.load ]'",
14                                         notify => Exec["force-reload-apache2"],
15                                 }
16                         }
17                         absent: {
18                                 exec { "/usr/sbin/a2dismod $name":
19                                         onlyif => "/bin/sh -c '[ -L /etc/apache2/mods-enabled/${name}.load ]'",
20                                         notify => Exec["force-reload-apache2"],
21                                 }
22                         }
23                         default: { err ( "Unknown ensure value: '$ensure'" ) }
24                  }
25         }
26
27         enable_module {
28                 "info":;
29                 "status":;
30         }
31
32         file {
33                 "/etc/apache2/conf.d/ressource-limits":
34                         content => template("apache2/ressource-limits.erb"),
35                         require => Package["apache2"],
36                         notify  => Exec["reload-apache2"];
37                 "/etc/apache2/conf.d/security":
38                         source  => [ "puppet:///apache2/per-host/$fqdn/etc/apache2/conf.d/security",
39                                      "puppet:///apache2/common/etc/apache2/conf.d/security" ],
40                         require => Package["apache2"],
41                         notify  => Exec["reload-apache2"];
42                 "/etc/apache2/conf.d/local-serverinfo":
43                         source  => [ "puppet:///apache2/per-host/$fqdn/etc/apache2/conf.d/local-serverinfo",
44                                      "puppet:///apache2/common/etc/apache2/conf.d/local-serverinfo" ],
45                         require => Package["apache2"],
46                         notify  => Exec["reload-apache2"];
47                 "/etc/apache2/conf.d/server-status":
48                         source  => [ "puppet:///apache2/per-host/$fqdn/etc/apache2/conf.d/server-status",
49                                      "puppet:///apache2/common/etc/apache2/conf.d/server-status" ],
50                         require => Package["apache2"],
51                         notify  => Exec["reload-apache2"];
52
53                 "/etc/apache2/sites-available/default-debian.org":
54                         source  => [ "puppet:///apache2/per-host/$fqdn/etc/apache2/sites-available/default-debian.org",
55                                      "puppet:///apache2/common/etc/apache2/sites-available/default-debian.org" ],
56                         require => Package["apache2"],
57                         notify  => Exec["reload-apache2"];
58
59                 "/etc/logrotate.d/apache2":
60                         source  => [ "puppet:///apache2/per-host/$fqdn/etc/logrotate.d/apache2",
61                                      "puppet:///apache2/common/etc/logrotate.d/apache2" ];
62
63                 "/srv/www":
64                         mode    => 755,
65                         ensure  => directory;
66                 "/srv/www/default.debian.org":
67                         mode    => 755,
68                         ensure  => directory;
69                 "/srv/www/default.debian.org/htdocs":
70                         mode    => 755,
71                         ensure  => directory;
72                 "/srv/www/default.debian.org/htdocs/index.html":
73                         content => template("apache2/default-index.html");
74
75                 # sometimes this is a symlink
76                 #"/var/log/apache2":
77                 #       mode    => 755,
78                 #       ensure  => directory;
79         }
80
81         exec { "reload-apache2":
82                command => "/etc/init.d/apache2 reload",
83                refreshonly => true,
84         }
85
86         exec { "force-reload-apache2":
87                command => "/etc/init.d/apache2 force-reload",
88                refreshonly => true,
89         }
90 }