Wikimedia Config

De FroggDev - Fr
Aller à : navigation, rechercher

LocalSettings.php

  • Configuration spécifique pour chaque {wiki folder}/LocalSettings.php
<?php
# Server URL
$wgServer = "https://fr.wiki.frogg.fr";
# MySQL prefix
$wgDBprefix = "fr_";
# Wiki site name
$wgSitename = "FroggDev - Fr";
# Project Name
#$wgMetaNamespace = "FroggDev";
# Wiki site webpath
$wgScriptPath = "";
# Site language code, should be one of the list in ./languages/Names.php
$wgLanguageCode = "fr";

# /!\ Need to be absolute path for update
require_once "/opt/web/wiki/common/config_common.php";
require_once "/opt/web/wiki/common/config_permission.php";
require_once "/opt/web/wiki/common/config_interwiki.php";
require_once "/opt/web/wiki/common/config_ext.php";
require_once "/opt/web/wiki/common/config_debug.php";
require_once "/opt/web/wiki/common/config_script.php";
?>

config_common.php

  • configuration en commun config_common.php
<?php
# Protect against web entry
if ( !defined( 'MEDIAWIKI' ) ) { exit; }

#=====> Info
#Gzip pages
#$wgUseGzip=true;
#Il semble que $wgUseGzip renvoie du mauvais HTML en combinaison avec un Accelerator PHP et $wgUseFileCache.
#<====

#####COMMONS
$wgScriptExtension = ".php";

# wiki short path
$wgArticlePath="/$1";

## The relative URL path to the skins directory
$wgStylePath = "$wgScriptPath/skins";

# Custom settings
$wgLogo         = "$wgScriptPath/images/frogg.png";
$wgFavicon      = "$wgScriptPath/images/favicon.ico";
$wgExternalLinkTarget = "_blank";

# Site upgrade key. Must be set to a string (default provided) to turn on the
# web installer while LocalSettings.php is in place
$wgUpgradeKey = "xxxx";
$wgSecretKey = "xxxx";

## 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;

# Allow HTML Tags
#$wgRawHtml = true;

## available UTF-8 locale
$wgShellLocale = "fr_FR.utf8";

## 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;

#Upload File allowed
$wgFileExtensions = array( 'tar' , 'gz' , 'rar' , 'zip' , 'png' , 'gif', 'jpg', 'jpeg', 'ppt', 'pdf', 'psd', 'mp3', 'xls', 'xlsx', 'swf', 'doc','docx','txt');

## Upload limits
$wgUploadSizeWarning = 50000000;
$wgMaxUploadSize = 50000000;

#####USER

## UPO means: this is also a user preference option
$wgEnableEmail = true;
$wgEnableUserEmail = false; # UPO
$wgEmergencyContact = "admin@frogg.fr";
$wgPasswordSender = "admin@frogg.fr";
$wgEnotifUserTalk = false; # UPO
$wgEnotifWatchlist = false; # UPO
$wgEmailAuthentication = true;
$wgEmailConfirmToEdit = true;

#allow to change password of user via maintenance/changepassword.php
$wgShowExceptionDetails = true;


#####DATABASE

# Database settings
$wgDBtype = "mysql";
$wgDBserver = "localhost";
$wgDBname = "wiki";
$wgDBuser = "wiki";
$wgDBpassword = "wiki";

#Use Shared Database
$wgSharedDB = 'wiki';
$wgSharedPrefix = 'fr_';
$wgSharedTables = array(
	'user',
	'user_groups',
	'interwiki',
	'ipblocks',
	'cn_assignments',
	'cn_templates',
	'cn_notices',
	'cn_notice_languages',
	'cn_notice_projects',
	'cn_notice_countries',
	'cn_notice_mobile_carriers',
	'cn_notice_log',
	'cn_notice_mixins',
	'cn_notice_mixin_params',
	'cn_known_devices',
	'cn_known_mixins',
	'cn_known_mobile_carriers',
	'cn_template_mixins',
	'cn_template_messages',
	'cn_template_devices',
	'cn_template_log'
	);

