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
|
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
file { $wiki_root:
ensure => directory
}
file { "$wiki_root/skins":
ensure => link,
target => $skinsdir,
require => File[$wiki_root],
}
exec { "wikicreate $name":
command => "mediawiki-create $wiki_root",
cwd => $mediawiki::base::root,
require => [File[$wiki_root],Package['mediawiki-minimal']],
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"],
}
}
|