diff options
author | Michael Scherer <misc@mageia.org> | 2012-03-17 21:18:57 +0000 |
---|---|---|
committer | Michael Scherer <misc@mageia.org> | 2012-03-17 21:18:57 +0000 |
commit | 42b8068174b888e1366e82844d8596dfcfbebb72 (patch) | |
tree | ada3dbc2190c091cace12f32800711f11135fe16 /modules/mediawiki/manifests/instance.pp | |
parent | c398fb1b893702b5caaa65e342d061e481e26f41 (diff) | |
download | puppet-42b8068174b888e1366e82844d8596dfcfbebb72.tar puppet-42b8068174b888e1366e82844d8596dfcfbebb72.tar.gz puppet-42b8068174b888e1366e82844d8596dfcfbebb72.tar.bz2 puppet-42b8068174b888e1366e82844d8596dfcfbebb72.tar.xz puppet-42b8068174b888e1366e82844d8596dfcfbebb72.zip |
split and clean the mediawiki class
Diffstat (limited to 'modules/mediawiki/manifests/instance.pp')
-rw-r--r-- | modules/mediawiki/manifests/instance.pp | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/modules/mediawiki/manifests/instance.pp b/modules/mediawiki/manifests/instance.pp new file mode 100644 index 00000000..4800114a --- /dev/null +++ b/modules/mediawiki/manifests/instance.pp @@ -0,0 +1,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 => "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"], + } +} + |