# MySQL table options to use during installation or update
$wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=utf8";

# Experimental charset support for MySQL 5.0.
$wgDBmysql5 = false;


#####PERF

# Uncomment this to disable output compression
# $wgDisableOutputCompression = true;

# Shared memory settings
$wgMainCacheType = CACHE_ACCEL; #PHP APC
#$wgMainCacheType = CACHE_NONE;
$wgMemCachedServers = array();

# Parser Cache
$wgParserCacheExpireTime = 604800; #1 Week

# Load.php expires
$wgResourceLoaderMaxage['versioned']['server'] = 604800;
$wgResourceLoaderMaxage['versioned']['client'] = 604800;
$wgResourceLoaderMaxage['unversioned']['server'] = 604800;
$wgResourceLoaderMaxage['unversioned']['client'] = 604800;

# Optimization
$wgMiserMode = true;

# Job.php rate (once pre 1000 pages)
$wgJobRunRate = 0;

# Sidebar cache (false to force {{pagename}} to be correct in export links
$wgEnableSidebarCache = false;

# File cache
$wgUseFileCache = true;
$wgFileCacheDirectory  = $IP."/".$wgDBprefix."cache";
$wgUseGzip = true;
$wgFileCacheDepth = 0;

# Cache folder
$wgCacheDirectory = $IP."/".$wgDBprefix."cache";
?>

config_permission.php

  • configuration des droits utilisateur config_permission.php
<?php
#Permission
#----------
$wgGroupPermissions['*'    ]['createaccount']   = true;
$wgGroupPermissions['*'    ]['read']            = true;
$wgGroupPermissions['*'    ]['edit']            = false;
$wgGroupPermissions['*'    ]['createpage']      = false;
$wgGroupPermissions['*'    ]['createtalk']      = false;
$wgGroupPermissions['*'    ]['talk']            = false;
$wgGroupPermissions['*'    ]['purge']           = false;
$wgGroupPermissions['*'    ]['editmyprivateinfo']= false;
$wgGroupPermissions['*'    ]['editmyusercss']	= false;
$wgGroupPermissions['*'    ]['editmyuserjs']	= false;
$wgGroupPermissions['*'    ]['editmyoptions']	= false;
$wgGroupPermissions['*'    ]['editmywatchlist']	= false;
$wgGroupPermissions['*'    ]['writeapi']	= false;
$wgGroupPermissions['*'    ]['viewmywatchlist'] = false;
$wgGroupPermissions['*'    ]['viewmyprivateinfo']= false;

$wgGroupPermissions['user' ]['move']            = false;
$wgGroupPermissions['user' ]['read']            = true;
$wgGroupPermissions['user' ]['edit']            = false;
$wgGroupPermissions['user' ]['createpage']      = false;
$wgGroupPermissions['user' ]['createtalk']      = true;
$wgGroupPermissions['user' ]['edittalk']        = true;
$wgGroupPermissions['user' ]['talk']            = true;
$wgGroupPermissions['user' ]['upload']          = false;
$wgGroupPermissions['user' ]['reupload']        = false;
$wgGroupPermissions['user' ]['reupload-shared'] = false;
$wgGroupPermissions['user' ]['minoredit']       = false;
$wgGroupPermissions['user' ]['purge']           = false;
$wgGroupPermissions['user' ]['movefile']        = false;
$wgGroupPermissions['user' ]['move-subpages']   = false;
$wgGroupPermissions['user' ]['move-categorypages'] = false;
$wgGroupPermissions['user' ]['move-rootuserpages'] = false;
$wgGroupPermissions['user' ]['writeapi']        = false;
#$wgGroupPermissions['user' ]['editmyprivateinfo']= false;
$wgGroupPermissions['user' ]['editmyusercss']	= false;
$wgGroupPermissions['user' ]['editmyuserjs']	= false;
$wgGroupPermissions['user' ]['editmyoptions']	= false;
$wgGroupPermissions['user' ]['editmywatchlist']	= false;
$wgGroupPermissions['user' ]['changetags']      = false;
$wgGroupPermissions['user' ]['applychangetags'] = false;

