$wgSitename = "<%= @wg_sitename %>"; <% end %> ## 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 ## (like /w/index.php/Page_title to /wiki/Page_title) please see: ## http://www.mediawiki.org/wiki/Manual:Short_URL $wgScriptPath = "/w"; $wgScriptExtension = ".php"; $wgArticlePath = '/wiki/$1'; ## The protocol and server name to use in fully-qualified URLs $wgServer = "https://<%= @site_hostname %>"; ## The relative URL path to the skins directory $wgStylePath = "$wgScriptPath/skins"; <% if @wg_logo != nil %> ## 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 = "<%= @wg_logo %>"; <% end %> ## UPO means: this is also a user preference option $wgEnableEmail = true; $wgEnableUserEmail = true; # UPO $wgRequirePasswordforEmailChange = false; $wgEmergencyContact = "<%= @serveradmin %>"; $wgPasswordSender = "<%= @serveradmin %>"; $wgEnotifUserTalk = true; # UPO $wgEnotifWatchlist = true; # UPO $wgEmailAuthentication = true; ## Database settings $wgDBtype = "mysql"; $wgDBserver = "<%= @wg_dbserver %>"; $wgDBname = "<%= @wg_dbname %>"; $wgDBuser = "<%= @wg_dbuser %>"; $wgDBpassword = "<%= @wg_dbpassword %>"; # 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; # TODO: add a cron to run jobs and set this #$wgJobRunRate = 0; # Disable showing IP in the header (which break frontend caching) $wgShowIPinHeader = false; $wgDisableCounters = true; $wgCacheDirectory = "$IP/cache"; # New-style Object cache (and session) settings $wgObjectCaches['memcached-pecl'] = array( 'class' => 'MemcachedPeclBagOStuff', #'serializer' => 'igbinary', 'servers' => array( '127.0.0.1:11000', ) ); $wgMainCacheType = 'memcached-pecl'; $wgParserCacheType = 'memcached-pecl'; $wgMessageCacheType = 'memcached-pecl'; $wgMemCachedPersistent = false; $wgUseMemCached = true; $wgMemCachedTimeout = 250000; $wgMemCachedInstanceSize = 2000; $wgSessionCacheType = 'memcached-pecl'; $wgSessionsInObjectCache = true; ## Old-style Shared memory settings #$wgMainCacheType = CACHE_MEMCACHED; #$wgParserCacheType = CACHE_MEMCACHED; #$wgMessageCacheType = CACHE_MEMCACHED; #$wgSessionsInMemcached = true; #$wgMemCachedServers = array( '127.0.0.1:11000' ); #TODO: generate the interwiki cdb and place it in the cache directory; ugh, # seems this is Wikimedia specific for now (bug 33395) #$wgInterwikiCache = "$wgCacheDirectory/interwiki.cdb"; $wgCookieSecure = true; $wgAllowUserCss = true; $wgAllowUserJs = true; ## To enable image uploads, make sure the 'images' directory ## is writable, then set this to true: $wgEnableUploads = false; $wgUseImageMagick = true; $wgImageMagickConvertCommand = "/usr/bin/convert"; $wgUploadDirectory = "/srv/mediawiki/images"; $wgFileExtensions[] = 'svg'; # 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"; # Site language code, should be one of the list in ./languages/Names.php $wgLanguageCode = "en"; $wgSecretKey = "<%= @wg_secretkey %>"; # Site upgrade key. Must be set to a string (default provided) to turn on the # web installer while LocalSettings.php is in place $wgUpgradeKey = "<%= @wg_upgradekey %>"; ## 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 = ""; $wgRightsText = ""; $wgRightsIcon = ""; # 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; # Only allow logged-in users to edit $wgGroupPermissions['*']['edit'] = false; ## Content suppression (for *really* nasty spam or DMCA notices) # Allow sysops to hide revisions/log items from users $wgGroupPermissions['sysop']['deleterevision'] = true; $wgGroupPermissions['sysop']['createaccount'] = true; # Allow members of the suppress group to hide usernames from users and Sysops $wgGroupPermissions['suppress']['hideuser'] = true; # Allow members of the suppress group to hide revisions/log items from users and Sysops $wgGroupPermissions['suppress']['deleterevision'] = true; $wgGroupPermissions['suppress']['suppressrevision'] = true; # Allow members of the suppress group to see the supression log $wgGroupPermissions['suppress']['suppressionlog'] = true; # Allow known-good users to be listed in an 'autopatrol' group so their # edits are automatically marked as 'patrolled' $wgGroupPermissions['autopatrol']['autopatrol'] = true; # Autopatrol users are legit, so don't need a CAPTCHA $wgGroupPermissions['autopatrol']['skipcaptcha'] = true; # Only let known-good users upload files $wgGroupPermissions['user']['upload'] = false; $wgGroupPermissions['autopatrol']['upload'] = true; # Only let known-good users move pages and files $wgGroupPermissions['user']['move'] = false; $wgGroupPermissions['autopatrol']['move'] = true; # Only let known-good users the write API $wgGroupPermissions['user']['writeapi'] = false; $wgGroupPermissions['autopatrol']['writeapi'] = true; # rate limit page creation by non-verified users to 5 per day $wgRateLimits['createpage']['user'] = array(5, 86400); # Useful for debugging purposes, and doesn't expose very sensitive info $wgShowExceptionDetails = true; $wgEnableCreativeCommonsRdf = true; $wgRightsPage = ""; $wgRightsUrl = "http://creativecommons.org/licenses/by/3.0/"; $wgRightsText = "Attribution 3.0 Unported (CC BY 3.0)"; $wgRightsIcon = "{$wgStylePath}/common/images/cc-by.png"; $wgNamespacesWithSubpages[NS_MAIN] = 1; ## Skins $wgSkipSkins = array("chick", "cologneblue", "nostalgia", "simple", "standard", "monobook", "modern", "myskin", "vector"); require_once( "$IP/skins/strapping/strapping.php" ); $wgDefaultSkin = "strapping"; $wgStrappingSkinLogoLocation = 'navbar'; $wgStrappingSkinLoginLocation = 'navbar'; $wgStrappingSkinAnonNavbar = true; $wgStrappingSkinUseStandardLayout = false; $wgStrappingSkinDisplaySidebarNavigation = false; $wgExtraNamespaces[110] = 'Obsolete'; $wgExtraNamespaces[111] = 'Obsolete_talk'; $wgNamespacesWithSubpages[110] = true; ## Extensions # https://www.mediawiki.org/wiki/Extension:QuestyCaptcha require_once( "$IP/extensions/ConfirmEdit/ConfirmEdit.php" ); #Enable ReCaptchaNoCaptcha wfLoadExtensions( array( 'ConfirmEdit', 'ConfirmEdit/ReCaptchaNoCaptcha' ) ); $wgCaptchaClass = 'ReCaptchaNoCaptcha'; $wgReCaptchaSiteKey = "<%= @wg_recaptchasitekey %>"; $wgReCaptchaSecretKey = "<%= @wg_recaptchasecretkey %>"; $wgMainCacheType = CACHE_ANYTHING; $wgCaptchaTriggers['edit'] = true; $wgCaptchaTriggers['create'] = true; $wgCaptchaTriggers['createtalk'] = true; $wgCaptchaTriggers['addurl'] = true; $wgCaptchaTriggers['createaccount'] = true; $wgCaptchaTriggers['badlogin'] = true; #OpenID require_once( "$IP/extensions/OpenID/OpenID.php" ); # Don't disallow non-openid logins $wgOpenIDOnly = false; # Automatically mark email addreses provided by openid as verified $wgOpenIDTrustEmailAddress = true; # When first-time logging-in with OpenID, use the part before the @ in any given # e-mail address as the username if a nickname is not given by the OpenID $wgOpenIDUseEmailAsNickname = true; # Our servername $wgTrustRoot = "https://<%= @site_hostname %>/"; # Only allow login through a specific OpenID provider $wgOpenIDForcedProvider = "<%= @wg_openidforcedprovider %>"; $wgOpenIDAllowExistingAccountSelection = false; $wgOpenIDAllowAutomaticUsername = false; require_once( "$IP/extensions/Renameuser/Renameuser.php" ); require_once( "$IP/extensions/WikiEditor/WikiEditor.php" ); $wgDefaultUserOptions['usebetatoolbar'] = 1; $wgDefaultUserOptions['usebetatoolbar-cgd'] = 1; # Add syntax highlighting and such to the editor when editing code require "$IP/extensions/CodeEditor/CodeEditor.php"; require( "$IP/extensions/Scribunto/Scribunto.php" ); $wgScribuntoDefaultEngine = 'luastandalone'; $wgScribuntoUseGeSHi = true; $wgScribuntoUseCodeEditor = true; $wgScribuntoEngineConf['luastandalone']['luaPath'] = '/usr/bin/lua'; # Globally enableable Javascript gadgets require_once( "$IP/extensions/Gadgets/Gadgets.php" ); require_once("$IP/extensions/CategoryTree/CategoryTree.php"); require_once( "$IP/extensions/ParserFunctions/ParserFunctions.php"); # Syntax highlighting of in-content code via require_once( "$IP/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php" ); # Proper citations require_once( "$IP/extensions/Cite/Cite.php" ); # Extension which provides localised language names based on CLDR data require_once( "$IP/extensions/cldr/cldr.php" ); # Extension to easily allow users to display languages they speak on their user pages require_once( "$IP/extensions/Babel/Babel.php" ); # Interface for translating page contents require_once( "$IP/extensions/Translate/Translate.php" ); $wgGroupPermissions['user']['translate'] = true; $wgTranslateDocumentationLanguageCode = 'info'; $wgGroupPermissions['sysop']['pagetranslation'] = true; $wgEnablePageTranslation = true; # Interface for creating pdfs and books require_once("$IP/extensions/Collection/Collection.php"); $wgGroupPermissions['user']['collectionsaveascommunitypage'] = true; $wgGroupPermissions['user']['collectionsaveasuserpage'] = true; # Extension to allow admins to mass delete pages (useful for spam) require_once("$IP/extensions/Nuke/Nuke.php"); # Prevent creation of usernames that are meant to spoof other users (useful for spam) require_once( "$IP/extensions/AntiSpoof/AntiSpoof.php" ); include_once("$IP/extensions/Mantle/Mantle.php"); #TODO: add MobileFrontend - requires device detection, which means we need varnish # Mobile view of the site require_once("$IP/extensions/MobileFrontend/MobileFrontend.php"); $wgMFAutodetectMobileView = true; require_once( "$IP/extensions/SubPageList3/SubPageList3.php" ); require_once( "$IP/extensions/EmbedVideo/EmbedVideo.php" ); require_once( "$IP/extensions/ReplaceText/ReplaceText.php" ); $wgGroupPermissions['sysop']['replacetext'] = true; require_once( "$IP/extensions/googleAnalytics/googleAnalytics.php" ); $wgGoogleAnalyticsAccount = "<%= @wg_googleanalyticsaccount %>"; require_once( "$IP/extensions/Echo/Echo.php" ); # Disabled for now, due to weird interface positioning require_once( "$IP/extensions/UniversalLanguageSelector/UniversalLanguageSelector.php" ); $wgULSPosition = 'personal'; $wgULSGeoService = true; require_once( "$IP/extensions/Elastica/Elastica.php" ); require_once( "$IP/extensions/CirrusSearch/CirrusSearch.php" ); $wgCirrusSearchServers = array( '127.0.0.1' ); $wgCirrusSearchShardCount = array( 'content' => 5, 'general' => 5 ); $wgSearchType = 'CirrusSearch'; # Extension:SpamBlacklist require_once "$IP/extensions/SpamBlacklist/SpamBlacklist.php"; $wgSpamBlacklistFiles = array( "https://meta.wikimedia.org/w/index.php?title=Spam_blacklist&action=raw&sb_ver=1", "https://en.wikipedia.org/w/index.php?title=MediaWiki:Spam-blacklist&action=raw&sb_ver=1" ); # Disable password based login function disableSomeSpecialPages(&$list) { unset($list['Userlogin']); return true; } $wgHooks['SpecialPage_initList'][]='disableSomeSpecialPages'; # Extension:SmiteSpam # https://www.mediawiki.org/wiki/Extension:SmiteSpam require_once "$IP/extensions/SmiteSpam/SmiteSpam.php";