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
|
define mediawiki::instance( $title,
$wiki_settings = '',
$skinsdir = '/usr/share/mediawiki/skins') {
include mediawiki::base
$path = $name
$lang = $name
$wiki_root = "${mediawiki::base::root}/${path}"
$db_name = "mediawiki_${name}"
$db_user = $mediawiki::base::user
$db_password = $mediawiki::config::pgsql_password
$secret_key = $mediawiki::config::secretkey
$ldap_password = $mediawiki::config::ldap_password
$includedir = "/usr/share/mediawiki/includes"
$maintenancedir = "/usr/share/mediawiki/maintenance"
$vendordir = "/usr/share/mediawiki/vendor"
file { $wiki_root:
ensure => directory
}
file { "${wiki_root}/skins":
ensure => link,
target => $skinsdir,
require => File[$wiki_root],
}
file { "${wiki_root}/includes":
ensure => link,
target => $includedir,
require => File[$wiki_root],
}
file { "${wiki_root}/maintenance":
ensure => link,
target => $maintenancedir,
require => File[$wiki_root],
}
file { "${wiki_root}/vendor":
ensure => link,
target => $vendordir,
require => File[$wiki_root],
}
exec { "wikicreate ${name}":
command => "mediawiki-create ${wiki_root}",
cwd => $mediawiki::base::root,
require => [File[$wiki_root],Package['mediawiki']],
creates => "${wiki_root}/index.php",
}
postgresql::remote_database { $db_name:
user => $db_user,
callback_notify => Exec["deploy_db ${name}"],
}
# exec { "deploy_db ${name}":
# command => "php /usr/local/bin/init_wiki.php ${wiki_root}",
# refreshonly => true,
# onlyif => "/usr/bin/test -d ${wiki_root}/config",
# }
file { "${wiki_root}/LocalSettings.php":
owner => 'apache',
mode => '0600',
content => template('mediawiki/LocalSettings.php'),
# if LocalSettings is created first, the wikicreate script
# do not create a confg directory, and so it doesn't
# trigger deploy_db exec
require => Exec["wikicreate ${name}"],
}
}
|