MediaWiki/LocalSettings.php: Unterschied zwischen den Versionen
K Textersetzung - „Kategorie:(.*):(.*)“ durch „Kategorie:/$1/$2“ |
Keine Bearbeitungszusammenfassung |
||
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''LocalSettings.php''' ist die Konfigurationsdatei für [[MediaWiki]] | '''LocalSettings.php''' ist die Konfigurationsdatei für [[MediaWiki]] | ||
= TMP = | |||
The '''<code>LocalSettings.php</code>''' file provides basic [[Special:MyLanguage/Manual:Configuration settings|configuration settings]] of a [[Special:MyLanguage/MediaWiki|MediaWiki]] installation. | |||
You should take your time to review the settings in this file. | |||
The file is usually generated by the web-based MediaWiki installer but you can tweak the parameters, possibly in concert with Apache settings. | |||
For MediaWiki installations configured as a [[Special:MyLanguage/Manual:Wiki family|wiki farm]], a file named <code>[[Manual:CommonSettings.php|CommonSettings.php]]</code> may be used. | |||
== Location on the server == | |||
The <code>LocalSettings.php</code> file is not a wiki page, and you cannot access it with your web browser. | |||
Instead, it is a file in the file system of the server. | |||
Its contents are generated during the initial setup of the wiki, and the resulting file must be copied to the server manually. | |||
The file must be located in the folder you installed MediaWiki into, on the same level with folders like <code>includes/</code> and <code>skins/</code> and files like <code>api.php</code>. | |||
If this file is ''not'' there, the wiki will not work at all—if the wiki ''does'' work, the file ''is there''. | |||
If you do not know where it is, you can enter a command such as <kbd>find / -iname LocalSettings.php -print</kbd> in a terminal window to locate it. | |||
(If you are using Vagrant, see also [[<tvar name=vagrant>Special:MyLanguage/MediaWiki-Vagrant#mw-settings|MediaWiki-Vagrant#MediaWiki_settings]].) | |||
== Security == | |||
<code>LocalSettings.php</code> usually contains sensitive data such as database logins. | |||
This data should ''never'' be revealed to the public! | |||
Due to a security breach somewhere on the server, it might happen that other users are able to view the contents of files. | |||
In order to improve security of your data, you should set UNIX permissions for this file accordingly: The webserver user must have access to this file. | |||
If this is the same account, who is the owner of the file, then you can set permissions to ''600''. | |||
Sometimes, the webserver user is ''not'' the file owner, but they are in the owner's UNIX user group. | |||
In this case, permissions of ''640'' should be fine. For improved security you should narrow permissions down as far as possible. | |||
Additionally, you can create a MySQL user, who is restricted to only the database used by the wiki and provide this user's credentials in <code>LocalSettings.php</code>. Also you can configure your database server to only accept connections from localhost - this should prevent access from outside in case of leaked credentials. | |||
See also [[Manual:Securing database passwords]] for a method to move the sensitive parts of <code>LocalSettings.php</code> to a different file in a different directory. | |||
== File contents == | |||
When you edit <code>LocalSettings.php</code>, make sure to save it in the right encoding again. You should use "ANSI as UTF-8" encoding - that is UTF-8 encoding without byte order mark (BOM). | |||
<code>LocalSettings.php</code> contains [[w:PHP|PHP code]]; mainly the definition of variables and their values. Changing a setting usually means changing the value of a PHP variable. Your changes will take effect immediately after saving the file again on the server: There is no need to manually "restart" anything. Anyway, in some cases you may need to clear your browser's cache to actually see the changes you made. | |||
The ''default'' values of many more settings are set in <code>includes/DefaultSettings.php</code>, ''which should not be edited;'' if the variable you want to change is not already mentioned in your <code>LocalSettings.php</code>, copy the appropriate line from <code>DefaultSettings.php</code> and modify it appropriately in <code>LocalSettings.php</code>. | |||
''' Within <code>LocalSettings.php</code> you can add new lines at the end.''' | |||
Within the file, there can also be several lines such as '<code>require_once "$IP/extensions/''extension''.php";</code>', which point to [[<tvar name=ext-content>Special:MyLanguage/Extension:Contents|extensions]]. | |||
These lines enable the according extension in the wiki. | |||
Those extensions may require setting the values of more variables in <code>LocalSettings.php</code>; check the documentation of the according extension for further instructions. | |||
Like most PHP files in MediaWiki, <code>LocalSettings.php</code> does not end with the closing PHP tag. This prevents admins from accidentally adding new information ''after'' this tag. PHP works fine without a closing tag. | |||
If you have a wiki on a MediaWiki [[w:wiki farm|wiki farm]] you may not have write-access (perhaps not even read-access) to the file <code>LocalSettings.php</code> (see e.g. <tvar name=wikiaforum>[http://community.wikia.com/wiki/Forum%3ALocalSettings.php%3F]). The wiki farm company may or may not be willing to make changes you desire. Perhaps it wants to keep most settings the same on all wikis of the wiki farm. | |||
{{note|1= This file is not written to your webserver automatically for security reasons. Instead, it is offered as a download, which you must then upload to your server for your wiki to begin working. For a more complete explanation, see [<tvar name=installer>//www.mediawiki.org/w/index.php?title=New-installer_issues&diff=334526&oldid=333913 this explanation].]] | |||
== Overview of available settings == | |||
See the [[<tvar name=config>Special:MyLanguage/Manual:Configuration settings|configuration settings index]] and the comments included in the settings files for help on what all the variables do. A short listing of the most important variables, as well as the most requested features, is listed below. | |||
==Standard settings== | |||
===Install path=== | |||
The ''$IP'' (install path) variable holds the local file path to the base installation of your wiki. | |||
Since MediaWiki 1.18, the system sets $IP automatically. | |||
Setting {{phpi|$IP]] manually in <code>LocalSettings.php</code> is no longer needed. | |||
{{phpi|$IP]] will default to the current working directory and can be used without the need to manually define it. | |||
Attempting to set {{phpi|$IP]] (or <code>MW_INSTALL_PATH</code>) in <code>LocalSettings.php</code> may produce unexpected results. | |||
The [[Manual:DefaultSettings.php|DefaultSettings.php]] file gets loaded from the directory designated by the IP variable. | |||
===Site name=== | |||
''$wgSitename'' holds the name of your wiki setup. This name gets included many times throughout the system, such as via MediaWiki:Pagetitle. For instance, the Wikipedia tagline "From Wikipedia, the free encyclopedia" makes use of this setting. | |||
=== Declensions of site name === | |||
Some translations of interface are ready for inflection of site name. | |||
You can set proper forms of word in variables ''$wgSitename'' documentation page). | |||
===Site language=== | |||
''$wgLanguageCode'' controls the language of your wiki's interface. | |||
While users can switch the language they see in their [[Special:Preferences|preferences]], this variable sets the default language that all anonymous users and most registered users see. | |||
===Script path=== | |||
''$wgScriptPath'' is the URL path prefix to access the main MediaWiki script that is the central acting piece of code of MediaWiki. | |||
This setting should correspond to the [[Special:MyLanguage/Apache configuration|Apache settings]], especially if you are using Apache's [[w:Rewrite_engine|rewrite]] rules. | |||
===Server name=== | |||
''$wgServer'' contains the base URL of the server, including protocol but without the trailing slash and without the subdirectory if any. When the wiki is accessed from either the localhost where it runs, from an intranet or from the internet, email notifications and a few other computed messages would be usually delivered with the different URLs. | |||
From MediaWiki 1.34 {{phpi|$wgServer]] must be set in LocalSettings.php. | |||
Prior to that, MediaWiki tried to autodetect the name of the server and {{phpi|$wgServer]] was optional, to override the autodetection. | |||
If www.example.com is the server address of your wiki as seen from the internet, add a line such as | |||
<syntaxhighlight lang="php"> | |||
$wgServer = 'http://www.example.com'; | |||
</syntaxhighlight> | |||
The [[m:Special:MyLanguage/Help:Magic words#Page names and related info|magic word]] variable <code><nowiki>{{SERVER]]</nowiki></code> can be used on wiki pages; it equals the value of {{phpi|$wgServer]]; however, on a wiki, such as those in the Wikimedia family, where relative urls are used, it will not fully expand, for example here it displays {{SERVER]], which can neither be clicked nor copy-pasted into the address bar as it is. | |||
You can also use a protocol relative URL as shown below. | |||
When using a protocol relative URL, be sure to set {{phpi|$wgCanonicalServer]]. | |||
{{phpi|$wgCanonicalServer]] is needed for some places in the code where an origin with a protocol and hostname is needed. | |||
<syntaxhighlight lang="php"> | |||
$wgServer = '//www.example.com'; | |||
$wgCanonicalServer = 'https://www.example.com'; | |||
</syntaxhighlight> | |||
===Script name=== | |||
''$wgScript'' is the name of the main (index) MediaWiki PHP script, named <code>index.php</code> by default. Changing the script name is probably not a good idea. However, if you feel the urge to do so, this is the place to make your changes. Make sure you know what you are doing. | |||
===Article path=== | |||
''$wgArticlePath'' is the path to use when accessing a page in MediaWiki. | |||
The path should contain the path to the main script (usually making use of {{phpi|$wgScript]]) and use the <code>$1</code> placeholder for the article name. | |||
If you are using Apache rewrite rules to create pretty and short URLs, you probably need to adjust {{phpi|$wgArticlePath]] to address the right path. | |||
Note that wgArticlePath is used to construct URLs from within MediaWiki. | |||
If you make a mistake here, internal links will show up incorrectly while you still may be able to access the main page by specifying the correct URL manually. | |||
See [[Manual:Short URL]] for more information on URL configuration. | |||
Typical values are: | |||
{| class="wikitable" | |||
| <code>"$wgScript/$1"</code> | |||
| pass the article name with separator "/" | |||
|- | |||
| <code>"$wgScript?title=$1"</code> | |||
| pass the article name as a parameter (old style) | |||
|- | |||
| <code>"/mypath/$1"</code> | |||
| custom path. Use Apache rewrite rules to convert "mypath" to the proper path accessing the main script | |||
|} | |||
===Stylesheet location=== | |||
Use ''$wgStylePath'' to set the URL path to the place where the stylesheets (CSS) for the MediaWiki installation are located. | |||
''$wgStyleDirectory'' should point the same place, but note that this is a local file system path for use in internal scripts accessing the file system. | |||
===Upload location=== | |||
The upload directory is the place where files uploaded by the users are stored. ''$wgUploadDirectory'' points to the local file system path. | |||
===Logo=== | |||
''$wgLogo'' specifies which graphical logo is displayed in the top left corner of all MediaWiki pages. These steps replace the default logo in the /wiki/skins/common/images/ directory, replacing /wiki with the path to the directory where you installed the MediaWiki software. | |||
First, copy whatever logo you want into the /wiki/skins/common/images/ directory (replacing /wiki with the path to the directory where you installed the MediaWiki software). | |||
Next, try to find the line that looks like this in <code>LocalSettings.php</code>: | |||
<syntaxhighlight lang="php" style="overflow:auto;"> | |||
$wgLogo = "$wgStylePath/common/images/wiki.png"; | |||
</syntaxhighlight> | |||
If there's no such line, you can copy and paste the line above at the end of the file. | |||
Then, modify that line to point to your logo. The logo must be web accessible. The value of this variable is passed to the web browser, which uses it to fetch the logo. If in doubt, a good way to pick what to put here is navigate to the logo in your web browser (for example, this wiki the url of the logo is http://upload.wikimedia.org/wikipedia/mediawiki/b/bc/Wiki.png ), and put the full URL as the value of this variable. | |||
Some people just replace the skins/common/images/wiki.png file with their logo. This is not recommended, as the customized logo would be overwritten on upgrade. | |||
MediaWiki 1.35 introduced [[Manual:$wgLogos|$wgLogos]], which allows multiple versions of the same logo. | |||
An example of using multiple logos is shown below. | |||
<syntaxhighlight lang="php" style="overflow:auto;"> | |||
$wgLogos = [ | |||
'1x' => "$wgStylePath/common/images/1x_version.png", | |||
'1.5x' => "$wgStylePath/common/1.5x_version.png", | |||
... | |||
'tagline' => [ | |||
'src' => "$wgStylePath/common/tagline_version.png", | |||
'width' => 135, | |||
'height' => 15, | |||
], | |||
]; | |||
</syntaxhighlight> | |||
===Contact info=== | |||
''$wgEmergencyContact'' is the email address of the user to contact if something goes wrong. This email address is used to send internal bug reports to. As an administrator, you want to include your email address here. | |||
''$wgPasswordSender'' is the email address where email gets sent ''from'', when passwords are sent out to users who have forgotten their passwords. Choose an address people can reply to in case of trouble or confusion. | |||
===Database settings=== | |||
MediaWiki needs access to the database (currently either [[w:MySQL|MySQL]] or [[w:PostgreSQL|PostgreSQL]]) to store pages, modifications, user information, and a lot more things. | |||
''$wgDBserver'' contains the hostname where the database is hosted on. In most cases this will be just "localhost" as the database is run on the same system, but for distributed installations, you need to fill in the fully qualified domain name of the computer running the database. | |||
''$wgDBname'' is the ''database name'' of the database to be used by MediaWiki. A single MySQL or PostgreSQL installation can store more than one database and you can even run many MediaWiki installations on a single server. Make sure you have stated the correct database name here and use different database names for different wiki installations on the same database server. | |||
''$wgDBpassword'' contain the login name and password to be used by MediaWiki to access the database. Make sure the specified user has the proper access rights to be able to manipulate the wiki's table on the database server. | |||
Also see [[Manual:Securing database passwords]] for a method to move the sensitive parts of <code>LocalSettings.php</code> to a different file in a different directory. | |||
===User rights=== | |||
''$wgGroupPermissions'' is an associative array, controlling permissions for creating and editing pages for your different user groups. In this array, custom permission levels can be created, and permission levels for the different user groups can be set. See [[Help:User rights]] for more information about the different permissions and user groups available. | |||
===Force capital links=== | |||
By default, no page name can start with a lowercase [[w:Latin alphabet|Roman letter]]: in an attempt to do so the first letter is converted to uppercase; if a link target, included page, image or category is specified with a name starting with a lowercase letter, the actual target etc. is the page starting with the corresponding capital. | |||
Alternatively page names ''can'' start with a lowercase letter, in addition to the possibilities of starting with a capital, a digit, etc. For that you must adjust ''$wgCapitalLinks''. Setting it to '''false''' allows lowercase characters, '''true''' chooses the default behavior. | |||
===Enabling subpages=== | |||
In <code>LocalSettings.php</code>, [[''$wgNamespacesWithSubpages''. For example, to enable subpages in the main namespace: | |||
<syntaxhighlight lang="php"> | |||
$wgNamespacesWithSubpages[NS_MAIN] = 1; | |||
</syntaxhighlight> | |||
===Image uploads=== | |||
Before users are allowed to upload files to the MediaWiki system, you have to enable that feature. Make sure the Upload Directory is properly configured and writeable by the Apache web server process. Then set ''$wgEnableUploads'' to '''true''' to allow uploading in the web user interface. | |||
i.e. Here's some example code from ''includes/DefaultSettings.php'' to put in <code>LocalSettings.php</code>: | |||
<syntaxhighlight lang="php" style="overflow:auto;"> | |||
$wgUploadPath = "$wgScriptPath/uploads"; ## Wiki 1.5 defaults to /images, but allows more than just images | |||
$wgUploadDirectory = "$IP/uploads"; ## Wiki 1.5 defaults to /images, but allows more than just images | |||
## To enable image uploads, make sure the above '$wgUploadPath' directory is writable by Apache User or group. | |||
## ''(i.e. chmod og+w uploads images)'' then the following should be true: | |||
$wgEnableUploads = true; | |||
$wgUseImageMagick = true; | |||
$wgImageMagickConvertCommand = "/usr/bin/convert"; | |||
## 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; | |||
</syntaxhighlight> | |||
If you want to be able to resize images on the fly to support thumbnails, MediaWiki needs a working [[w:ImageMagick|ImageMagick]] installation. | |||
Set ''$wgUseImageMagick'' to '''true''' once you have installed and tested ImageMagick on your system. | |||
Make sure ''$wgMaxShellMemory'' is large enough. | |||
See [[Manual:Image administration#Image thumbnailing|Manual:Image administration#Image thumbnailing]] for detailed information and troubleshooting. | |||
Also, you may want to modify the list of accepted extensions, which is stored within ''$wgFileExtensions'': | |||
<syntaxhighlight lang="php"> | |||
$wgFileExtensions = [ 'png', 'jpg', 'jpeg', 'ogg', 'doc', 'xls', 'ppt', 'mp3', 'sxc', 'pdf' ]; | |||
</syntaxhighlight> | |||
In case ImageMagick outputs an error message similar to the following: | |||
<blockquote> | |||
Fatal error: mime_magic could not be initialized, magic file is not available in includes/MimeMagic.php on line 506 | |||
</blockquote> | |||
then try adding the following line to <code>LocalSettings.php</code>: | |||
<code class="mw-code mw-highlight" style="display:block"><!-- | |||
-->[[Manual:$wgMimeDetectorCommand|$wgMimeDetectorCommand]] = {{#tag:span|"file -bi"|class=s2]]; | |||
</code> | |||
{{note|1= Read the [[Special:MyLanguage/Manual:Security#Upload security|upload security]] section in the [[Special:MyLanguage/Manual:Security#Upload security|Manual:Security]].<br /> | |||
Further information is available in: | |||
* [[Manual:Configuring file uploads]] | |||
* [[Manual:MIME type detection]] | |||
* [[Manual:Image administration#Image thumbnailing|2= Manual:Image administration#Image thumbnailing]] | |||
]] | |||
===Interwiki support=== | |||
InterWiki support is built into MediaWiki but you need to configure the prefix to be used for your internal links. | |||
This prefix is usually the same as {{wg|Sitename]], but in case you need to change that, you set the {{wg|LocalInterwikis]] variable to the preferred name. | |||
===Language of user interface=== | |||
MediaWiki allows for a variety of localized user interfaces languages instead of the English default. If you want to run your wiki in a non-English language, set the variable to the proper [[Special:SiteMatrix|language code]] (e.g. "de" for German, "es" for Spanish, etc.) | |||
You may use any of the languages with a file in the directory {{git file |file=languages/i18n]]. E.g. if you find <code>es.json</code>, then you can use <code>"es"</code> for Spanish. Do not use <code>"Es"</code> with a capital letter. Although it seems to work, not all texts are translated. | |||
{{note|1= After changing the language code, you will need to run a PHP script to make it work. In a terminal window, change to your wiki directory, change to the <code>maintenance</code> folder, and enter <syntaxhighlight lang=bash inline>php rebuildMessages.php --rebuild</syntaxhighlight>. On Windows, the PHP folder might not be in your <code>PATH</code> environment variable and you'll have to prefix <kbd>php</kbd> with the path to the program.]] | |||
Not all languages are supported. | |||
See the [<tvar name=url>https://translatewiki.net/w/i.php?title=Special:MessageGroupStats&group=mediawiki translation statistics on TranslateWiki] for an up-to-date list of which languages are supported and to what extent. | |||
That list reflects the current state of MediaWiki core, so depending on what version you are using there may be a discrepancy. | |||
===Setting copyright for the site=== | |||
* ''$wgRightsPage'' is the page on the wiki that covers the copyrights that it falls under. Usually, this will be [[Project:Copyrights]]. | |||
* ''$wgRightsUrl'' is the page describing full details of your license. (For the GNU FDL, for example, this would be <code>http://www.gnu.org/licenses/fdl.html</code>.) | |||
* ''$wgRightsText'' is the text in the footer that follows "Content is available under". It will be linked to the page specified in <code>$wgRightsPage</code>. | |||
* ''$wgRightsIcon'' is the URL of the image placed at the left of the footer. | |||
{{note|1= If <code>$wgRightsPage</code> is non-empty, the link in the copyright/license notice will link to that page on your site. If <code>$wgRightsPage</code> is empty then the copyright/license notice will link to <code>$wgRightsUrl</code> instead.]] | |||
To modify the copyright statements of the site, add something like this to <code>LocalSettings.php</code>: | |||
<syntaxhighlight lang="php" style="overflow:auto;"> | |||
$wgRightsPage = "YourWiki:Copyright"; | |||
$wgRightsText = "copyright YourWiki"; | |||
</syntaxhighlight> | |||
Afterwards, edit [[MediaWiki:Copyright]] to provide an appropriate message, using <code>"$1"</code> to indicate the position where the link to your copyright page will be. | |||
'''Example: setting a [[w:Creative Commons|Creative Commons]] license''' | |||
To set a Creative Commons license do the following: | |||
* Choose your license: <tvar name=url>http://creativecommons.org/choose/ | |||
* Examine the returned HTML code, e.g.: | |||
<syntaxhighlight lang="html4strict" style="overflow:auto;"> | |||
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"> | |||
<img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights30.png" /> | |||
</a> | |||
This work is licensed under a | |||
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"> | |||
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License</a>. | |||
</syntaxhighlight> | |||
* For <code>$wgRightsURL</code> enter the href info from the first anchor: | |||
<syntaxhighlight lang="php" style="overflow:auto;">$wgRightsUrl = "http://creativecommons.org/licenses/by-nc-sa/3.0/";</syntaxhighlight> | |||
* For <code>$wgRightsText</code> enter the text the second anchor links from (add the "a" to the Wiki variable for a more grammatically correct version) | |||
<syntaxhighlight lang="php" style="overflow:auto;">$wgRightsText = "a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License";</syntaxhighlight> | |||
* For <code>$wgRightsIcon</code> enter the src info from the img link in the first anchor. You want to copy the badge to your own site instead of using the one from the Creative Commons site. | |||
<syntaxhighlight lang="php" style="overflow:auto;">$wgRightsIcon = "http://creativecommons.org/images/public/somerights30.png";</syntaxhighlight> | |||
* For using [[w:Resource Description Framework|RDF metadata]] about copyright add one or both of the following lines to your <code>LocalSettings.php</code>: | |||
<syntaxhighlight lang="php" style="overflow:auto;"> | |||
$wgEnableCreativeCommonsRdf = true; | |||
$wgEnableDublinCoreRdf = true; | |||
</syntaxhighlight> | |||
===Custom namespaces=== | |||
By declaring ''$wgNamespaceAliases'' array namespace aliases can be added. | |||
'''Take heed''' not to have any pages already titled in that namespace, for instance if you had a page called "Technical:Support" and you created the Technical: namespace, then that page would not only be lost, but you cannot remove it from Special:Allpages. | |||
To fix this delete the namespace, move "Technical:Support" to "Support" in mainspace, delete the redirect, reinsert the namespace, and move it back to "Technical:Support". | |||
See [[Manual:Using custom namespaces|Custom namespaces]] for more information as to how to do so. | |||
The default skin of the site can be modified via ''$wgDefaultSkin''. | |||
==See also== | |||
* {{file doclink |LocalSettingsGenerator]] source code, which generates the inital contents of <code>LocalSettings.php</code> during installation. | |||
*[[<tvar name=wfamily>Special:MyLanguage/Manual:Wiki family|Wiki families]] can share the same {{BASEPAGENAME]]. | |||
*[[Manual:Securing database passwords]] - a guide to securing your database passwords and <code>LocalSettings.php</code> file. | |||
[[Category:MediaWiki configuration{{#translation:]]| ]] | |||
= TMP = | |||
; $wgReadOnly | ; $wgReadOnly | ||
* setzt das Wiki auf schreibgeschützt | * setzt das Wiki auf schreibgeschützt | ||
Zeile 8: | Zeile 344: | ||
; /mw-config/ | ; /mw-config/ | ||
== Links == | |||
= Links = | |||
# https://www.mediawiki.org/wiki/Manual:Configuration_settings/de | # https://www.mediawiki.org/wiki/Manual:Configuration_settings/de | ||
# https://www.mediawiki.org/wiki/Manual:LocalSettings.php | |||
[[Kategorie: | [[Kategorie:MediaWiki/Verwaltung]] |
Aktuelle Version vom 4. Juni 2024, 08:07 Uhr
LocalSettings.php ist die Konfigurationsdatei für MediaWiki
TMP
The LocalSettings.php
file provides basic configuration settings of a MediaWiki installation.
You should take your time to review the settings in this file.
The file is usually generated by the web-based MediaWiki installer but you can tweak the parameters, possibly in concert with Apache settings.
For MediaWiki installations configured as a wiki farm, a file named CommonSettings.php
may be used.
Location on the server
The LocalSettings.php
file is not a wiki page, and you cannot access it with your web browser.
Instead, it is a file in the file system of the server.
Its contents are generated during the initial setup of the wiki, and the resulting file must be copied to the server manually.
The file must be located in the folder you installed MediaWiki into, on the same level with folders like includes/
and skins/
and files like api.php
.
If this file is not there, the wiki will not work at all—if the wiki does work, the file is there.
If you do not know where it is, you can enter a command such as find / -iname LocalSettings.php -print in a terminal window to locate it.
(If you are using Vagrant, see also [[<tvar name=vagrant>Special:MyLanguage/MediaWiki-Vagrant#mw-settings|MediaWiki-Vagrant#MediaWiki_settings]].)
Security
LocalSettings.php
usually contains sensitive data such as database logins.
This data should never be revealed to the public!
Due to a security breach somewhere on the server, it might happen that other users are able to view the contents of files.
In order to improve security of your data, you should set UNIX permissions for this file accordingly: The webserver user must have access to this file.
If this is the same account, who is the owner of the file, then you can set permissions to 600.
Sometimes, the webserver user is not the file owner, but they are in the owner's UNIX user group.
In this case, permissions of 640 should be fine. For improved security you should narrow permissions down as far as possible.
Additionally, you can create a MySQL user, who is restricted to only the database used by the wiki and provide this user's credentials in LocalSettings.php
. Also you can configure your database server to only accept connections from localhost - this should prevent access from outside in case of leaked credentials.
See also Manual:Securing database passwords for a method to move the sensitive parts of LocalSettings.php
to a different file in a different directory.
File contents
When you edit LocalSettings.php
, make sure to save it in the right encoding again. You should use "ANSI as UTF-8" encoding - that is UTF-8 encoding without byte order mark (BOM).
LocalSettings.php
contains PHP code; mainly the definition of variables and their values. Changing a setting usually means changing the value of a PHP variable. Your changes will take effect immediately after saving the file again on the server: There is no need to manually "restart" anything. Anyway, in some cases you may need to clear your browser's cache to actually see the changes you made.
The default values of many more settings are set in includes/DefaultSettings.php
, which should not be edited; if the variable you want to change is not already mentioned in your LocalSettings.php
, copy the appropriate line from DefaultSettings.php
and modify it appropriately in LocalSettings.php
.
Within LocalSettings.php
you can add new lines at the end.
Within the file, there can also be several lines such as 'require_once "$IP/extensions/extension.php";
', which point to [[<tvar name=ext-content>Special:MyLanguage/Extension:Contents|extensions]].
These lines enable the according extension in the wiki.
Those extensions may require setting the values of more variables in LocalSettings.php
; check the documentation of the according extension for further instructions.
Like most PHP files in MediaWiki, LocalSettings.php
does not end with the closing PHP tag. This prevents admins from accidentally adding new information after this tag. PHP works fine without a closing tag.
If you have a wiki on a MediaWiki wiki farm you may not have write-access (perhaps not even read-access) to the file LocalSettings.php
(see e.g. <tvar name=wikiaforum>[1]). The wiki farm company may or may not be willing to make changes you desire. Perhaps it wants to keep most settings the same on all wikis of the wiki farm.
{{note|1= This file is not written to your webserver automatically for security reasons. Instead, it is offered as a download, which you must then upload to your server for your wiki to begin working. For a more complete explanation, see [<tvar name=installer>//www.mediawiki.org/w/index.php?title=New-installer_issues&diff=334526&oldid=333913 this explanation].]]
Overview of available settings
See the [[<tvar name=config>Special:MyLanguage/Manual:Configuration settings|configuration settings index]] and the comments included in the settings files for help on what all the variables do. A short listing of the most important variables, as well as the most requested features, is listed below.
Standard settings
Install path
The $IP (install path) variable holds the local file path to the base installation of your wiki.
Since MediaWiki 1.18, the system sets $IP automatically.
Setting {{phpi|$IP]] manually in LocalSettings.php
is no longer needed.
{{phpi|$IP]] will default to the current working directory and can be used without the need to manually define it.
Attempting to set {{phpi|$IP]] (or MW_INSTALL_PATH
) in LocalSettings.php
may produce unexpected results.
The DefaultSettings.php file gets loaded from the directory designated by the IP variable.
Site name
$wgSitename holds the name of your wiki setup. This name gets included many times throughout the system, such as via MediaWiki:Pagetitle. For instance, the Wikipedia tagline "From Wikipedia, the free encyclopedia" makes use of this setting.
Declensions of site name
Some translations of interface are ready for inflection of site name. You can set proper forms of word in variables $wgSitename documentation page).
Site language
$wgLanguageCode controls the language of your wiki's interface. While users can switch the language they see in their preferences, this variable sets the default language that all anonymous users and most registered users see.
Script path
$wgScriptPath is the URL path prefix to access the main MediaWiki script that is the central acting piece of code of MediaWiki. This setting should correspond to the Apache settings, especially if you are using Apache's rewrite rules.
Server name
$wgServer contains the base URL of the server, including protocol but without the trailing slash and without the subdirectory if any. When the wiki is accessed from either the localhost where it runs, from an intranet or from the internet, email notifications and a few other computed messages would be usually delivered with the different URLs.
From MediaWiki 1.34 {{phpi|$wgServer]] must be set in LocalSettings.php. Prior to that, MediaWiki tried to autodetect the name of the server and {{phpi|$wgServer]] was optional, to override the autodetection.
If www.example.com is the server address of your wiki as seen from the internet, add a line such as
$wgServer = 'http://www.example.com';
The magic word variable {{SERVER]]
can be used on wiki pages; it equals the value of {{phpi|$wgServer]]; however, on a wiki, such as those in the Wikimedia family, where relative urls are used, it will not fully expand, for example here it displays {{SERVER]], which can neither be clicked nor copy-pasted into the address bar as it is.
You can also use a protocol relative URL as shown below. When using a protocol relative URL, be sure to set {{phpi|$wgCanonicalServer]]. {{phpi|$wgCanonicalServer]] is needed for some places in the code where an origin with a protocol and hostname is needed.
$wgServer = '//www.example.com';
$wgCanonicalServer = 'https://www.example.com';
Script name
$wgScript is the name of the main (index) MediaWiki PHP script, named index.php
by default. Changing the script name is probably not a good idea. However, if you feel the urge to do so, this is the place to make your changes. Make sure you know what you are doing.
Article path
$wgArticlePath is the path to use when accessing a page in MediaWiki.
The path should contain the path to the main script (usually making use of {{phpi|$wgScript]]) and use the $1
placeholder for the article name.
If you are using Apache rewrite rules to create pretty and short URLs, you probably need to adjust {{phpi|$wgArticlePath]] to address the right path. Note that wgArticlePath is used to construct URLs from within MediaWiki. If you make a mistake here, internal links will show up incorrectly while you still may be able to access the main page by specifying the correct URL manually. See Manual:Short URL for more information on URL configuration.
Typical values are:
"$wgScript/$1"
|
pass the article name with separator "/" |
"$wgScript?title=$1"
|
pass the article name as a parameter (old style) |
"/mypath/$1"
|
custom path. Use Apache rewrite rules to convert "mypath" to the proper path accessing the main script |
Stylesheet location
Use $wgStylePath to set the URL path to the place where the stylesheets (CSS) for the MediaWiki installation are located. $wgStyleDirectory should point the same place, but note that this is a local file system path for use in internal scripts accessing the file system.
Upload location
The upload directory is the place where files uploaded by the users are stored. $wgUploadDirectory points to the local file system path.
Logo
$wgLogo specifies which graphical logo is displayed in the top left corner of all MediaWiki pages. These steps replace the default logo in the /wiki/skins/common/images/ directory, replacing /wiki with the path to the directory where you installed the MediaWiki software.
First, copy whatever logo you want into the /wiki/skins/common/images/ directory (replacing /wiki with the path to the directory where you installed the MediaWiki software).
Next, try to find the line that looks like this in LocalSettings.php
:
$wgLogo = "$wgStylePath/common/images/wiki.png";
If there's no such line, you can copy and paste the line above at the end of the file.
Then, modify that line to point to your logo. The logo must be web accessible. The value of this variable is passed to the web browser, which uses it to fetch the logo. If in doubt, a good way to pick what to put here is navigate to the logo in your web browser (for example, this wiki the url of the logo is ), and put the full URL as the value of this variable.
Some people just replace the skins/common/images/wiki.png file with their logo. This is not recommended, as the customized logo would be overwritten on upgrade.
MediaWiki 1.35 introduced $wgLogos, which allows multiple versions of the same logo. An example of using multiple logos is shown below.
$wgLogos = [
'1x' => "$wgStylePath/common/images/1x_version.png",
'1.5x' => "$wgStylePath/common/1.5x_version.png",
...
'tagline' => [
'src' => "$wgStylePath/common/tagline_version.png",
'width' => 135,
'height' => 15,
],
];
Contact info
$wgEmergencyContact is the email address of the user to contact if something goes wrong. This email address is used to send internal bug reports to. As an administrator, you want to include your email address here.
$wgPasswordSender is the email address where email gets sent from, when passwords are sent out to users who have forgotten their passwords. Choose an address people can reply to in case of trouble or confusion.
Database settings
MediaWiki needs access to the database (currently either MySQL or PostgreSQL) to store pages, modifications, user information, and a lot more things.
$wgDBserver contains the hostname where the database is hosted on. In most cases this will be just "localhost" as the database is run on the same system, but for distributed installations, you need to fill in the fully qualified domain name of the computer running the database.
$wgDBname is the database name of the database to be used by MediaWiki. A single MySQL or PostgreSQL installation can store more than one database and you can even run many MediaWiki installations on a single server. Make sure you have stated the correct database name here and use different database names for different wiki installations on the same database server.
$wgDBpassword contain the login name and password to be used by MediaWiki to access the database. Make sure the specified user has the proper access rights to be able to manipulate the wiki's table on the database server.
Also see Manual:Securing database passwords for a method to move the sensitive parts of LocalSettings.php
to a different file in a different directory.
User rights
$wgGroupPermissions is an associative array, controlling permissions for creating and editing pages for your different user groups. In this array, custom permission levels can be created, and permission levels for the different user groups can be set. See Help:User rights for more information about the different permissions and user groups available.
Force capital links
By default, no page name can start with a lowercase Roman letter: in an attempt to do so the first letter is converted to uppercase; if a link target, included page, image or category is specified with a name starting with a lowercase letter, the actual target etc. is the page starting with the corresponding capital.
Alternatively page names can start with a lowercase letter, in addition to the possibilities of starting with a capital, a digit, etc. For that you must adjust $wgCapitalLinks. Setting it to false allows lowercase characters, true chooses the default behavior.
Enabling subpages
In LocalSettings.php
, [[$wgNamespacesWithSubpages. For example, to enable subpages in the main namespace:
$wgNamespacesWithSubpages[NS_MAIN] = 1;
Image uploads
Before users are allowed to upload files to the MediaWiki system, you have to enable that feature. Make sure the Upload Directory is properly configured and writeable by the Apache web server process. Then set $wgEnableUploads to true to allow uploading in the web user interface.
i.e. Here's some example code from includes/DefaultSettings.php to put in LocalSettings.php
:
$wgUploadPath = "$wgScriptPath/uploads"; ## Wiki 1.5 defaults to /images, but allows more than just images
$wgUploadDirectory = "$IP/uploads"; ## Wiki 1.5 defaults to /images, but allows more than just images
## To enable image uploads, make sure the above '$wgUploadPath' directory is writable by Apache User or group.
## ''(i.e. chmod og+w uploads images)'' then the following should be true:
$wgEnableUploads = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";
## 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 want to be able to resize images on the fly to support thumbnails, MediaWiki needs a working ImageMagick installation. Set $wgUseImageMagick to true once you have installed and tested ImageMagick on your system. Make sure $wgMaxShellMemory is large enough. See Manual:Image administration#Image thumbnailing for detailed information and troubleshooting.
Also, you may want to modify the list of accepted extensions, which is stored within $wgFileExtensions:
$wgFileExtensions = [ 'png', 'jpg', 'jpeg', 'ogg', 'doc', 'xls', 'ppt', 'mp3', 'sxc', 'pdf' ];
In case ImageMagick outputs an error message similar to the following:
Fatal error: mime_magic could not be initialized, magic file is not available in includes/MimeMagic.php on line 506
then try adding the following line to LocalSettings.php
:
$wgMimeDetectorCommand = {{#tag:span|"file -bi"|class=s2]];
{{note|1= Read the upload security section in the Manual:Security.
Further information is available in:
- Manual:Configuring file uploads
- Manual:MIME type detection
- 2= Manual:Image administration#Image thumbnailing
]]
Interwiki support
InterWiki support is built into MediaWiki but you need to configure the prefix to be used for your internal links. This prefix is usually the same as {{wg|Sitename]], but in case you need to change that, you set the {{wg|LocalInterwikis]] variable to the preferred name.
Language of user interface
MediaWiki allows for a variety of localized user interfaces languages instead of the English default. If you want to run your wiki in a non-English language, set the variable to the proper language code (e.g. "de" for German, "es" for Spanish, etc.)
You may use any of the languages with a file in the directory {{git file |file=languages/i18n]]. E.g. if you find es.json
, then you can use "es"
for Spanish. Do not use "Es"
with a capital letter. Although it seems to work, not all texts are translated.
{{note|1= After changing the language code, you will need to run a PHP script to make it work. In a terminal window, change to your wiki directory, change to the maintenance
folder, and enter php rebuildMessages.php --rebuild
. On Windows, the PHP folder might not be in your PATH
environment variable and you'll have to prefix php with the path to the program.]]
Not all languages are supported. See the [<tvar name=url>https://translatewiki.net/w/i.php?title=Special:MessageGroupStats&group=mediawiki translation statistics on TranslateWiki] for an up-to-date list of which languages are supported and to what extent. That list reflects the current state of MediaWiki core, so depending on what version you are using there may be a discrepancy.
Setting copyright for the site
- $wgRightsPage is the page on the wiki that covers the copyrights that it falls under. Usually, this will be Project:Copyrights.
- $wgRightsUrl is the page describing full details of your license. (For the GNU FDL, for example, this would be
http://www.gnu.org/licenses/fdl.html
.)
- $wgRightsText is the text in the footer that follows "Content is available under". It will be linked to the page specified in
$wgRightsPage
.
- $wgRightsIcon is the URL of the image placed at the left of the footer.
{{note|1= If $wgRightsPage
is non-empty, the link in the copyright/license notice will link to that page on your site. If $wgRightsPage
is empty then the copyright/license notice will link to $wgRightsUrl
instead.]]
To modify the copyright statements of the site, add something like this to LocalSettings.php
:
$wgRightsPage = "YourWiki:Copyright";
$wgRightsText = "copyright YourWiki";
Afterwards, edit MediaWiki:Copyright to provide an appropriate message, using "$1"
to indicate the position where the link to your copyright page will be.
Example: setting a Creative Commons license
To set a Creative Commons license do the following:
- Choose your license: <tvar name=url>http://creativecommons.org/choose/
- Examine the returned HTML code, e.g.:
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">
<img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights30.png" />
</a>
This work is licensed under a
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License</a>.
- For
$wgRightsURL
enter the href info from the first anchor:
$wgRightsUrl = "http://creativecommons.org/licenses/by-nc-sa/3.0/";
- For
$wgRightsText
enter the text the second anchor links from (add the "a" to the Wiki variable for a more grammatically correct version)
$wgRightsText = "a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License";
- For
$wgRightsIcon
enter the src info from the img link in the first anchor. You want to copy the badge to your own site instead of using the one from the Creative Commons site.
$wgRightsIcon = "http://creativecommons.org/images/public/somerights30.png";
- For using RDF metadata about copyright add one or both of the following lines to your
LocalSettings.php
:
$wgEnableCreativeCommonsRdf = true;
$wgEnableDublinCoreRdf = true;
Custom namespaces
By declaring $wgNamespaceAliases array namespace aliases can be added. Take heed not to have any pages already titled in that namespace, for instance if you had a page called "Technical:Support" and you created the Technical: namespace, then that page would not only be lost, but you cannot remove it from Special:Allpages. To fix this delete the namespace, move "Technical:Support" to "Support" in mainspace, delete the redirect, reinsert the namespace, and move it back to "Technical:Support". See Custom namespaces for more information as to how to do so.
The default skin of the site can be modified via $wgDefaultSkin.
See also
- {{file doclink |LocalSettingsGenerator]] source code, which generates the inital contents of
LocalSettings.php
during installation.
- [[<tvar name=wfamily>Special:MyLanguage/Manual:Wiki family|Wiki families]] can share the same {{BASEPAGENAME]].
- Manual:Securing database passwords - a guide to securing your database passwords and
LocalSettings.php
file.
[[Category:MediaWiki configuration{{#translation:]]| ]]
TMP
- $wgReadOnly
- setzt das Wiki auf schreibgeschützt
- angegebenen Zeichenfolge als Grund
- nützlich für die Wartung der Website
- /mw-config/