1 |
class blog { |
2 |
|
3 |
class base { |
4 |
$blog_location = "/var/www/vhosts/blog.$domain" |
5 |
$blog_domain = "blog.$domain" |
6 |
$blog_db_backupdir = "/var/lib/backups/blog_db" |
7 |
$blog_files_backupdir = "/var/lib/backups/blog_files" |
8 |
|
9 |
user { "blog": |
10 |
groups => apache, |
11 |
comment => "Mageia Blog", |
12 |
ensure => present, |
13 |
managehome => true, |
14 |
home => "/var/lib/blog", |
15 |
} |
16 |
} |
17 |
|
18 |
class files-bots inherits base { |
19 |
package { ['wget','php-mysql','php-ldap','unzip']: |
20 |
ensure => installed |
21 |
} |
22 |
|
23 |
file { "check_new-blog-post": |
24 |
path => "/usr/local/bin/check_new-blog-post.sh", |
25 |
ensure => present, |
26 |
owner => root, |
27 |
group => root, |
28 |
mode => 755, |
29 |
content => template("blog/check_new-blog-post.sh") |
30 |
} |
31 |
|
32 |
cron { "Blog bot": |
33 |
user => blog, |
34 |
minute => '*/15', |
35 |
command => "/usr/local/bin/check_new-blog-post.sh", |
36 |
require => [File["check_new-blog-post"], User['blog']], |
37 |
} |
38 |
|
39 |
include apache::mod_php |
40 |
|
41 |
apache::vhost_base { "$blog_domain": |
42 |
location => $blog_location, |
43 |
content => template('blog/blogs_vhosts.conf'), |
44 |
} |
45 |
|
46 |
apache::vhost_base { "ssl_$blog_domain": |
47 |
use_ssl => true, |
48 |
vhost => $blog_domain, |
49 |
location => $blog_location, |
50 |
content => template('blog/blogs_vhosts.conf'), |
51 |
} |
52 |
|
53 |
file { "$blog_location": |
54 |
ensure => directory, |
55 |
owner => apache, |
56 |
group => apache, |
57 |
mode => 644, |
58 |
} |
59 |
} |
60 |
class db_backup inherits base { |
61 |
file { $blog_db_backupdir: |
62 |
ensure => directory, |
63 |
owner => root, |
64 |
group => root, |
65 |
mode => 644, |
66 |
} |
67 |
|
68 |
file { "backup_blog-db": |
69 |
path => "/usr/local/bin/backup_blog-db.sh", |
70 |
ensure => present, |
71 |
owner => root, |
72 |
group => root, |
73 |
mode => 755, |
74 |
content => template("blog/backup_blog-db.sh") |
75 |
} |
76 |
|
77 |
cron { "Backup DB (blog)": |
78 |
user => root, |
79 |
hour => '23', |
80 |
minute => '42', |
81 |
command => "/usr/local/bin/backup_blog-db.sh", |
82 |
require => [File["backup_blog-db"]], |
83 |
} |
84 |
} |
85 |
class files_backup inherits base { |
86 |
file { $blog_files_backupdir: |
87 |
ensure => directory, |
88 |
owner => root, |
89 |
group => root, |
90 |
mode => 644, |
91 |
} |
92 |
|
93 |
file { "backup_blog-files": |
94 |
path => "/usr/local/bin/backup_blog-files.sh", |
95 |
ensure => present, |
96 |
owner => root, |
97 |
group => root, |
98 |
mode => 755, |
99 |
content => template("blog/backup_blog-files.sh") |
100 |
} |
101 |
|
102 |
cron { "Backup files (blog)": |
103 |
user => root, |
104 |
hour => '23', |
105 |
minute => '42', |
106 |
command => "/usr/local/bin/backup_blog-files.sh", |
107 |
require => [File["backup_blog-files"]], |
108 |
} |
109 |
} |
110 |
} |