aboutsummaryrefslogtreecommitdiffstats
path: root/modules/blog/manifests/init.pp
blob: e0f817ddd452f4b28fbf40cc7966aa6972bd6d9e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
class blog {
    class base {
        $blog_domain = "blog.$::domain"
        $blog_location = "/var/www/vhosts/$blog_domain"
        $blog_db_backupdir = "/var/lib/backups/blog_db"
        $blog_files_backupdir = "/var/lib/backups/blog_files"
        $blog_newpost_email_to = 'i18n-reports@ml.mageia.org'
        $blog_newpost_email_from = 'Mageia Blog bot <blog@mageia.org>'

        user { 'blog':
            groups  => apache,
            comment => 'Mageia Blog bot',
            home    => '/var/lib/blog',
        }
    }
    
    class files_bots inherits base {
        package { ['php-mysql',
                   'php-ldap',
                   'unzip']: }

        mga_common::local_script { 'check_new-blog-post.sh':
            content => template('blog/check_new-blog-post.sh'),
        }

        cron { 'Blog bot':
            user    => 'blog',
            minute  => '*/15',
            command => '/usr/local/bin/check_new-blog-post.sh',
            require => Mga_common::Local_script['check_new-blog-post.sh'],
        }

        include apache::mod::php

        apache::vhost::base { "$blog_domain":
            location => $blog_location,
            content => template('blog/blogs_vhosts.conf'),
        }

        apache::vhost::base { "ssl_$blog_domain":
            use_ssl => true,
            vhost => $blog_domain,
            location => $blog_location,
            content => template('blog/blogs_vhosts.conf'),
        }

        file { $blog_location:
	        ensure => directory,
	        owner => apache,
	        group => apache,
        }
    }

    class db_backup inherits base {
        file { $blog_db_backupdir:
                ensure => directory,
        }

	    mga_common::local_script { 'backup_blog-db.sh':
            content => template('blog/backup_blog-db.sh'),
        }

        cron { "Backup DB (blog)":
            user    => root,
            hour    => '23',
            minute  => '42',
            command => '/usr/local/bin/backup_blog-db.sh',
            require => Mga_common::Local_script['backup_blog-db.sh'],
        }
    }

    class files_backup inherits base {
        file { $blog_files_backupdir:
                ensure => directory,
        }

        mga_common::local_script { 'backup_blog-files.sh':
            content => template('blog/backup_blog-files.sh'),
        }

        cron { 'Backup files (blog)':
            user    => root,
            hour    => '23',
            minute  => '42',
            command => '/usr/local/bin/backup_blog-files.sh',
            require => Mga_common::Local_script['backup_blog-files.sh'],
        }
    }
}