<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://camnet.oetterer.eu/index.php?action=history&amp;feed=atom&amp;title=Projekt%3ASoftware_overview</id>
	<title>Projekt:Software overview - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://camnet.oetterer.eu/index.php?action=history&amp;feed=atom&amp;title=Projekt%3ASoftware_overview"/>
	<link rel="alternate" type="text/html" href="https://camnet.oetterer.eu/index.php?title=Projekt:Software_overview&amp;action=history"/>
	<updated>2026-05-02T06:55:35Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in CamNet</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://camnet.oetterer.eu/index.php?title=Projekt:Software_overview&amp;diff=7322&amp;oldid=prev</id>
		<title>imported&gt;Oetterer: /* Configuration files */</title>
		<link rel="alternate" type="text/html" href="https://camnet.oetterer.eu/index.php?title=Projekt:Software_overview&amp;diff=7322&amp;oldid=prev"/>
		<updated>2022-03-25T09:38:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Configuration files&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== Base layout ===&lt;br /&gt;
Once you cloned or unziped the files, your file structure should look something like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;io&amp;quot;&amp;gt;&lt;br /&gt;
drwxr-xr-x  9 www-data www-data 4096 Dec  9 10:12 .git                           // your repository files&lt;br /&gt;
-rw-r--r--  1 www-data www-data  331 Dec  8 08:29 .gitignore                     // ignore files for your repo&lt;br /&gt;
-rw-r--r--  1 www-data www-data  101 Dec  3 09:50 .gitmodules                    // listing of all submodules&lt;br /&gt;
-rw-r-----  1 www-data www-data 2462 Oct 24 09:42 ___first_steps                 // a short installation instruction&lt;br /&gt;
drwxr-xr-x  2 www-data www-data 4096 Dec  7 15:03 _config                        // this is where your config files are located&lt;br /&gt;
drwxr-xr-x 39 www-data www-data 4096 Nov 16 09:49 _extensions                    // this is the assortment of available extensions&lt;br /&gt;
drwxr-xr-x 24 www-data www-data 4096 Sep  9 12:45 _images                        // this is your image directory, almost empty after unpacking&lt;br /&gt;
drwxr-xr-x  6 www-data www-data 4096 Dec  3 09:50 _opt                           // this is where you find all auxilliary files&lt;br /&gt;
drwxr-xr-x  6 www-data www-data 4096 Oct 12 07:48 _skins                         // this is the assortment of available skins&lt;br /&gt;
lrwxrwxrwx  1 www-data www-data   17 Sep  9 12:45 mediawiki -&amp;gt; mediawiki-1.31.15 // a symbolic link to the current mediawiki core software&lt;br /&gt;
drwxr-xr-x 12 www-data www-data 4096 Sep 11 10:49 mediawiki-1.31.15              // the current mediawiki core software&lt;br /&gt;
drwxr-xr-x  2 www-data www-data 4096 Dec  9 10:16 php_temp                       // folder for temporary files and session data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Placing the config files, extensions, skins and uploaded files in directories parallel to the mediawiki software and not (as per default) inside it, has certain benefits:&lt;br /&gt;
* quicker access via shell&lt;br /&gt;
* tidies up the config files&lt;br /&gt;
* shared filebase accross different versions of mediawiki core&lt;br /&gt;
* easy way to upgrade the core&lt;br /&gt;
** especially as skins and extensions are mostly integrated as submodules, their paths would all have to be adjusted every time the core updates&lt;br /&gt;
* keep core and additional (user provided and defined) data separated&lt;br /&gt;
&lt;br /&gt;
However there is one drawback: When calling maintenance scripts in an extension directory, this will most probably fail. The script tries to &amp;quot;guess&amp;quot; the location of the mediawiki core by assuming it is in the correct relative position to the script. Since with our installation this isn't the case, the scripts returns an error. This however is easily remedied. Just set an environment variable via:&lt;br /&gt;
{{code|lang=bash|code=&lt;br /&gt;
export MW_INSTALL_PATH=/var/www/&amp;lt;wikiname&amp;gt;/mediawiki&lt;br /&gt;
}}&lt;br /&gt;
Choose the path according to your installation. You can do this in your server startup config or simply everytime you call a maintenance script. Which won't be that often. But we'll come back to this in a little while, we don't need it now.&lt;br /&gt;
&lt;br /&gt;
=== Core files ===&lt;br /&gt;
You can see that there is a folder named &amp;lt;code&amp;gt;mediawiki-1.nn.m&amp;lt;/code&amp;gt; that holds all core files from MediaWiki version ''1.nn.m''. There also is a symbolic link named &amp;lt;code&amp;gt;mediawiki&amp;lt;/code&amp;gt; pointing to that directory. This makes sure, that you don't have to edit your &amp;lt;code&amp;gt;apache.conf&amp;lt;/code&amp;gt; every time you update your core. Also, you can keep old core files as a precaution and only need to adjust the symbolic link.&lt;br /&gt;
&lt;br /&gt;
Your core directory however looks something like this (excerpt):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;io&amp;quot;&amp;gt;&lt;br /&gt;
-rw-r-----  1 www-data www-data   4159 Oct 11 09:47 api.php&lt;br /&gt;
-rw-r-----  1 www-data www-data 112767 Oct 11 09:47 autoload.php&lt;br /&gt;
drwxr-x---  2 www-data www-data   4096 Oct 11 09:47 cache&lt;br /&gt;
-rw-r-----  1 www-data www-data   2747 Oct 11 14:36 composer.json                                     // core composer.json file. comes bundled with the core software. you should not touch this&lt;br /&gt;
-rw-r-----  1 www-data www-data    102 Oct 11 09:47 composer.local.json-sample                        // sample for a composer.local.json file. use this for your customization&lt;br /&gt;
-rw-r-----  1 www-data www-data  92613 Oct 11 14:36 composer.lock&lt;br /&gt;
...&lt;br /&gt;
lrwxrwxrwx  1 www-data www-data     14 Oct 11 09:47 extensions -&amp;gt; ../_extensions                      // symbolic link to the directory, holding all extension files&lt;br /&gt;
...&lt;br /&gt;
-rw-r-----  1 www-data www-data     19 Dec  7 14:02 .htaccess -&amp;gt; .htaccess.operation                  // symbolic link to the .htaccess used according to the current mode&lt;br /&gt;
-rw-r-----  1 www-data www-data    945 Oct 11 09:47 .htaccess.maintenance                             // active in maintenance mode. blocks all access except from a certain subnet&lt;br /&gt;
-rw-r-----  1 www-data www-data    319 Oct 11 09:47 .htaccess.operation                               // active in operation mode. does url shortening&lt;br /&gt;
lrwxrwxrwx  1 www-data www-data     10 Oct 11 09:47 images -&amp;gt; ../_images                              // symbolic link to the directory, holding all uploaded files&lt;br /&gt;
...&lt;br /&gt;
lrwxrwxrwx  1 www-data www-data     28 Oct 11 09:47 LocalSettings.php -&amp;gt; ../_config/LocalSettings.php // symbolic link to LocalSettings.php in your _config directory&lt;br /&gt;
drwxr-x--- 17 www-data www-data  12288 Oct 20 10:54 maintenance                                       // here, mediawiki maintenance scripts are located&lt;br /&gt;
...&lt;br /&gt;
lrwxrwxrwx  1 www-data www-data     10 Oct 11 09:47 skins -&amp;gt; ../_skins/                               // symbolic link to the directory, holding all extension files&lt;br /&gt;
...&lt;br /&gt;
drwxr-x--- 25 www-data www-data   4096 Oct 11 14:36 vendor                                            // composer's vendor directory. created and filled by composer&lt;br /&gt;
-rw-r-----  1 www-data www-data     98 Oct 11 09:48 wiki.phtml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The script [[Project:Software features#get_new_version_going|get_new_version_going]] replaces the dirs/config file with smybolic links, creates the .htaccess files and copies your composer.local.json from your previous installation. It also runs [[#Composer|composer]] for you, if wanted.&lt;br /&gt;
&lt;br /&gt;
=== Configuration files ===&lt;br /&gt;
Here is an overview of all files in your &amp;lt;code&amp;gt;_config&amp;lt;/code&amp;gt; directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;io&amp;quot;&amp;gt;&lt;br /&gt;
-rw-r-----  1 www-data www-data  4192 Dec  6 12:37 LocalSettings_acls.php                       // here, user permissions are bundled into 5 (6) available roles&lt;br /&gt;
-rw-r-----  1 www-data www-data  4192 Dec  6 12:37 LocalSettings_base.php                       // base configuration settings, applicable to all projects&lt;br /&gt;
-rw-r-----  1 www-data www-data  6633 Dec  6 12:59 LocalSettings_extensions.php                 // the globally installed extensions, available across all projects&lt;br /&gt;
-rw-r-----  1 www-data www-data  3498 Dec  6 12:15 LocalSettings_host.php                       // host specific configuration settings. MANDATORY&lt;br /&gt;
-rw-r-----  1 www-data www-data  2981 Oct 11 09:48 LocalSettings_host.sample.php                // template for your host config file&lt;br /&gt;
-rw-r-----  1 www-data www-data 11521 Dec  6 12:39 LocalSettings_LDAPHub.php                    // holds all settings and extension calls for LDAP authentication&lt;br /&gt;
-rw-r-----  1 www-data www-data 10011 Dec  6 13:10 LocalSettings.php                            // original config file, only augmented by loading of additional config&lt;br /&gt;
-rw-r-----  1 www-data www-data  5400 Nov 10 15:09 LocalSettings_project.php                    // all project specific settings &lt;br /&gt;
-rw-r-----  1 www-data www-data  3392 Dec  6 12:40 LocalSettings_project_extensions.php         // project extensions and project specific extension settings.&lt;br /&gt;
                                                                                                // not included in master branch. OPTIONAL FILE&lt;br /&gt;
-rw-r-----  1 www-data www-data  3392 Dec  6 12:40 LocalSettings_project_extensions.sample.php  // template for your project_extensions.php file.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Loading order ====&lt;br /&gt;
# LocalSettings.php&lt;br /&gt;
# LocalSettings_base.php&lt;br /&gt;
# LocalSettings_acls.php&lt;br /&gt;
# LocalSettings_extensions.php&lt;br /&gt;
# LocalSettings_project.php&lt;br /&gt;
# LocalSettings_project_extensions.php&lt;br /&gt;
# LocalSettings_host.php&lt;br /&gt;
# LocalSettings_LDAPHub.php&lt;br /&gt;
# LocalSettings_maintenance.php&lt;br /&gt;
&lt;br /&gt;
Note that once an extension is loaded in one of the config files it can not be unloaded. Also: an extension normally initializes its config settings, so trying to configure an extension before it is loaded usually fails. However, you can overwrite any config settings in one of the subsequently loaded config files.&lt;br /&gt;
&lt;br /&gt;
==== LocalSettings.php ====&lt;br /&gt;
The config file &amp;quot;shipped&amp;quot; with the distribution. Augmented by loading of all other config files. '''You should not edit this file!'''&lt;br /&gt;
&lt;br /&gt;
==== LocalSettings_base.php ====&lt;br /&gt;
This contains all the changes to the basic settings, setting some defaults that are used in all projects. '''You should not edit this file!'''&lt;br /&gt;
&lt;br /&gt;
==== LocalSettings_acls.php ====&lt;br /&gt;
Provides you with some sample roles, you can set your groups to. How this is done is shown in [[#LocalSettings_project.php|LocalSettings_project.php]]. Available roles are:&lt;br /&gt;
* &amp;lt;code&amp;gt;$imtDefaultRoleReader&amp;lt;/code&amp;gt;: Only has read permissions, '''cannot''' edit his own user page, preferences, info or watchlist.&lt;br /&gt;
* &amp;lt;code&amp;gt;$imtDefaultRoleContributor&amp;lt;/code&amp;gt;: Can also create and edit pages (including his own user page, , preferences, info and watchlist). No access to gardening operations&lt;br /&gt;
* &amp;lt;code&amp;gt;$imtDefaultRoleCurator&amp;lt;/code&amp;gt;: Also has access to gardeing operations like move, delete, rename pages, including permission to use the help namespace&lt;br /&gt;
* &amp;lt;code&amp;gt;$imtDefaultRoleDeveloper&amp;lt;/code&amp;gt;: Also has access to the mediawiki, module, and template namespace.&lt;br /&gt;
* &amp;lt;code&amp;gt;$imtDefaultRoleAdministrator&amp;lt;/code&amp;gt;: Holds permissions to powerful operations like mass delete, block users, edit user css and js pages and so on&lt;br /&gt;
* &amp;lt;code&amp;gt;$imtDefaultRoleMaintenancebot&amp;lt;/code&amp;gt;: This is only used for bots. Its permissions are based on the curator role with some special settings needed for script operations.&lt;br /&gt;
&lt;br /&gt;
'''This file should not be edited.''' You can use the roles in your project or host file and even customize them there.&lt;br /&gt;
&lt;br /&gt;
==== LocalSettings_extensions.php ====&lt;br /&gt;
This one loads and configures all base extensions that are available throughout your projects. '''Please do not edit here!'''. If you want to load additional extensions, please use &amp;lt;code&amp;gt;LocalSettings_extensions_project.php&amp;lt;/code&amp;gt;. You can overwrite the base extensions' settings there also. A noteable exception are extensions loaded by [[#Composer|composer]].&lt;br /&gt;
&lt;br /&gt;
==== LocalSettings_project.php ====&lt;br /&gt;
Here you set your project specifics. You can find comments for every suggested setting in the file, but of course you are not limited to them. Feel free to add all the mediawiki config settings you need. Also configure access rights here. Refrain from including extensions though, since then some [[Project:Software features#Helper scripts|Helper scripts]] will fail. Use [[#LocalSettings_extensions_project.php|LocalSettings_extensions_project.php]] instead.&lt;br /&gt;
&lt;br /&gt;
{{collapse top|title=Template &amp;lt;code&amp;gt;LocalSettings_project.php&amp;lt;/code&amp;gt;}}&lt;br /&gt;
{{code|lang=php|line=1|code=&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    # ***************************** NOTE *****************************&lt;br /&gt;
    # this is a special config file for all project specific defaults&lt;br /&gt;
    # especially general acl and namespace definitions are to be found&lt;br /&gt;
    # here.&lt;br /&gt;
    #&lt;br /&gt;
&lt;br /&gt;
    ## Sitespecific information:&lt;br /&gt;
    # Name of Site (and Project space)&lt;br /&gt;
    # place your project sitename here. overwrite on dev or staging, using LocalSettings_host.php&lt;br /&gt;
    $wgSitename = &amp;quot;YOURSITENAME&amp;quot;;&lt;br /&gt;
    $wgMetaNamespace = &amp;quot;Projekt&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    # Server name&lt;br /&gt;
    # The protocol and server name for your project to use in fully-qualified URLs&lt;br /&gt;
    # you should configure the service url of your project here, e.g. https://project.uni-paderborn.de&lt;br /&gt;
    # if you are on staging or dev, overwrite in LocalSettings_host.php&lt;br /&gt;
    $wgServer = &amp;quot;https://yourproject.domain&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    # Contact adresses&lt;br /&gt;
    $wgEmergencyContact = &amp;quot;webmaster@uni-paderborn.de&amp;quot;; // one of your email accounts&lt;br /&gt;
    $wgPasswordSender = &amp;quot;webmaster@uni-paderborn.de&amp;quot;;   // one of your email accounts&lt;br /&gt;
&lt;br /&gt;
    # Site language code, should be one of the list in ./languages/Names.php&lt;br /&gt;
    $wgLanguageCode = &amp;quot;de&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    # The relative URL path to the logo. Make sure you change this from the default,&lt;br /&gt;
    # or else you'll overwrite your logo when you upgrade!&lt;br /&gt;
    # on dev or staging, overwrite in LocalSettings_host.php&lt;br /&gt;
    # note: the logo should have a size of 135x135&lt;br /&gt;
    #$wgLogo = &amp;quot;$wgStylePath/common/images/wiki.png&amp;quot;;&lt;br /&gt;
    #$wgLogo = &amp;quot;/images/f/f4/MyUploadedLogo.png&amp;quot;;   # when using an uploaded image&lt;br /&gt;
    #$wgLogo = &amp;quot;/img_auth.php/f/f4/MyUploadedLogo.png&amp;quot;; # when using img_auth.pgp (see below)&lt;br /&gt;
    $wgLogo = &amp;quot;$wgScriptPath/images/common/logo.jpg&amp;quot;;   // we recommend storing your wikilog in _images/common&lt;br /&gt;
&lt;br /&gt;
    # since 1.25, we also have the opportunity to add a hd logo;&lt;br /&gt;
    # currently 1.5x and 2x are supported (meaning 2x logo can have 270x270)&lt;br /&gt;
    #$wgLogoHD = array(&lt;br /&gt;
    #   &amp;quot;1.5x&amp;quot; =&amp;gt; &amp;quot;path/to/1.5x_version.png&amp;quot;,&lt;br /&gt;
    #   &amp;quot;2x&amp;quot; =&amp;gt; &amp;quot;path/to/2x_version.png&amp;quot;&lt;br /&gt;
    #);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ## File handling&lt;br /&gt;
    # To enable image uploads, make sure the 'images' directory&lt;br /&gt;
    # is writable, then set this to true:&lt;br /&gt;
    $wgEnableUploads = true;&lt;br /&gt;
&lt;br /&gt;
    # for handling files via img_auth, uncomment the following line and set $wgUploadDirectory&lt;br /&gt;
    #$wgUploadPath = &amp;quot;$wgScriptPath/img_auth.php&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    # when using img_auth.php, you can specify a different file directory.&lt;br /&gt;
    # remember: this must be within apache's open_basedir, but not necessary below DOCUMENT_ROOT&lt;br /&gt;
    #$wgUploadDirectory = '/var/www/&amp;lt;yourwikiname&amp;gt;/_images'&lt;br /&gt;
&lt;br /&gt;
    # default allowed file extensions are: .gif, .jpg, .jpeg, .png&lt;br /&gt;
    # you can specify more here:&lt;br /&gt;
    $wgFileExtensions[] = &amp;quot;svg&amp;quot;;&lt;br /&gt;
    $wgFileExtensions[] = &amp;quot;pdf&amp;quot;;&lt;br /&gt;
    #$wgFileExtensions[] = &amp;quot;tif&amp;quot;&lt;br /&gt;
    #$wgFileExtensions[] = &amp;quot;tiff&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    ## The protocol and server name to use in fully-qualified URLs&lt;br /&gt;
    $wgServer = &amp;quot;https://&amp;quot;.$xgNameLocalhost;            // DO NOT TOUCH&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ## Database settings&lt;br /&gt;
    $wgDBtype = &amp;quot;mysql&amp;quot;;&lt;br /&gt;
    $wgDBserver = &amp;quot;localhost&amp;quot;;&lt;br /&gt;
    $wgDBname = &amp;quot;DBNAME&amp;quot;;&lt;br /&gt;
    $wgDBuser = &amp;quot;DBUSER&amp;quot;;&lt;br /&gt;
    #$wgDBpassword = &amp;quot;DBPASSWD&amp;quot;;    # set in LocalSettings_host.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ## some secret keys&lt;br /&gt;
    # Note: $wgSecretKey: [0-9a-z]{64}&lt;br /&gt;
    #$wgSecretKey = &amp;quot;4207ee50e0e84aad131214b2ede66f206ca3b94a00fbecc3b25c62e4e38a96c9&amp;quot;; # set in LocalSettings_host.php&lt;br /&gt;
&lt;br /&gt;
    # Site upgrade key. Must be set to a string to turn on the&lt;br /&gt;
    # web installer while LocalSettings.php is in place&lt;br /&gt;
    # Note: if you want web updates set $wgUpgradeKey to a random string [0-9a-z]{16}&lt;br /&gt;
    $wgUpgradeKey = false;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ## Namespace configuration&lt;br /&gt;
    # including new definition of access rights that have to be assigned to these role arrays:&lt;br /&gt;
    # $imtDefaultRoleContributor, $imtDefaultRoleCurator, $imtDefaultRoleDevelope, $imtDefaultRoleAdministrator, or $imtDefaultRoleMaintenancebot&lt;br /&gt;
    #define(&amp;quot;NS_META&amp;quot;, 3500);&lt;br /&gt;
    #define(&amp;quot;NS_META_TALK&amp;quot;, 3501);&lt;br /&gt;
    #$wgExtraNamespaces[NS_META] = &amp;quot;Meta&amp;quot;;&lt;br /&gt;
    #$wgExtraNamespaces[NS_META_TALK] = &amp;quot;Meta_talk&amp;quot;;    # NOTE: It is important to use a underscore in namespace name&lt;br /&gt;
    #$wgNamespacesWithSubpages[NS_META] = true;&lt;br /&gt;
    #$wgNamespaceProtection[NS_META] = array( 'write_in_NS_META' );&lt;br /&gt;
    #$imtDefaultRoleContributor[&amp;quot;write_in_NS_META&amp;quot;] = true;&lt;br /&gt;
    #$imtDefaultRoleCurator[&amp;quot;write_in_NS_META&amp;quot;] = true;&lt;br /&gt;
    #$imtDefaultRoleDeveloper[&amp;quot;write_in_NS_META&amp;quot;] = true;&lt;br /&gt;
    #$imtDefaultRoleAdministrator[&amp;quot;write_in_NS_META&amp;quot;] = true;&lt;br /&gt;
&lt;br /&gt;
    ## Access control&lt;br /&gt;
    # public or not&lt;br /&gt;
    # by default, content can only be viewed after a successful login&lt;br /&gt;
    # with this setting, however, your wiki is free to READ for all:&lt;br /&gt;
    #$wgGroupPermissions['*'] =&amp;amp; $imtDefaultRoleReader;&lt;br /&gt;
    # if you configured the use of img_auth above, you also have to uncomment this:&lt;br /&gt;
    #$wgImgAuthPublicTest = false;&lt;br /&gt;
&lt;br /&gt;
    # access roles: you can assign default roles or use an array with custom rights&lt;br /&gt;
    # default roles are: $imtDefaultRoleContributor, $imtDefaultRoleCurator, $imtDefaultRoleDeveloper, $imtDefaultRoleAdministrator, or $imtDefaultRoleMaintenancebot&lt;br /&gt;
    # note:&lt;br /&gt;
    # * 'user' (the group of authenticated user) already has the role contributor&lt;br /&gt;
    # * 'imt-mediawiki-maintenance' (ldap bot accounts) already has the role maintenancebot&lt;br /&gt;
    # also remember: an ldap group used here must have the ldap group attribute 'Wiki Gruppe'&lt;br /&gt;
    #$wgGroupPermissions['sample group'] =&amp;amp; $imtDefaultRoleAdministrator;&lt;br /&gt;
&lt;br /&gt;
    # you can restrict login to a list of groups (each of which has its users added to wiki group 'user' automatically)&lt;br /&gt;
    #$imtGrantAccessRoles = array( 'sample_group' );&lt;br /&gt;
&lt;br /&gt;
    # you can also deny access for a list of groups&lt;br /&gt;
    # remember: an ldap group used here also must have the ldap group attribute 'Wiki Gruppe'&lt;br /&gt;
    #$imtDenyAccessRoles = array( 'blacklist_group' );&lt;br /&gt;
?&amp;gt;}}&lt;br /&gt;
{{Collapse bottom}}&lt;br /&gt;
&lt;br /&gt;
For more information on how to customize your project software, please see [[Project:Software customization|Software customization]]. If you have more than one host on your project (e.g. you cluster your hosts, or have a live, staging and dev system), they all should use the same &amp;lt;code&amp;gt;LocalSettings_project.php&amp;lt;/code&amp;gt; file. Individualize your hosts in &amp;lt;code&amp;gt;LocalSettings_host.php&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LocalSettings_project_extensions.php ====&lt;br /&gt;
This one loads and configures all project specifix extensions. In branch master, this file is not included. Use &amp;lt;code&amp;gt;LocalSettings_project_extensions.php.sample&amp;lt;/code&amp;gt; to create one if needed. This is not necessary for normal operations, though. Again, noteable exceptions are extensions loaded by [[#Composer|composer]].&lt;br /&gt;
&lt;br /&gt;
==== LocalSettings_host.php ====&lt;br /&gt;
Here you configure all host specific settings like db credentials, or secret hash key. If this is a staging host, this is the place to overwrite your &amp;lt;code&amp;gt;$wgServer&amp;lt;/code&amp;gt; and maybe your access control. Refrain from including extensions here, since then some [[Project:Software features#Helper scripts|Helper scripts]] will fail.&lt;br /&gt;
&lt;br /&gt;
{{collapse top|title=Template &amp;lt;code&amp;gt;LocalSettings_host.php&amp;lt;/code&amp;gt;}}&lt;br /&gt;
{{code|lang=php|line=1|code=&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    # ***************************** NOTE *****************************&lt;br /&gt;
    # This is a special config file for all host specific settings&lt;br /&gt;
    # like database, sitename, secret key, etc.&lt;br /&gt;
    #&lt;br /&gt;
    # For configurations settings that are valid for your whole&lt;br /&gt;
    # project, see LocalSettings_project.php&lt;br /&gt;
    #&lt;br /&gt;
    # See includes/DefaultSettings.php for all configurable settings&lt;br /&gt;
    # and their default values, but don't forget to make changes in _this_&lt;br /&gt;
    # file, not there.&lt;br /&gt;
    #&lt;br /&gt;
    # Further documentation for configuration settings may be found at:&lt;br /&gt;
    # https://www.mediawiki.org/wiki/Manual:Configuration_settings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # Protect against web entry&lt;br /&gt;
    if ( !defined( 'MEDIAWIKI' ) ) {&lt;br /&gt;
        exit;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ## Maintenance mode&lt;br /&gt;
    ###################&lt;br /&gt;
    # This sets your project in maintenance mode. Can also be set in LocalSettings_maintenance.php&lt;br /&gt;
    #$wgReadOnly = 'Down for maintenance, access will be restored shortly';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ## Caching&lt;br /&gt;
    ##########&lt;br /&gt;
    # is per default active. you maybe want to disable this on dev or staging systems&lt;br /&gt;
    #$wgMainCacheType = CACHE_NONE;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ## Sitespecific information:&lt;br /&gt;
    ############################&lt;br /&gt;
    # Name of Site (and Project space).&lt;br /&gt;
    # Default for project is found in LocalSettings_project.php; overwrite in project or staging here&lt;br /&gt;
    #$wgSitename = $wgSitename . &amp;quot; - staging&amp;quot;;&lt;br /&gt;
    #$wgMetaNamespace = &amp;quot;Projekt&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    # The protocol and server name to use in fully-qualified URLs&lt;br /&gt;
    # Default for project is found in LocalSettings_project.php; overwrite in project or staging here&lt;br /&gt;
    #$wgServer = &amp;quot;https://yourhostname.domain&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    # note, that if you're running semantics, uncomment this and specify your host (w/o protocoll) again&lt;br /&gt;
    #enableSemantics( &amp;quot;yourhostname.domain&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
    # The relative URL path to the logo. Make sure you change this from the default,&lt;br /&gt;
    # Default for project is found in LocalSettings_project.php; overwrite in project or staging here&lt;br /&gt;
    #$wgLogo = &amp;quot;$wgScriptPath/images/common/logo.jpg&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    # Contact adresses&lt;br /&gt;
    # Default for project is found in LocalSettings_project.php; overwrite in project or staging here&lt;br /&gt;
    #$wgEmergencyContact = &amp;quot;webmaster@uni-paderborn.de&amp;quot;; // one of your email accounts&lt;br /&gt;
    #$wgPasswordSender = &amp;quot;webmaster@uni-paderborn.de&amp;quot;;   // one of your email accounts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ## some secrets&lt;br /&gt;
    ###############&lt;br /&gt;
    # db password&lt;br /&gt;
    $wgDBpassword = &amp;quot;DBPASSWD&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    # secret session fallback hash&lt;br /&gt;
    # Note: $wgSecretKey: [0-9a-z]{64}&lt;br /&gt;
    $wgSecretKey = &amp;quot;4207ee50e0e84aad131214b2ede66f206ca3b94a00fbecc3b25c62e4e38a96c9&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    # Changing this will log out all existing sessions.&lt;br /&gt;
    $wgAuthenticationTokenVersion = &amp;quot;1&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ## debug&lt;br /&gt;
    ########&lt;br /&gt;
#   error_reporting(E_ALL);&lt;br /&gt;
#   ini_set (&amp;quot;display_errors&amp;quot;, &amp;quot;1&amp;quot;);&lt;br /&gt;
#   $wgShowExceptionDetails = true;&lt;br /&gt;
#   $wgMainCacheType = CACHE_NONE;&lt;br /&gt;
#   $wgDebugToolbar = true;&lt;br /&gt;
##  $wgShowDebug = true;&lt;br /&gt;
#   $wgDevelopmentWarnings = false;&lt;br /&gt;
##  $wgShowSQLErrors = true;&lt;br /&gt;
##  $wgDebugDumpSql = true;&lt;br /&gt;
##  $wgShowDBErrorBacktrace = true;&lt;br /&gt;
#   $wgDebugLogFile = $wgTmpDirectory . &amp;quot;/project-debug.log&amp;quot;;&lt;br /&gt;
##  Lua debug log file is to be configured in LocalSettings_extensions.php&lt;br /&gt;
?&amp;gt;}}&lt;br /&gt;
{{Collapse bottom}}&lt;br /&gt;
&lt;br /&gt;
For more information on how to customize your project software on a per host basis, please see [[Project:Software customization|Software customization]]. Note that this file is gitignore-d by default, so changes here will not show up on &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== LocalSettings_LDAPHub.php ====&lt;br /&gt;
Contains all config settings and Extension inclusions for LDAP and KRB authentication to work.&lt;br /&gt;
&lt;br /&gt;
==== LocalSettings_maintenance.php ====&lt;br /&gt;
This file is not bundled in your software package and normally not present. Some scripts create this file on demand, you yourself can create if need be. This normally contains temporary settings like maintenance mode or acl overwrites. '''Please refrain from using the closing &amp;lt;code&amp;gt;?&amp;amp;gt;&amp;lt;/code&amp;gt;!'''&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
Your &amp;lt;code&amp;gt;_extensions&amp;lt;/code&amp;gt; directory contains all available extensions. Most of them are included as submodules, so they can easily be updated via git. Again, the noteable exception being the [[#Composer|composer]] extensions. Also there are a handful of old or customized extensions that are stored directly in the master branch.&lt;br /&gt;
&lt;br /&gt;
=== Skins ===&lt;br /&gt;
In the &amp;lt;code&amp;gt;_skins&amp;lt;/code&amp;gt; directory you can find all available skins for your project. Select and configure them in your config files.&lt;br /&gt;
&lt;br /&gt;
=== Auxilliary files ===&lt;br /&gt;
In &amp;lt;code&amp;gt;/_opt&amp;lt;/code&amp;gt; you can find a bunch of additional files. These are not required for your installation to work, but provide some additional capabilities. See [[Project:Software features]] for more information.&lt;br /&gt;
&lt;br /&gt;
== Logging ==&lt;br /&gt;
Some scripts dump informational output to a central log file. This is located in &amp;lt;code&amp;gt;/var/log/&amp;lt;project&amp;gt;.log&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Composer ==&lt;br /&gt;
{{ambox|type=notice|text=Normally, you should not need be concerned about composer. All mediawiki composer components necessary to run your project are included in the repo. Additional composer extensions are probably provided in your project feature branch.}}&lt;br /&gt;
Since mediawiki 1.25 some components of the core software are managed by composer. There is a &amp;lt;code&amp;gt;composer.json&amp;lt;/code&amp;gt; file located in the software core directory that manages all of that. '''Don't edit this file unless you know exactly what you are doing!'''&lt;br /&gt;
&lt;br /&gt;
Problem is that if you install an extension via the recommended &amp;lt;code&amp;gt;composer require &amp;amp;lt;extension&amp;amp;gt;&amp;lt;/code&amp;gt; command, composer automatically edits the composer.json file. On next core update, these changes are lost. The suggested way is [https://www.mediawiki.org/wiki/Composer#Using_composer-merge-plugin documented here]. So please generate a &amp;lt;code&amp;gt;composer.json-local&amp;lt;/code&amp;gt; file (you can use the [[#Core_files|composer.json-local.sample]]) and maintain it manually. Your composer command to actually install it is &amp;lt;code&amp;gt;composer update&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>imported&gt;Oetterer</name></author>
	</entry>
</feed>