aboutsummaryrefslogtreecommitdiffstats
path: root/modules/mediawiki
diff options
context:
space:
mode:
authorMichael Scherer <misc@mageia.org>2011-06-15 17:17:26 +0000
committerMichael Scherer <misc@mageia.org>2011-06-15 17:17:26 +0000
commit5879742dd95ca15fe7d4e54adea3afa5dc7c3cdf (patch)
tree50eb2c482e6f2f5a11a8a2373745e88b039353f6 /modules/mediawiki
parent146a868c3fa1f13c978ab570529a090df13315bd (diff)
downloadpuppet-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.pp61
-rw-r--r--modules/mediawiki/templates/LocalSettings.php124
-rw-r--r--modules/mediawiki/templates/wiki_vhost.conf4
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>