Report abuse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
class apache {
        $packagelist = ["apache2", "apache2.2-common", "apache2-mpm-prefork", "apache2-utils"]

        package { $packagelist:
                ensure => "$packageAuto"
        }
        file { "/etc/apache2/ports.conf":
                source  => "puppet:///apache/ports.conf",
                require => Package["apache2"],
        }

        file { "/etc/apache2/sites-available/default":
                content  => template("apache/sites-available/default.erb"),
                require => Package["apache2"]
        }

        file { "/etc/apache2/sites-enabled/000-default":
                ensure  => "/etc/apache2/sites-available/default",
                require => File["/etc/apache2/sites-available/default"],
        }

        define module ( $ensure = 'present', $pack = 'apache2' ) {
                $apache2_mods = "/etc/apache2/mods"
                case $ensure {
                        'present' : {
                                exec { "/usr/sbin/a2enmod $name":
                                        unless => "/bin/sh -c '[ -L ${apache2_mods}-enabled/${name}.load ]'",
                                        notify => Exec["apache-force-reload"],
                                        require => Package[$pack],
                                }
                        }
                        'absent': {
                                exec { "/usr/sbin/a2dismod $name":
                                        onlyif => "/bin/sh -c '[ -L ${apache2_mods}-enabled/${name}.load ]'",
                                        notify => Exec["apache-force-reload"],
                                        require => Package["apache2"],
                                }
                        }
                        default: {
                                err ( "Unknown ensure value: '$ensure'" )
                        }
                }
        }

        exec { "apache-force-reload":
                command => "/etc/init.d/apache2 force-reload",
                refreshonly => true,
        }

        service { "apache":
                name       => "apache2",
                ensure     => running,
                enable     => true,
                hasrestart => true,
                require    => Package["apache2"],
        }

}