class apache2::server {
package { "apache2.2-common": ensure => latest }
group { "www-data":
gid => 33,
ensure => present
}
user { "www-data":
uid => 33,
ensure => present,
gid => "www-data",
home => "/var/www",
shell => "/bin/sh"
}
service { "apache2":
enable => true,
ensure => running,
hasstatus => true,
hasrestart => true,
require => Package["apache2.2-common"]
}
exec { "a2dissite-default":
command => "/usr/sbin/a2dissite default",
onlyif => "/usr/bin/test -e /etc/apache2/sites-enabled/000-default",
notify => Service["apache2"]
}
exec { "a2dissite-defaultssl":
command => "/usr/sbin/a2dissite default-ssl",
onlyif => "/usr/bin/test -e /etc/apache2/sites-enabled/default-ssl",
notify => Service["apache2"]
}
}
class apache2::comcore {
file { "/etc/apache2/sites-available/site":
source => "puppet:///apache2/site",
owner => "root",
group => "root",
mode => "0644",
require => Class["apache2::server"],
before => Exec["a2ensite-site"]
}
exec { "a2ensite-site":
command => "/usr/sbin/a2ensite site",
onlyif => "/usr/bin/test ! -e /etc/apache2/sites-enabled/site",
notify => Service["apache2"]
}
exec { "a2enmod-rewrite":
command => "/usr/sbin/a2enmod rewrite",
onlyif => "/usr/bin/test ! -e /etc/apache2/mods-enabled/rewrite.load",
notify => Service["apache2"]
}
file { "/etc/logrotate.d/apache2":
source => "puppet:///apache2/logrotate",
owner => "root",
group => "root",
mode => "0644",
require => Package["logrotate"]
}
}