class site::web-base inherits apache{
include site::digg-php
Apache::Module {
notify => Service["apache"]
}
apache::module {
[ "alias", "auth_basic", "authn_file", "authz_default", "authz_groupfile" ]:
ensure => installed;
[ "authz_host", "authz_user", "autoindex", "cgi", "dir", "env", "headers" ]:
ensure => installed;
[ "mime", "negotiation", "rewrite", "setenvif", "status", "userdir"]:
ensure => installed;
"php5":
ensure => installed,
require => [ Package["php"], Package["mod-php"] ];
}
apache::config {
"base-config":
order => 000,
content => template("site/apache/base-config.erb"),
ensure => present;
"ports":
order => 010,
content => template("site/apache/ports.erb"),
ensure => present;
}
package {
"ca-certificates": ensure => installed;
"cronolog": ensure => installed;
"openssl": ensure => installed;
"smtpd": ensure => $operatingsystemrelease ? {
"4.0" => purged,
default => undef
};
"ssl-cert": ensure => installed;
}
realize File["delete-old-files"]
cron {
"clean-old-logs":
command => "/usr/bin/find /var/log/apache2 -maxdepth 1 -xdev -mtime 5 -type f -delete",
hour => 2,
minute => 20;
}
file {
"/etc/logrotate.d/apache2":
ensure => absent;
"/etc/logrotate.d/php":
source => "puppet:///site/logrotate/php";
"/etc/mailname":
notify => Exec["update-exim4.conf"],
content => "digg.com\n";
"/etc/php4":
recurse => true,
force => true,
ensure => absent;
"/etc/php5":
ensure => directory;
"/etc/php5/apache2":
ensure => directory;
"/etc/php5/apache2/php.ini":
notify => Service["apache2"],
content => template("site/php/php-apache2.ini.erb");
"/etc/php5/cli":
ensure => directory;
"/etc/php5/cli/php.ini":
content => template("site/php/php-cli.ini.erb");
"/var/log/apache2/php":
require => Package["apache2"],
owner => www-data,
group => www-data,
ensure => directory;
}
}