1 |
class blog { |
2 |
class base { |
3 |
$blog_domain = "blog.$::domain" |
4 |
$blog_location = "/var/www/vhosts/$blog_domain" |
5 |
$blog_db_backupdir = "/var/lib/backups/blog_db" |
6 |
$blog_files_backupdir = "/var/lib/backups/blog_files" |
7 |
$blog_newpost_email_to = 'i18n-reports@ml.mageia.org' |
8 |
$blog_newpost_email_from = 'Mageia Blog bot <blog@mageia.org>' |
9 |
|
10 |
user { 'blog': |
11 |
groups => apache, |
12 |
comment => 'Mageia Blog bot', |
13 |
home => '/var/lib/blog', |
14 |
} |
15 |
} |
16 |
|
17 |
class files_bots inherits base { |
18 |
package { ['php-mysql', |
19 |
'php-ldap', |
20 |
'unzip']: } |
21 |
|
22 |
mga_common::local_script { 'check_new-blog-post.sh': |
23 |
content => template('blog/check_new-blog-post.sh'), |
24 |
} |
25 |
|
26 |
cron { 'Blog bot': |
27 |
user => 'blog', |
28 |
minute => '*/15', |
29 |
command => '/usr/local/bin/check_new-blog-post.sh', |
30 |
require => Mga-common::Local_script['check_new-blog-post.sh'], |
31 |
} |
32 |
|
33 |
include apache::mod::php |
34 |
|
35 |
apache::vhost::base { "$blog_domain": |
36 |
location => $blog_location, |
37 |
content => template('blog/blogs_vhosts.conf'), |
38 |
} |
39 |
|
40 |
apache::vhost::base { "ssl_$blog_domain": |
41 |
use_ssl => true, |
42 |
vhost => $blog_domain, |
43 |
location => $blog_location, |
44 |
content => template('blog/blogs_vhosts.conf'), |
45 |
} |
46 |
|
47 |
file { $blog_location: |
48 |
ensure => directory, |
49 |
owner => apache, |
50 |
group => apache, |
51 |
} |
52 |
} |
53 |
|
54 |
class db_backup inherits base { |
55 |
file { $blog_db_backupdir: |
56 |
ensure => directory, |
57 |
} |
58 |
|
59 |
mga_common::local_script { 'backup_blog-db.sh': |
60 |
content => template('blog/backup_blog-db.sh'), |
61 |
} |
62 |
|
63 |
cron { "Backup DB (blog)": |
64 |
user => root, |
65 |
hour => '23', |
66 |
minute => '42', |
67 |
command => '/usr/local/bin/backup_blog-db.sh', |
68 |
require => Mga-common::Local_script['backup_blog-db.sh'], |
69 |
} |
70 |
} |
71 |
|
72 |
class files_backup inherits base { |
73 |
file { $blog_files_backupdir: |
74 |
ensure => directory, |
75 |
} |
76 |
|
77 |
mga_common::local_script { 'backup_blog-files.sh': |
78 |
content => template('blog/backup_blog-files.sh'), |
79 |
} |
80 |
|
81 |
cron { 'Backup files (blog)': |
82 |
user => root, |
83 |
hour => '23', |
84 |
minute => '42', |
85 |
command => '/usr/local/bin/backup_blog-files.sh', |
86 |
require => Mga-common::Local_script['backup_blog-files.sh'], |
87 |
} |
88 |
} |
89 |
} |