$wgGroupPermissions['bot'  ]['bot']             = true;
$wgGroupPermissions['bot'  ]['autoconfirmed']   = false;
$wgGroupPermissions['bot'  ]['nominornewtalk']  = false;
$wgGroupPermissions['bot'  ]['autopatrol']      = true;
$wgGroupPermissions['bot'  ]['writeapi']	= false;

$wgGroupPermissions['sysop']['move']            = true;
$wgGroupPermissions['sysop']['createpage']      = true;
$wgGroupPermissions['sysop']['createtalk']      = true;
$wgGroupPermissions['sysop']['edit']            = true;
$wgGroupPermissions['sysop']['block']           = true;
$wgGroupPermissions['sysop']['createaccount']   = true;
$wgGroupPermissions['sysop']['checkuser']       = true;
$wgGroupPermissions['sysop']['delete']          = true;
$wgGroupPermissions['sysop']['deletedhistory']  = true;
$wgGroupPermissions['sysop']['editinterface']   = true;
$wgGroupPermissions['sysop']['editusercssjs']   = true;
$wgGroupPermissions['sysop']['import']          = true;
$wgGroupPermissions['sysop']['importupload']    = true;
$wgGroupPermissions['sysop']['move']            = true;
$wgGroupPermissions['sysop']['patrol']          = true;
$wgGroupPermissions['sysop']['autopatrol']      = true;
$wgGroupPermissions['sysop']['protect']         = true;
$wgGroupPermissions['sysop']['proxyunbannable'] = true;
$wgGroupPermissions['sysop']['rollback']        = true;
$wgGroupPermissions['sysop']['trackback']       = true;
$wgGroupPermissions['sysop']['upload']          = true;
$wgGroupPermissions['sysop']['reupload']        = true;
$wgGroupPermissions['sysop']['reupload-shared'] = true;
$wgGroupPermissions['sysop']['unwatchedpages']  = true;
$wgGroupPermissions['sysop']['autoconfirmed']   = true;
$wgGroupPermissions['sysop']['upload_by_url']   = true;
$wgGroupPermissions['sysop']['ipblock-exempt']  = true;
$wgGroupPermissions['sysop']['blockemail']      = true;
$wgGroupPermissions['sysop']['purge']		= true;
$wgGroupPermissions['sysop']['writeapi']        = true;

# Make it so users with confirmed e-mail 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']['createtalk']     = true;
$wgGroupPermissions['emailconfirmed']['editmyoptions']  = true;
$wgGroupPermissions['emailconfirmed']['editmywatchlist']= true;

#Force ConfirmEmail special pages acces
$wgGroupPermissions['*']['viewmyprivateinfo'] = true;
$wgGroupPermissions['*']['editmyprivateinfo'] = true;
?>

config_ext.php

  • fichier de configuration des Extension & skin config_ext.php
<?php
##EXTENSIONS&SKINS

#SKINS
#------
require_once("$IP/skins/Vector/Vector.php");
#require_once("$IP/extensions/Vector/Vector.php");
#require_once("$IP/skins/CologneBlue/CologneBlue.php");
#require_once("$IP/skins/MonoBook/MonoBook.php");
#require_once("$IP/skins/Modern/Modern.php");
#require_once("$IP/skins/foreground/foreground.php");
#require_once("$IP/skins/DuskToDawn/DuskToDawn.php");
#require_once("$IP/skins/Gamepress/Gamepress.php");

#Default skin
$wgDefaultSkin = "Vector";

#MOBILE SKIN
#-----------
require_once "$IP/extensions/MobileFrontend/MobileFrontend.php";
$wgMFAutodetectMobileView = true;
require_once "$IP/extensions/MobileApp/MobileApp.php";

