1 |
class blog { |
2 |
|
3 |
user { "blog": |
4 |
groups => apache, |
5 |
comment => "User running cron jobs for blog", |
6 |
ensure => present, |
7 |
managehome => true, |
8 |
home => "/var/lib/blog", |
9 |
} |
10 |
|
11 |
package { ['wget','php-mysql']: |
12 |
ensure => installed |
13 |
} |
14 |
|
15 |
file { "check_new-blog-post": |
16 |
path => "/usr/local/bin/check_new-blog-post.sh", |
17 |
ensure => present, |
18 |
owner => root, |
19 |
group => root, |
20 |
mode => 755, |
21 |
content => template("blog/check_new-blog-post.sh") |
22 |
} |
23 |
|
24 |
cron { blog: |
25 |
user => blog, |
26 |
minute => '*/15', |
27 |
command => "/usr/local/bin/check_new-blog-post.sh", |
28 |
require => [File["check_new-blog-post"], User['blog']], |
29 |
} |
30 |
|
31 |
include apache::mod_php |
32 |
include mysql |
33 |
|
34 |
$blog_location = "/var/www/html/blog.$domain" |
35 |
$blog_domain = "blog-test.$domain" |
36 |
|
37 |
apache::vhost_base { "$blog_domain": |
38 |
location => $blog_location, |
39 |
content => template('blog/blogs_vhosts.conf'), |
40 |
} |
41 |
|
42 |
apache::vhost_base { "ssl_$blog_domain": |
43 |
use_ssl => true, |
44 |
vhost => $blog_domain, |
45 |
location => $blog_location, |
46 |
content => template('blog/blogs_vhosts.conf'), |
47 |
} |
48 |
|
49 |
file { "$blog_location": |
50 |
ensure => directory, |
51 |
owner => blog, |
52 |
group => apache, |
53 |
mode => 644, |
54 |
} |
55 |
} |