diff --git a/manifests/init.pp b/manifests/init.pp index 162eb15..7b6cb3d 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,74 +1,75 @@ # == Class: mediawiki # # Full description of class mediawiki here. # # === Parameters # # Document parameters here. # # [*sample_parameter*] # Explanation of what this parameter affects and what it defaults to. # e.g. "Specify one or more upstream ntp servers as an array." # # === Variables # # Here you should define a list of variables that this module would require. # # [*sample_variable*] # Explanation of how this variable affects the funtion of this class and if # it has a default. e.g. "The parameter enc_ntp_servers must be set by the # External Node Classifier as a comma separated list of hostnames." (Note, # global variables should be avoided in favor of class parameters as # of Puppet 2.6.) # # === Examples # # class { 'mediawiki': # servers => [ 'pool.ntp.org', 'ntp.local.company.com' ], # } # # === Authors # # Author Name # # === Copyright # # Copyright 2016 Your name here, unless otherwise noted. # class mediawiki { $packages = [ 'mediawiki', 'imagemagick', + 'librsvg2-bin', ] package {$packages: ensure => installed, } apt::pin {'mediawiki': ensure => 'absent', } apt::pin {'mediawiki-extensions': ensure => 'absent', } $config_meta = '/etc/mediawiki/LocalSettings.php' concat {$config_meta: ensure => present, owner => 'root', group => 'www-data', mode => '0640', require => Package['mediawiki'], } concat::fragment {'mediawiki_config_meta_header': target => $config_meta, source => 'puppet:///modules/mediawiki/config_meta_header', order => '00', } concat::fragment {'mediawiki_config_meta_footer': target => $config_meta, source => 'puppet:///modules/mediawiki/config_meta_footer', order => '99', } } diff --git a/templates/LocalSettings_vhost.php.erb b/templates/LocalSettings_vhost.php.erb index ce4db4e..b4f2f50 100644 --- a/templates/LocalSettings_vhost.php.erb +++ b/templates/LocalSettings_vhost.php.erb @@ -1,183 +1,187 @@ "; ## 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 = ""; $wgScriptExtension = ".php"; $wgArticlePath = "/wiki/$1"; ## The protocol and server name to use in fully-qualified URLs $wgServer = "https://<%= @vhost_name %>"; ## 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 = "<%= @swh_logo %>"; $wgFavicon = "<%= @swh_logo %>"; ## UPO means: this is also a user preference option $wgEnableEmail = true; $wgEnableUserEmail = true; # UPO $wgEmergencyContact = "info@softwareheritage.org"; $wgPasswordSender = "info@softwareheritage.org"; $wgEnotifUserTalk = true; # UPO $wgEnotifWatchlist = true; # UPO $wgEmailAuthentication = true; $wgEmailConfirmToEdit = true; # require email confirmation before editing ## Database settings $wgDBtype = "mysql"; $wgDBserver = "<%= @db_host %>"; $wgDBname = "<%= @db_basename %>"; $wgDBuser = "<%= @db_user %>"; $wgDBpassword = "<%= @db_password %>"; # MySQL specific settings $wgDBprefix = ""; # MySQL table options to use during installation or update $wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary"; # Experimental charset support for MySQL 5.0. $wgDBmysql5 = false; ## 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 = true; $wgUseImageMagick = true; $wgImageMagickConvertCommand = "/usr/bin/convert"; # InstantCommons allows wiki to use images from http://commons.wikimedia.org $wgUseInstantCommons = false; ## 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.utf8"; ## 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; ## 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"; # Site language code, should be one of the list in ./languages/Names.php $wgLanguageCode = "en"; $wgSecretKey = "<%= @secret_key %>"; # Site upgrade key. Must be set to a string (default provided) to turn on the # web installer while LocalSettings.php is in place $wgUpgradeKey = "<%= @upgrade_key %>"; ## Default skin: you can change the default skin. Use the internal symbolic ## names, ie 'standard', 'nostalgia', 'cologneblue', 'monobook', 'vector': $wgDefaultSkin = "vector"; ## 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. $wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright $wgRightsUrl = "https://creativecommons.org/licenses/by-sa/4.0/"; $wgRightsText = "Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License"; $wgRightsIcon = "https://licensebuttons.net/l/by-sa/4.0/88x31.png"; # Path to the GNU diff3 utility. Used for conflict resolution. $wgDiff3 = "/usr/bin/diff3"; # Query string length limit for ResourceLoader. You should only set this if # your web server has a query string length limit (then set it to that limit), # or if you have suhosin.get.max_value_length set in php.ini (then set it to # that value) $wgResourceLoaderMaxQueryLength = -1; # Skins wfLoadSkin( 'CologneBlue' ); wfLoadSkin( 'Modern' ); wfLoadSkin( 'MonoBook' ); wfLoadSkin( 'Vector' ); # Anti-SPAM Q&A wfLoadExtensions([ 'ConfirmEdit', 'ConfirmEdit/QuestyCaptcha' ]); $wgCaptchaQuestions = [ "The name of this project is Software [BLANK] (fill the blank)" => "heritage", "The name of this project is [BLANK] Heritage (fill the blank)" => "software", "What do we collect, preserve, and share?" => ["software", "source code", "software source code"], "Our headquarters are located in the capital of France, which is ...?" => "paris", "Name a popular GNU/Linux distribution" => ["arch", "centos", "debian", "fedora", "gentoo", "mageia", "mandriva", "mint", "opensuse", "red hat", "redhat", "slackware", "suse", "ubuntu"], "Name a popular programming language" => ["ada", "assembly", "c", "c#", "c++", "erlang", "f#", "fortran", "go", "haskell", "java", "javascript", "lisp", "logo", "lua", "ml", "objective c", "objective-c", "ocaml", "pascal", "perl", "php", "prolog", "python", "ruby", "rust", "scala", "scheme", "shell", "swift", "visual basic"], ]; # End of automatically generated settings. # Add more configuration options below. $wgGroupPermissions['*']['edit'] = false; $wgFileExtensions[] = 'pdf'; +# Add SVG support +$wgFileExtensions[] = 'svg'; +$wgSVGConverter = 'rsvg'; + $wgNamespacesToBeSearchedDefault = array( NS_MAIN => true, NS_TALK => true, NS_USER => true, NS_USER_TALK => true, NS_PROJECT => true, NS_PROJECT_TALK => true, NS_FILE => true, NS_FILE_TALK => true, NS_MEDIAWIKI => true, NS_MEDIAWIKI_TALK => true, NS_TEMPLATE => true, NS_TEMPLATE_TALK => true, NS_HELP => true, NS_HELP_TALK => true, NS_CATEGORY => true, NS_CATEGORY_TALK => true ); wfLoadExtension( 'Cite' );