#STATS EXTENSION
#---------------
require_once "$IP/extensions/piwik-mediawiki-extension/Piwik.php";
$wgPiwikURL = "stats.frogg.fr";
$wgPiwikIDSite = "2";
$wgPiwikIgnoreSysops = false;
require_once "$IP/extensions/googleAnalytics/googleAnalytics.php";
$wgGoogleAnalyticsAccount = 'UA-6402788-6';

#ADMIN EXTENSION
#--------------
require_once("$IP/extensions/Renameuser/Renameuser.php");
require_once("$IP/extensions/Nuke/Nuke.php");
require_once("$IP/extensions/TitleBlacklist/TitleBlacklist.php");
require_once("$IP/extensions/SpamBlacklist/SpamBlacklist.php");
require_once("$IP/extensions/CheckUser/CheckUser.php");
require_once("$IP/extensions/TalkRight/TalkRight.php");
require_once("$IP/extensions/UserMerge/UserMerge.php");
$wgGroupPermissions['sysop']['usermerge'] = true;

require_once("$IP/extensions/CentralNotice/CentralNotice.php");
require_once("$IP/extensions/SidebarDonateBox/SidebarDonateBox.php");
switch($wgDBprefix)
	{
	case "fr_":
		//central notice
		$wgNoticeInfrastructure=true;
		$wgNoticeProjects=array('FroggDev');
		$wgNoticeProject='FroggDev';
		//paypal donate
		$egSidebarDonateBoxContent = '<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top"><input type="hidden" name="cmd" value="_s-xclick"><input type="hidden" name="hosted_button_id" value="Y4B2KQKHNZXQL"><input type="image" src="https://www.paypalobjects.com/fr_FR/i/btn/btn_donate_SM.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"><img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1"></form>';
	break;
	case "en_":
		//central notice
		$wgNoticeInfrastructure=false;
		$wgNoticeProjects=array('FroggDev');
		$wgNoticeProject='FroggDev';
		$wgCentralHost="//fr.wiki.frogg.fr";
		$wgCentralSelectedBannerDispatcher="//fr.wiki.frogg.fr/index.php/Spécial:BannerLoader";
		$wgCentralDBname="wiki";
		$wgCentralBannerRecorder="//fr.wiki.frogg.fr/index.php/Spécial:RecordImpression";
		//paypal donate
		$egSidebarDonateBoxContent = '<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top"><input type="hidden" name="cmd" value="_s-xclick"><input type="hidden" name="hosted_button_id" value="Y4B2KQKHNZXQL"><input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"><img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1"></form>';
	break;
	case "pool_":
		$egSidebarDonateBoxContent = '<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top"><input type="hidden" name="cmd" value="_s-xclick"><input type="hidden" name="hosted_button_id" value="Y4B2KQKHNZXQL"><input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"><img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1"></form>';
	break;
	}

require_once( "$IP/extensions/GlobalUserGroups/GlobalUserGroups.php" );
$wgGlobalUserGroupsUseEMWT = true;
$wgEnableMWSuggest = true;
require_once "$IP/extensions/LocalisationUpdate/LocalisationUpdate.php";
$wgLocalisationUpdateDirectory="$IP/cache";
require_once "$IP/extensions/removeSpecialPageAccess/removeSpecialPageAccess.php";
$wgRSAallowedGrp[] = 'sysop';
#require_once "$IP/extensions/AntiSpoof/AntiSpoof.php";
#$wgSharedTables[] = 'spoofuser';

#TAG EXTENSION
#-------------
wfLoadExtension( 'EmbedVideo' );
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
wfLoadExtension( 'ImageMap' );
wfLoadExtension( 'Poem' );
wfLoadExtension( 'CiteThisPage' );
require_once("$IP/extensions/RSS/RSS.php");
require_once("$IP/extensions/wikihiero/wikihiero.php");
require_once "$IP/extensions/SimpleMathJax/SimpleMathJax.php";
require_once( "$IP/extensions/SecureHTML/SecureHTML.php" );
$wgSecureHTMLSecrets = array('xxxx' => 'xxxx');

