# $Id: server.pp 184 2009-05-26 14:10:29Z poison $

class apache2::server {

###############################
###### PACKAGES REQUIRED ######
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"]
}

}


# $Id: comcore.pp 297 2009-05-27 19:27:01Z poison $

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"]
}

}