class blog { user { "blog": groups => apache, comment => "User running cron jobs for blog", ensure => present, managehome => true, home => "/var/lib/blog", } package { ['wget','php-mysql']: ensure => installed } file { "check_new-blog-post": path => "/usr/local/bin/check_new-blog-post.sh", ensure => present, owner => root, group => root, mode => 755, content => template("blog/check_new-blog-post.sh") } cron { blog: user => blog, minute => '*/15', command => "/usr/local/bin/check_new-blog-post.sh", require => File["check_new-blog-post"] } include apache::mod_php include mysql apache::vhost_other_app { "blog-test.$domain": vhost_file => "blog/blogs_vhosts.conf", } file { "/var/www/html/blog.$domain": ensure => directory, owner => blog, # FIXME is the group created by puppet ? group => blog, mode => 644, } }