#TOOL EXTENSION
#--------------
wfLoadExtension( 'Gather' );
require_once("$IP/extensions/MultimediaViewer/MultimediaViewer.php");
require_once("$IP/extensions/WikiEditor/WikiEditor.php");
require_once("$IP/extensions/InputBox/InputBox.php");
require_once("$IP/extensions/ConfirmEdit/ConfirmEdit.php");
require_once("$IP/extensions/Gadgets/Gadgets.php");
require_once "$IP/extensions/BootStrapSkinMaps/map.php";
require_once "$IP/extensions/BootStrapSkinNews/news.php";
#require_once "$IP/extensions/Echo/Echo.php";
#$wgEchoEnableEmailBatch=false;
require_once("$IP/extensions/PdfBook/PdfBook.php");

#EXTENSIONS UNKNOWN
#------------------
require_once("$IP/extensions/ParserFunctions/ParserFunctions.php");
$wgPFEnableStringFunctions=true;

#Visual Editor
#-------------
#$wgEnableWriteAPI=true;
#Not realy usefull when diff language already exist
require_once "$IP/extensions/UniversalLanguageSelector/UniversalLanguageSelector.php";
require_once("$IP/extensions/VisualEditor/VisualEditor.php");
// Enable by default for everybody
$wgDefaultUserOptions['visualeditor-enable']=1;
// Don't allow users to disable it
$wgHiddenPrefs[]='visualeditor-enable';
// URL to the Parsoid instance
// MUST NOT end in a slash due to Parsoid bug
// Use port 8142 if you use the Debian package
//$wgVisualEditorParsoidURL='http://127.0.0.1:8142';
$wgVisualEditorParsoidURL='http://localhost:8000';
// Interwiki prefix to pass to the Parsoid instance
// Parsoid will be called as $url/$prefix/$pagename
$wgVisualEditorParsoidPrefix='localhost';
//$wgSessionsInObjectCache = true;
//$wgVisualEditorParsoidForwardCookies = true;

$wgVirtualRestConfig['modules']['parsoid'] = array(
  // URL to the Parsoid instance
  // Use port 8142 if you use the Debian package
  'url' => 'http://localhost:8000',
  // Parsoid "domain", see below (optional)
  'domain' => 'localhost',
  // Parsoid "prefix", see below (optional)
  'prefix' => 'localhost'
);
?>

config_interwiki.php

  • Interwiki fichier de configuration config_interwiki.php
<?php
###INTERWIKI

#Use Shared File
#---------------
$wgUseSharedUploads = true;
$wgHashedSharedUploadDirectory = true;
$wgUploadNavigationUrl = "https://pool.wiki.frogg.fr/index.php/Special:Upload";
$wgSharedUploadPath = "https://pool.wiki.frogg.fr/images";
$wgSharedUploadDirectory = "/opt/web/wiki/pool/images/";
$wgFetchCommonsDescriptions = true;
$wgSharedUploadDBname = 'wiki';
$wgSharedUploadDBprefix = 'pool_';
$wgRepositoryBaseUrl = "https://pool.wiki.frogg.fr/index.php/Image:";

#Use Shared Cookie
#-----------------
$wgCookieDomain = '.frogg.fr';

#Use Shared Database
#-------------------
$wgInterwikiCentralDB = 'wiki';

#Extension
#---------
require_once("$IP/extensions/Interwiki/Interwiki.php");
require_once("$IP/extensions/CentralNotice/CentralNotice.php");

#Rights
#-------
$wgGroupPermissions['sysop']['interwiki'] = true;
?>

config_debug.php

  • fichier de configuration Debug config_debug.php
<?php
#Full Debug Display (change this to false to disable debug)
$wgFullDebug = true;

if(isSet($wgFullDebug) && $wgFullDebug)
{
#DEBUG SQL
#---------
$wgShowSQLErrors = true;
$wgDebugDumpSql = true;
$wgShowDBErrorBacktrace = true;

#DEBUG GLOBAL
#------------
$wgShowExceptionDetails = true;
$wgDebugToolbar = true;
$wgShowDebug = true;
$wgDevelopmentWarnings = true;
}
?>