diff options
author | Michael Scherer <misc@mageia.org> | 2011-06-15 17:17:26 +0000 |
---|---|---|
committer | Michael Scherer <misc@mageia.org> | 2011-06-15 17:17:26 +0000 |
commit | 5879742dd95ca15fe7d4e54adea3afa5dc7c3cdf (patch) | |
tree | 50eb2c482e6f2f5a11a8a2373745e88b039353f6 /modules/mediawiki | |
parent | 146a868c3fa1f13c978ab570529a090df13315bd (diff) | |
download | puppet-5879742dd95ca15fe7d4e54adea3afa5dc7c3cdf.tar puppet-5879742dd95ca15fe7d4e54adea3afa5dc7c3cdf.tar.gz puppet-5879742dd95ca15fe7d4e54adea3afa5dc7c3cdf.tar.bz2 puppet-5879742dd95ca15fe7d4e54adea3afa5dc7c3cdf.tar.xz puppet-5879742dd95ca15fe7d4e54adea3afa5dc7c3cdf.zip |
finish the mediawiki module ( at least, to a state were I get a wiki
running on my vm )
Diffstat (limited to 'modules/mediawiki')
-rw-r--r-- | modules/mediawiki/manifests/init.pp | 61 | ||||
-rw-r--r-- | modules/mediawiki/templates/LocalSettings.php | 124 | ||||
-rw-r--r-- | modules/mediawiki/templates/wiki_vhost.conf | 4 |
3 files changed, 184 insertions, 5 deletions
diff --git a/modules/mediawiki/manifests/init.pp b/modules/mediawiki/manifests/init.pp index b4f60061..1058e499 100644 --- a/modules/mediawiki/manifests/init.pp +++ b/modules/mediawiki/manifests/init.pp @@ -1,9 +1,20 @@ class mediawiki { class base { + + $root = "/srv/wiki/" + + include apache::mod_php + package { "mediawiki-minimal": ensure => installed, } - + + file { $root: + ensure => directory, + } + + $user = "mediawiki" + $pgsql_password = extlookup("mediawiki_pgsql",'x') @@postgresql::user { $user: password => $pgsql_password, @@ -13,15 +24,55 @@ class mediawiki { $ldap_password = extlookup('mediawiki_ldap','x') # TODO write the web configuration + apache::vhost_base { "wiki.$domain": + location => $root, + content => template("mediawiki/wiki_vhost.conf"), + } + + apache::vhost_base { "ssl_wiki.$domain": + location => $root, + use_ssl => true, + vhost => "wiki.$domain", + content => template("mediawiki/wiki_vhost.conf"), + } + + # add index.php } # do wiki basic installation - define instance { - # define a db per instance - # install / link source code - # add config file + define instance($title) { + + 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::base::pgsql_password" + $secret_key = extlookup("mediawiki_secretkey",'x') + + file { "$wiki_root": + ensure => directory + } + + 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::database { "$db_name": + user => $db_user, + } + + file { "$wiki_root/LocalSettings.php": + ensure => present, + content => template("mediawiki/LocalSettings.php") + } } } diff --git a/modules/mediawiki/templates/LocalSettings.php b/modules/mediawiki/templates/LocalSettings.php new file mode 100644 index 00000000..024fc09b --- /dev/null +++ b/modules/mediawiki/templates/LocalSettings.php @@ -0,0 +1,124 @@ +<?php + +# This file was created by puppet, so any change will be overwritten + +# See includes/DefaultSettings.php for all configurable settings +# and their default values, but don't forget to make changes in _this_ +# file, not there. +# +# Further documentation for configuration settings may be found at: +# http://www.mediawiki.org/wiki/Manual:Configuration_settings + +$IP = '/usr/share/mediawiki'; +if (! isset($DIR)) $DIR = getcwd(); + +$path = array( $IP, "$IP/includes", "$IP/languages" ); +set_include_path( implode( PATH_SEPARATOR, $path ) . PATH_SEPARATOR . get_include_path() ); + +require_once( "$IP/includes/DefaultSettings.php" ); + +if ( $wgCommandLineMode ) { + if ( isset( $_SERVER ) && array_key_exists( 'REQUEST_METHOD', $_SERVER ) ) { + die( "This script must be run from the command line\n" ); + } +} +## Uncomment this to disable output compression +# $wgDisableOutputCompression = true; + +$wgSitename = "<%= title %>"; + +## The URL base path to the directory containing the wiki; +## defaults for all runtime URL paths are based off of this. +## For more information on customizing the URLs please see: +## http://www.mediawiki.org/wiki/Manual:Short_URL +$wgScriptPath = "/<%= path %>"; +$wgScriptExtension = ".php"; + +## The relative URL path to the skins directory +$wgStylePath = "$wgScriptPath/skins"; + +## The relative URL path to the logo. Make sure you change this from the default, +## or else you'll overwrite your logo when you upgrade! +$wgLogo = "$wgStylePath/common/images/wiki.png"; + +## UPO means: this is also a user preference option + +$wgEnableEmail = true; +$wgEnableUserEmail = true; # UPO + +$wgEmergencyContact = "root@<%= domain %>"; +$wgPasswordSender = "root@<%= domain %>"; + +$wgEnotifUserTalk = true; # UPO +$wgEnotifWatchlist = true; # UPO +$wgEmailAuthentication = true; + +## Database settings +$wgDBtype = "postgres"; +$wgDBserver = "pgsql.<%= domain %>"; +$wgDBname = "<%= db_name %>"; +$wgDBuser = "<%= db_user %>"; +$wgDBpassword = "<%= db_password %>"; + +# Postgres specific settings +$wgDBport = "5432"; +$wgDBmwschema = "mediawiki"; +$wgDBts2schema = "public"; + +## Shared memory settings +$wgMainCacheType = CACHE_NONE; +$wgMemCachedServers = array(); + +## To enable image uploads, make sure the 'images' directory +## is writable, then set this to true: +$wgEnableUploads = false; +$wgUseImageMagick = true; +$wgImageMagickConvertCommand = "/usr/bin/convert"; + +## If you use ImageMagick (or any other shell command) on a +## Linux server, this will need to be set to the name of an +## available UTF-8 locale +$wgShellLocale = "en_US.UTF-8"; + +## If you want to use image uploads under safe mode, +## create the directories images/archive, images/thumb and +## images/temp, and make them all writable. Then uncomment +## this, if it's not already uncommented: +# $wgHashedUploadDirectory = false; + +## If you have the appropriate support software installed +## you can enable inline LaTeX equations: +$wgUseTeX = false; + +## Set $wgCacheDirectory to a writable directory on the web server +## to make your wiki go slightly faster. The directory should not +## be publically accessible from the web. +#$wgCacheDirectory = "$IP/cache"; + +$wgLocalInterwiki = strtolower( $wgSitename ); + +$wgLanguageCode = "<%= lang %>"; + +$wgSecretKey = "<%= secret_key %>"; + +## Default skin: you can change the default skin. Use the internal symbolic +## names, ie 'vector', 'monobook': +$wgDefaultSkin = 'monobook'; + +## For attaching licensing metadata to pages, and displaying an +## appropriate copyright notice / icon. GNU Free Documentation +## License and Creative Commons licenses are supported so far. +$wgEnableCreativeCommonsRdf = true; +$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright +$wgRightsUrl = "http://www.gnu.org/copyleft/fdl.html"; +$wgRightsText = "GNU Free Documentation License 1.3"; +$wgRightsIcon = "${wgScriptPath}/skins/common/images/gnu-fdl.png"; +# $wgRightsCode = "gfdl1_3"; # Not yet used + +$wgDiff3 = "/usr/bin/diff3"; + +# When you make changes to this configuration file, this will make +# sure that cached pages are cleared. +$wgCacheEpoch = max( $wgCacheEpoch, gmdate( 'YmdHis', @filemtime( __FILE__ ) ) ); + + diff --git a/modules/mediawiki/templates/wiki_vhost.conf b/modules/mediawiki/templates/wiki_vhost.conf new file mode 100644 index 00000000..ac4de7ee --- /dev/null +++ b/modules/mediawiki/templates/wiki_vhost.conf @@ -0,0 +1,4 @@ +# heavily used by the wiki farm stuff +<Directory <%= root %>> +Options +FollowSymLinks +</Directory> |