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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
class drupal(
$folder = '/var/www/data/drupal',
$sites_folder = '/var/sites',
$www_folder = '/var/www/data'
) {
include pear
# We use drupal source from upstream
package { "drupal6":
ensure => absent,
}
# Needed packages
package { [ "drush", "php5-gd", "php5-imagick" ]:
ensure => installed,
}
# Drush config folder
file { '/etc/drush':
ensure => directory,
owner => root,
group => root,
mode => 0644,
}
# Drush default configuration
file { '/etc/drush/drushrc.php':
ensure => present,
owner => root,
group => root,
mode => 0644,
source => 'puppet:///modules/drupal/drushrc.php',
require => File['/etc/drush'],
}
# Drupal management script
file { "/usr/local/sbin/drupal":
ensure => present,
content => template('drupal/drupal.sh.erb'),
owner => root,
group => root,
mode => 755,
}
# Run drupal cron
cron { "drupal-cron":
command => "/usr/local/sbin/drupal cron &> /dev/null",
user => root,
hour => "*/1",
minute => "15",
ensure => present,
require => File['/usr/local/sbin/drupal'],
}
# Keep themes and modules up-to-date
cron { "drupal-update":
command => "/usr/local/sbin/drupal cron-update",
user => root,
hour => "02",
minute => "30",
ensure => present,
}
# Drupal shared folder
file { "/usr/local/share/drupal":
ensure => directory,
owner => root,
group => root,
mode => 755,
}
# Drupal 6 makefile
file { "/usr/local/share/drupal/drupal6.make":
ensure => present,
owner => root,
group => root,
mode => 644,
source => "puppet:///modules/drupal/drupal6.make",
require => File['/usr/local/share/drupal'],
}
# Drupal 7 makefile
file { "/usr/local/share/drupal/drupal7.make":
ensure => present,
owner => root,
group => root,
mode => 644,
source => "puppet:///modules/drupal/drupal7.make",
require => File['/usr/local/share/drupal'],
}
# Drupal 6 theme makefile
file { "/usr/local/share/drupal/themes6.make":
ensure => present,
owner => root,
group => root,
mode => 644,
source => "puppet:///modules/drupal/themes6.make",
require => File['/usr/local/share/drupal'],
}
# Drupal 7 theme makefile
file { "/usr/local/share/drupal/themes7.make":
ensure => present,
owner => root,
group => root,
mode => 644,
source => "puppet:///modules/drupal/themes7.make",
require => File['/usr/local/share/drupal'],
}
}
|