277 lines
9.2 KiB
PHP
277 lines
9.2 KiB
PHP
<?php
|
|
# This is a template for the default config for the Technologia Incognita wiki.
|
|
#
|
|
# This is for Mediawiki version 1.43 LTS
|
|
# Please add correct credentials where needed
|
|
#
|
|
# Maintained by Piele, Thijs
|
|
# Version: 20250211
|
|
|
|
# Protect against web entry
|
|
if ( !defined( 'MEDIAWIKI' ) ) {
|
|
exit;
|
|
}
|
|
|
|
## Fix that ssl is always on
|
|
$_SERVER['HTTPS'] = 'on';
|
|
$_SERVER['SERVER_PORT'] = 443;
|
|
|
|
##################### CUSTOMIZE THESE SETTINGS TO YOUR NEED ###################
|
|
|
|
# Put some secrets outside the git repository
|
|
include 'secrets.php';
|
|
|
|
## Some site defaults
|
|
$wgSitename = "Technologia Incognita";
|
|
$wgMetaNamespace = "Technologia_Incognita";
|
|
$wgServer = "https://wiki.techinc.nl";
|
|
#$wgLogo = "https://wiki.techinc.nl/images/c/cd/Techinc_logo.png";
|
|
$wgLogos = [
|
|
'svg' => "https://wiki.techinc.nl/images/6/6a/TechInc-logo-no-text.svg", // path to svg version
|
|
'icon' => "https://wiki.techinc.nl/images/6/6a/TechInc-logo-no-text.svg", // path to svg version
|
|
];
|
|
$wgLocaltimezone = "Europe/Amsterdam";
|
|
|
|
## Database settings
|
|
$wgDBtype = "mysql";
|
|
$wgDBserver = "127.0.0.1";
|
|
$wgDBname = "techinc_wiki";
|
|
$wgDBuser = "techinc_wiki";
|
|
$wgDBpassword = "gFCS8t19xNEvdg52Sx51asGpr4RESbSH";
|
|
$wgDBprefix = "";
|
|
|
|
|
|
# Email settings
|
|
$wgEmergencyContact = "wiki-noreply@techinc.nl";
|
|
$wgPasswordSender = "wiki-noreply@techinc.nl";
|
|
$wgSMTP = [
|
|
'host' => 'ssl://mail.techinc.nl',
|
|
'IDHost' => 'wiki.techinc.nl',
|
|
'localhost' => 'wiki.techinc.nl',
|
|
'port' => 465,
|
|
'auth' => true,
|
|
'username' => 'wiki',
|
|
'password' => $emailPassword # In secrets.php
|
|
];
|
|
|
|
# tr -c -d '0123456789abcdef' </dev/urandom | dd bs=64 count=1 2>/dev/null;echo
|
|
# $wgSecretKey = ""; # In secrets.php
|
|
|
|
# Site upgrade key. Must be set to a string (default provided) to turn on the
|
|
# web installer while LocalSettings.php is in place
|
|
# tr -c -d '0123456789abcdef' </dev/urandom | dd bs=64 count=1 2>/dev/null;echo
|
|
# $wgUpgradeKey = ""; # In secrets.php
|
|
|
|
# Changing this will log out all existing sessions.
|
|
$wgAuthenticationTokenVersion = "1";
|
|
|
|
$wgUsePrivateIPs = true;
|
|
$wgUseSquid = true;
|
|
$wgSquidServers = array();
|
|
$wgSquidServers[] = "127.0.0.1";
|
|
|
|
#$wgSquidServers = array( '127.0.0.1', '5.79.113.102' );
|
|
|
|
$wgUseCdn = true;
|
|
$wgCdnServers = array();
|
|
$wgCdnServers[] = "127.0.0.1";
|
|
|
|
## PART FOR DEBUGGING, ALSO SET $wgUseSquid = false; when enabling this ##
|
|
$wgShowExceptionDetails = true;
|
|
$wgShowSQLErrors = true;
|
|
$wgDebugComments = true;
|
|
$wgLogQueries = true;
|
|
$wgDebugDumpSql = true;
|
|
$wgDevelopmentWarnings = true;
|
|
$wgDebugProfiling = true;
|
|
$wgDebugTimestamps = true;
|
|
$wgResourceLoaderDebug = true;
|
|
$wgDebugToolbar = true;
|
|
|
|
$wgFileExtensions = array('png','gif','jpg','jpeg','doc','xls','mpp','ppt','tiff','bmp','docx', 'xlsx','pptx','ps','odt','ods','odp','odg','svg','svgz','tar','gz','bzip','bz2','7z','ogg','mp3','wav','md','css','html','dxf','txt','pdf','dia');
|
|
|
|
$wgSVGConverter = 'ImagickExt';
|
|
$wgSVGNativeRendering = true;
|
|
|
|
$wgDefaultSkin = "vector";
|
|
#$wgSkipSkins = array( "vector-2022" );
|
|
wfLoadSkin( 'Vector' );
|
|
wfLoadSkin( 'MinervaNeue' );
|
|
|
|
// For mobile visitors
|
|
#wfLoadExtension( 'MobileFrontend' );
|
|
#$wgDefaultMobileSkin = 'minerva';
|
|
|
|
######################## END OF CUSTOMIZABLE AREA #############################
|
|
#
|
|
################ THESE VALUES SHOULD NOT HAVE TO BE CHANGED ###################
|
|
$wgScriptPath = "";
|
|
$wgArticlePath = "/$1";
|
|
$wgUsePathInfo = true;
|
|
$wgScriptExtension = ".php";
|
|
$wgResourceBasePath = $wgScriptPath;
|
|
|
|
## UPO means: this is also a user preference option
|
|
$wgEnableEmail = true;
|
|
$wgEnableUserEmail = true; # UPO
|
|
$wgEnotifUserTalk = false; # UPO
|
|
$wgEnotifWatchlist = false; # UPO
|
|
$wgEmailAuthentication = true;
|
|
|
|
# MySQL table options to use during installation or update
|
|
$wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=utf8";
|
|
|
|
# Experimental charset support for MySQL 5.0.
|
|
$wgDBmysql5 = false;
|
|
|
|
/////////////////////////////////// CACHING ///////////////////////////////////
|
|
|
|
$wgMainCacheType = 'redis';
|
|
$wgSessionCacheType = 'redis'; // same as WMF prod
|
|
|
|
// Not widely tested:
|
|
#$wgMessageCacheType = 'redis';
|
|
$wgParserCacheType = 'redis';
|
|
$wgLanguageConverterCacheType = 'redis';
|
|
|
|
/** @see RedisBagOStuff for a full explanation of these options. **/
|
|
$wgObjectCaches['redis'] = array(
|
|
'class' => 'RedisBagOStuff',
|
|
'servers' => array( '127.0.0.1:6379' ),
|
|
// 'connectTimeout' => 1,
|
|
// 'persistent' => false,
|
|
// 'password' => 'secret',
|
|
// 'automaticFailOver' => true,
|
|
);
|
|
|
|
$wgJobTypeConf['default'] = [
|
|
'class' => 'JobQueueRedis',
|
|
'redisServer' => '127.0.0.1:6379',
|
|
'redisConfig' => [],
|
|
'claimTTL' => 3600,
|
|
'daemonized' => true
|
|
];
|
|
|
|
$smwgCacheType = 'redis';
|
|
$smwgQueryResultCacheType = 'redis';
|
|
|
|
//////////////////////////////// END OF CACHING ///////////////////////////////
|
|
|
|
$wgEnableUploads = true;
|
|
$wgUseImageMagick = true;
|
|
$wgImageMagickConvertCommand = "/usr/bin/convert";
|
|
$wgShellLocale = "en_US.utf8";
|
|
|
|
$wgUseInstantCommons = false;
|
|
$wgPingback = false;
|
|
$wgCacheDirectory = "$IP/cache";
|
|
$wgLanguageCode = "en";
|
|
|
|
$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright
|
|
$wgRightsUrl = "";
|
|
$wgRightsText = "";
|
|
$wgRightsIcon = "";
|
|
|
|
$wgDiff3 = "/usr/bin/diff3";
|
|
|
|
########################## SETTINGS FOR EXTENSIONS ############################
|
|
|
|
wfLoadExtension( 'AdminLinks' );
|
|
#require_once( "$IP/extensions/Arrays/Arrays.php" );
|
|
|
|
## ConfirmEdit / QuestyCaptcha settings
|
|
wfLoadExtension( 'ConfirmEdit' );
|
|
wfLoadExtension( 'ConfirmEdit/QuestyCaptcha' );
|
|
|
|
## Start QuestyCaptcha block
|
|
$wgCaptchaClass = 'QuestyCaptcha';
|
|
|
|
/// CHANGE THIS TO SOMETHING REAL
|
|
#$wgCaptchaQuestions[] = array( 'question' => 'Which animal is displayed here? <img src="http://wiki.mysite.com/dog.jpg" alt="" title="" />', 'answer' => 'dog' );
|
|
$wgCaptchaQuestions[] = array( 'question' => 'Which city is the hackerspace located in?', 'answer' => 'Amsterdam' );
|
|
## End QuestyCaptcha block
|
|
|
|
$wgGroupPermissions['*' ]['skipcaptcha'] = false;
|
|
$wgGroupPermissions['user' ]['skipcaptcha'] = false;
|
|
$wgGroupPermissions['autoconfirmed']['skipcaptcha'] = false;
|
|
$wgGroupPermissions['bot' ]['skipcaptcha'] = true; // registered bots
|
|
$wgGroupPermissions['sysop' ]['skipcaptcha'] = true;
|
|
|
|
$wgCaptchaTriggers['edit'] = false;
|
|
$wgCaptchaTriggers['create'] = false;
|
|
$wgCaptchaTriggers['addurl'] = false;
|
|
$wgCaptchaTriggers['createaccount'] = true;
|
|
$wgCaptchaTriggers['badlogin'] = true;
|
|
|
|
wfLoadExtension( 'Nuke' );
|
|
wfLoadExtension( 'ParserFunctions' );
|
|
wfLoadExtension( 'TextExtracts' );
|
|
wfLoadExtension( 'WikiEditor' );
|
|
wfLoadExtension( 'PageForms' );
|
|
wfLoadExtension( 'Headscript' );
|
|
wfLoadExtension( 'SemanticMediaWiki' );
|
|
wfLoadExtension( 'SemanticResultFormats' );
|
|
|
|
$wgPFEnableStringFunctions = true;
|
|
$wgGroupPermissions['*']['edit'] = false;
|
|
|
|
$wgEnableDnsBlacklist = false;
|
|
#$wgDnsBlacklistUrls = array( 'xbl.spamhaus.org', 'dnsbl.tornevall.org' );
|
|
|
|
// optional: default is array( 'sysop' )
|
|
//$wgUserMergeProtectedGroups = array( 'groupname' );
|
|
|
|
// Semantic Media Wiki
|
|
enableSemantics( 'techinc.nl' );
|
|
$smwgPageSpecialProperties = array( '_MDAT', '_CDAT', '_NEWP', '_LEDT');
|
|
$smwgCategoryFeatures = ( $smwgCategoryFeatures & ~SMW_CAT_REDIRECT );
|
|
$srfgFirstDayOfWeek = 'Monday';
|
|
#$smwgShowFactbox = SMW_FACTBOX_NONEMPTY;
|
|
|
|
$wgPageForms24HourTime = true;
|
|
$wgGroupPermissions['*']['viewedittab'] = false;
|
|
|
|
#$wgPopupsBetaFeature = true;
|
|
$wgPopupsOptInDefaultState = '1';
|
|
|
|
$wgDefaultUserOptions['usebetatoolbar'] = 1;
|
|
$wgDefaultUserOptions['usebetatoolbar-cgd'] = 1;
|
|
$wgDefaultUserOptions['wikieditor-preview'] = 1;
|
|
$wgDefaultUserOptions['wikieditor-publish'] = 1;
|
|
|
|
|
|
$wgMSU_showAutoCat = true; // Files uploaded while editing a category page will be added to that category
|
|
$wgMSU_checkAutoCat = true; // Whether the checkbox for adding a category to a page is checked by default
|
|
|
|
#Disable for everyone.
|
|
$wgGroupPermissions['*']['edit'] = false;
|
|
# Disable for users, too: by default 'user' is allowed to edit, even if '*' is not.
|
|
$wgGroupPermissions['user']['edit'] = false;
|
|
# Make it so users with confirmed email addresses are in the group.
|
|
$wgAutopromote['emailconfirmed'] = APCOND_EMAILCONFIRMED;
|
|
# Hide group from user list.
|
|
$wgImplicitGroups[] = 'emailconfirmed';
|
|
# Finally, set it to true for the desired group.
|
|
$wgGroupPermissions['emailconfirmed']['edit'] = true;
|
|
|
|
# This is uncommented whenever a backup is running
|
|
#$wgReadOnly = 'A backup of the TechInc wiki is currently being made. The site is therefore in read-only mode. Check back in a bit.';
|
|
#$wgMessageCacheType = $wgMainCacheType = $wgParserCacheType = $wgSessionCacheType = CACHE_NONE;
|
|
#$wgLocalisationCacheConf['storeClass'] = 'LCStoreNull';
|
|
#$wgIgnoreImageErrors = true;
|
|
|
|
$wgHeadScriptCode = <<<'START_END_MARKER'
|
|
<link href="spacestate.php" rel="stylesheet" />
|
|
START_END_MARKER;
|
|
|
|
// Remove all talk pages
|
|
$wgNamespaceProtection[NS_TALK] = ['everyone'];
|
|
$wgNamespaceProtection[NS_USER_TALK] = ['everyone'];
|
|
$wgNamespaceProtection[NS_PROJECT_TALK] = ['everyone'];
|
|
$wgNamespaceProtection[NS_FILE_TALK] = ['everyone'];
|
|
$wgNamespaceProtection[NS_MEDIAWIKI_TALK] = ['everyone'];
|
|
$wgNamespaceProtection[NS_TEMPLATE_TALK] = ['everyone'];
|
|
$wgNamespaceProtection[NS_HELP_TALK] = ['everyone'];
|
|
$wgNamespaceProtection[NS_CATEGORY_TALK] = ['everyone'];
|
|
|
|
$wgMemoryLimit = "64M";
|