Handleiding:LocalSettings.php

This page is a translated version of the page Manual:LocalSettings.php and the translation is 100% complete.
Waarschuwing Waarschuwing: Gebruik geen programma's als Notepad (op Windows 10 Versie 1809 of ouder) of TextEdit om LocalSettings.php te wijzigen. Deze programma's en andere tekstverwerkers voegen een byte order markering toe aan het bestand. Daar loopt PHP op stuk. Gebruik een tekstverwerker als Vim of Notepad++. Deze doen de goede encoding van het bestand. Met deze programma's kunt u ook bestanden repareren die eerder beschadigd zijn geraakt.

Het bestand LocalSettings.php bevat configuratie-instellingen voor een MediaWiki-installatie. U zou de tijd moeten nemen om een kijkje te nemen in dit bestand. Dit bestand wordt aangemaakt door het webgebaseerde MediaWiki installatieprogramma, maar u kunt zelf ook de instellingen aanpassen, ook voor bijvoorbeeld de Apache-instellingen. Voor installaties die worden gebruikt voor een wikifamilie, zou een bestand met de naam CommonSettings.php gebruikt kunnen worden.

Waar op de server te vinden

Het bestand LocalSettings.php is geen wikipagina, het is niet beschikbaar in uw webbrowser. Het is een bestand op de server. De inhoud wordt aangemaakt bij de eerste keer instellen van de wiki, het aangemaakte bestand moet handmatig naar de server worden overgezet. Het bestand moet komen te staan in de map waarin MediaWiki is geïnstalleerd, op hetzelfde niveau als de mappen includes/, skins/ en bestanden als api.php. Als dit bestand daar niet staat zal de wiki helemaal niet werken. Als u niet weet waar het bestand staat, dan kunt u met find / -iname LocalSettings.php -print zoeken.

(Als u Vagrant gebruikt: lees dan ook dit.)

Veiligheid

Dit bestand LocalSettings.php bevat meestal privégegevens zoals wachtwoorden voor databasetoegang. Deze gegevens mogen nooit openbaar worden gemaakt! Door een mogelijk veiligheidslek zou het kunnen gebeuren dat andere gebruikers de inhoud van bestanden kunnen bekijken. Om uw gegevens beter te beveiligen zou u de UNIX rechten voor dit bestand als volgt moeten instellen: De webserver gebruiker moet toegang tot dit bestand hebben. Als dit account ook de eigenaar is dan kunnen de rechten op 600 worden gezet. Soms is de webserver gebruiker niet de eigenaar van het bestand, maar is die wel ingedeeld in UNIX gebruikersgroep die eigenaar is. In dat geval zouden de rechten 640 moeten voldoen. Hoe minder rechten dan noodzakelijk, hoe beter de beveiliging is.

U kunt daarnaast ook een databasegebruiker aanmaken welke alleen toegang heeft tot de database gebruikt door de wiki, en de gegevens van deze gebruiker toe te voegen aan de LocalSettings.php. Als laatste kunt u uw databaseserver ook zo aanpassen dat deze alleen verbindingen accepteert vanaf localhost (de server waarop uw databasesoftware runt) - hierdoor zal men geen toegang tot de data krijgen mochten de gegevens van de databasegebruiker gelekt worden.

Lees Manual:Securing database passwords voor het verplaatsen van gevoelige delen van van LocalSettings.php naar een ander bestand in een andere map.

Inhoud

Als u LocalSettings.php aanpast, moet de tekencodering tijdens het opslaan hetzelfde blijven. U moet de codering "ANSI/UTF-8" gebruiken, hierdoor wordt de LocalSettings.php opgeslagen zonder een byte order mark (BOM).

LocalSettings.php bevat PHP-code - voor het grootste deel krijgt een variabele data toegewezen. Het veranderen van een instelling betekent meestal het veranderen van een PHP-variabele. Nadat u een nieuwe versie van het bestand heeft opgeslagen, worden de wijzigingen gelijk waargenomen door de server. Er hoeft niks opnieuw opgestart te worden, alhoewel het in sommige gevallen wel mogelijk is dat u de cache van uw webbrowser moet legen om de veranderingen die u heeft gemaakt te zien.

Veel variabelen (instellingen) zijn al ingesteld in includes/DefaultSettings.php, dit bestand moet niet worden bewerkt. Als u de waarde van een variabele wilt veranderen (deze variabele hoeft niet al in de LocalSettings.php te staan), moet dat gebeuren in de DefaultSettings.php. In de LocalSettings.php kunt u de variabele toevoegen op een nieuwe regel helemaal onderaan. In LocalSettings.php kunt u regels aan het eind toevoegen.

Er kunnen ook verschillende regels zijn die code bevatten welke lijkt op 'require_once "$IP/extensions/extension.php";', wat verwijst naar extensies. Deze stukjes code zijn voor het inschakelen van de extensie op de wiki. Deze extensies kunnen afhankelijk zijn van bepaalde PHP-variabelen in LocalSettings.php, neem alstublieft de documentatie door van deze extensies voor instructies.

Zoals de meeste bestanden in MediaWiki mag uw LocalSettings.php niet eindigen met een PHP-sluittag ?>. Dit is gedaan zodat men niet per ongeluk PHP-code neerzet onder de sluittag. Daarnaast zal PHP goed blijven functioneren zonder sluittag.

Als u een wiki op een MediaWiki wikifamilie heeft, is het mogelijk dat nu geen schrijftoegang (of leestoegang) heeft tot het bestand LocalSettings.php (o.a. [1]). De beslissing of uw gewenste instellingen wel of niet zullen worden toegevoegd aan dit bestand ligt dan bij de systeembeheerders van de wikifamilie, het is goed mogelijk dat zij de meeste instellingen op alle wiki's gelijk willen houden.

Het bestand wordt om veiligheidsredenen niet automatisch aangemaakt op de webserver. Meestal kunt u het downloaden en dient u het zelf te uploaden naar de webserver voordat u de wiki kunt gebruiken. Uitleg

Lijst van beschikbare instellingen

Zie deze categorie (en de bijbehorende opmerkingen) voor meer informaties wat alle beschikbare instellingen doen. Een verkorte lijst van de meest belangrijke instellingen (en de meestgebruikte instellingen) staat hieronder.

Standaardinstellingen

Installatie pad

De variabele $IP (installatie pad) bevat het lokale bestandspad naar de map waar de installatie van uw wiki staat. De waarde van $IP wordt sinds MediaWiki 1.18 automatisch gezet. Het handmatig zetten van $IP in LocalSettings.php is dus niet nodig. $IP zal standaard naar de huidige werkmap gaan en het kan gebruikt worden zonder het handmatig te definiëren. Een poging om $IP (of MW_INSTALL_PATH) in LocalSettings.php in te stellen, kan onverwachte resultaten opleveren.

Het bestand DefaultSettings.php wordt geladen uit de map aangegeven door de variabele IP.

Websitenaam

De variabele $wgSitename bevat de naam van uw wiki. Deze naam is veelgebruikt in MediaWiki, zoals op MediaWiki:Pagetitle. De Wikipedia tagline "Uit Wikipedia, de vrije encyclopedie" maakt ook gebruik van deze instelling.

Wijzigingen van de websitenaam

Het vertalen van de interface kan gevolgen hebben voor de websitenaam. U kunt goede namen in variabelen $wgGrammarForms zetten (Voorbeeld op de documentatie-pagina van $wgSitename ).

Taal

$wgLanguageCode geeft de standaardtaal van uw wiki interface aan. Gebruikers kunnen de taal waarin ze willen werken in de eigen Voorkeuren instellen, deze variabele zet de standaardtaal die alle anonieme gebruikers en de geregistreerde gebruikers zullen zien.

Scriptpad

$wgScriptPath is de prefix van de URL voor het benaderen van de het MediaWiki hoofdscript dat de centrale regelaar is in de MediaWiki. Deze instelling moet overeenkomen met de Apache instellingen, vooral als u de rewrite regels van Apache gebruikt.

Servernaam

$wgServer bevat de basis URL van de server, inclusief het protocol maar zonder de slash achteraan en ook zonder eventuele submap. Als de wiki benadert van de localhost waarop het draait of via intranet / internet, worden e-mail notificaties en wat andere automatische berichten verstuurd met verschillende URL's.

Vanaf MediaWiki 1.34 moet $wgServer worden gezet in LocalSettings.php. In eerdere versie probeerde MediaWiki zelf de naam van de server te herkennen en was $wgServer optioneel, het overschreef dan wat herkend was.

Als het serveradres van uw wiki op het internet www.example.com is, voeg dan toe:

$wgServer = 'http://www.example.com';

Het magische woord variabele {{SERVER}} kan op wiki pagina's worden gebruikt, het heeft de waarde $wgServer. Echter op een wiki, zoals in een Wikimedia familie, waar relatieve paden worden gebruikt, zal het niet volledig aangevoegd worden. Het zal //www.mediawiki.org tonen, wat geen link is.

U kunt ook een protocol relatieve URL gebruiken, dat staat hieronder. Wanneer u een relatieve URL van het protocol gebruikt, moet u $wgCanonicalServer instellen. $wgCanonicalServer is nodig op sommige plaatsen in de code waar een bron met een protocol en hostnaam nodig is.

$wgServer = '//www.example.com';
$wgCanonicalServer = 'https://www.example.com';

Scriptnaam

$wgScript is de naam van het (index) MediaWiki PHP script, met standaard de naam index.php. Het wijzigen van de scriptnaam is waarschijnlijk geen goed idee. U kunt het hier wel aanpassen, als het dan echt moet en u weet zelf waarom dat dan zou moeten.

Artikelpad

$wgArticlePath is het te gebruiken pad bij het benaderen van een pagina op de MediaWiki. Het bevat het pad naar het hoofdscript (meestal met gebruik van $wgScript), de placeholder $1 wordt vervangen door de artikelnaam.

Als u de Apache rewrite regels gebruikt om korte URL's te maken, dan moet u mogelijk $wgArticlePath instellen om het goede pad aan te geven. wgArticlePath wordt gebruikt om de URL's te maken binnen de MediaWiki. als u daarbij een foutje maakt, dan zullen interne links verkeerd worden getoond, maar u kunt nog wel de hoofdpagina bereiken door de goede URL handmatig aan te geven. Meer informatie over URL-configuratie: Handleiding:Korte URL .

Typische waarden zijn:

"$wgScript/$1" geeft de artikelnaam met het scheidingsteken "/"
"$wgScript?title=$1" geeft de artikelnaam als een parameter (oude stijl)
"/mypath/$1" aangepast pad. Met Apache rewrite regels wordt "mypath" omgezet in een echt pad om het hoofdscript te benaderen

Stylesheet locatie

Gebruik $wgStylePath voor het instellen van het URL-pad naar de stylesheets (CSS) van de MediaWiki installatie. $wgStyleDirectory dient naar dezelfde plek te verwijzen, dit is echter een pad op een lokaal bestandssysteem, het wordt gebruikt door interne scripts.

Upload map

De map upload is de plek waar de bestanden die geüpload worden door gebruikers worden opgeslagen. $wgUploadPath is het URL pad, $wgUploadDirectory is het lokale systeempad voor de bestanden.

$wgLogo geeft aan welk grafisch logo er in de linkerbovenhoek wordt getoond op alle MediaWiki pagina's. Deze stappen vervangen het standaardlogo in de map /wiki/skins/common/images/. Vervang hier /wiki met het pad waar u de MediaWiki software heeft geïnstalleerd.

Begin met het kopiëren van het nieuwe logo naar de map /wiki/skins/common/images/ (vervang /wiki met het pad waar de MediaWiki is geïnstalleerd).

Zoek vervolgens de regel op die er ongeveer zo uit ziet in bestand LocalSettings.php:

$wgLogo = "$wgStylePath/common/images/wiki.png";

Als er niet een dergelijke regel is, kopieer de bovenstaande regel dan en voeg die onderaan toe.

Wijzig daarna de regel die naar uw logo verwijst. Dit logo moet door via het web te benaderen zijn. Bij twijfel wat hier in te vullen, ga in uw webbrowser naar het bestand toe (op deze wiki is de URL van het logo http://upload.wikimedia.org/wikipedia/mediawiki/b/bc/Wiki.png ), en zet de volledige URL in dit veld.

Soms vervangt men het bestand skins/common/images/wiki.png door een eigen bestand. Dat is niet de goede manier, omdat dan bij de eerstvolgende upgrade het oorspronkelijke bestand van de logo wordt teruggezet.

In MediaWiki 1.35 is $wgLogos toegevoegd, daarmee zijn er sindsdien meerdere versies van hetzelfde logo mogelijk. Onderstaand een voorbeeld met gebruik van meerdere logo's.

$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

$wgEmergencyContact is het e-mailadres van de gebruiker die benaderd moet worden bij problemen. Als u een intern foutrapport wilt sturen, doe dat dan naar dit adres. Als beheerder kunt u uw e-mailadres hieraan toevoegen.

$wgPasswordSender is het e-mailadres van waar e-mail wordt verzonden (Van), indien wachtwoorden moeten worden verzonden naar elke gebruiker die het eigen wachtwoord is vergeten. Sta toe dat er ook een reactie op een verzonden e-mail kan worden gedaan voor het geval de gebruiker vragen heeft.

Databaseinstellingen

MediaWiki heeft toegang tot de database (MySQL of PostgreSQL) nodig, voor opslaan pagina's, bewerkingen, gebruikersinformatie, enz.

$wgDBserver bevast de naam van de host waar de database op staat. Het kan "localhost" zijn als de database op dezelfde server als de applicatie. Bij een gedistribueerde installatie dient de volledige domeinnaam te worden worden ingevuld van de computer waarop de database staat.

$wgDBname is de databasenaam van de database die MediaWiki moet gebruiken. Een MySQL of PostgreSQL installatie kan meerdere databases bevatten, er kunnen op een server ook meerdere MediaWiki installaties staan. Gebruik uiteraard een andere databasenaam als er meerdere installaties zijn op een server.

$wgDBuser en $wgDBpassword bevatten de loginnaam en wachtwoord die de MediaWiki mag gebruiken om de database te benaderen. Deze specifieke gebruiker moet de goede toegangsrechten hebben en o.a. update rechten hebben op de databasetabellen.

Lees ook Manual:Securing database passwords voor het verplaatsen van gevoelige delen van van LocalSettings.php naar een ander bestand in een andere map.

Gebruikersrechten

$wgGroupPermissions is een associatief array, voor de rechten voor het aanmaken en wijzigen van pagina's door de verschillende gebruikersgroepen. Zie Help:User rights voor meer informatie over de verschillende rechten en de beschikbare gebruikersgroepen.

Links in hoofdletters forceren

Een paginanaam kan standaard niet met een kleine letter beginnen: als poging om dit te doen wordt de eerste letter omgezet in een hoofdletter. Dit betreft ook het doel in een link, inclusief pagina, afbeelding of categorie.

Een paginanaam kan met een kleine letter beginnen door het instellen van $wgCapitalLinks . Dan moet de waarde false worden gezet, de standaardwaarde is true.

Subpagina's inschakelen

In LocalSettings.php worden subpagina's per namespace ingeschakeld met gebruik van $wgNamespacesWithSubpages . Om bijvoorbeeld in de namespace 'main' subpagina's in te schakelen:

$wgNamespacesWithSubpages[NS_MAIN] = 1;

Afbeelding uploaden

Om het uploaden van bestanden in de MediaWiki door gebruikers mogelijk te maken dient eenmalig die functie te worden ingeschakeld. De map waar de uploads in komen te staan moet goed geconfigureerd zijn en schrijfbaar zijn voor de webserver. Zet $wgEnableUploads op true om de functie beschikbaar te stellen aan de gebruikers.

Hier wat voorbeeld van code uit includes/DefaultSettings.php die in LocalSettings.php kan worden gezet:

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

Als u het aanpassen van de grootte van een afbeelding door de gebruiker wilt toestaan om zo een miniatuur te maken, dan heeft de MediaWiki een werkende ImageMagick installatie nodig is. Zet $wgUseImageMagick op true na het installeren en testen van ImageMagick. Zorg dat $wgImageMagickConvertCommand de locatie van het programma convert bevat, dat het uitgevoerd mag worden door de webserver en dat $wgMaxShellMemory groot genoeg is. Meer informatie en probleemoplossing.

Bekijk ook of er een aanpassing nodig is van het type bestanden dat geüpload mag worden.

$wgFileExtensions = [ 'png', 'jpg', 'jpeg', 'ogg', 'doc', 'xls', 'ppt', 'mp3', 'sxc', 'pdf' ];

Als ImageMagick een fout geeft als:

Fatal error: mime_magic could not be initialized, magic file is not available in includes/MimeMagic.php on line 506

probeer dat dan op lossen met het toevoegen aan het bestand LocalSettings.php van:

$wgMimeDetectorCommand = "file -bi";

Interwiki ondersteuning

De InterWiki ondersteuning is onderdeel van MediaWiki, maar het is wel nodig dat de prefix van de interne links wordt ingesteld. Deze prefix is meestal gelijk aan $wgSitename , maar als u dat wilt aanpassen dan kan dat naar de voorkeursnaam met de variabele $wgLocalInterwikis .


Taal van de gebruikersinterface

MediaWiki bevat een gebruikersinterface die door vertalers naar hun eigen taal kan worden vertaald. De MediaWiki is standaard in het Engels maar staat veel gebruikerstalen toe. Als u uw wiki in een ander taal wilt laten draaien stel dan de variabele $wgLanguageCode in met de gewenste taalcode (bijv. "nl" voor Nederlands).

De toegestane talen zijn alle talen met een bestand in deze map op languages/i18n. Als u bijvoorbeeld es.json, ziet dan kunt u "es" gebruiken, doe dat dan alleen als u Spaans als taal van de interface wilt instellen. Gebruik geen "Es". Hoeveel er van de interface dan vertaald is, hangt af van de vertalers naar die taal.

Er is een PHP-script nodig om een wijziging effectief te maken. Ga in een shell naar de map met de wiki, dan naar de map maintenance. Voer daar uit: php rebuildMessages.php --rebuild. Op Windows kan de map met PHP niet in de omgevingsvariabele PATH staan en dient u de voor php het pad naar php te zetten.

Niet alle talen worden ondersteund. De vertaalstatistieken op TranslateWiki zijn een actuele lijst van welke talen worden ondersteund en in welke mate. Die lijst weerspiegelt de huidige staat van de MediaWiki, dus afhankelijk van welke versie u gebruikt, kan er een verschil zijn.

Copyright instellen van de website

Als $wgRightsPage een waarde heeft, dan wordt in de link naar de melding over copyright/licentie die pagina op uw website gebruikt. Als het veld $wgRightsPage niet gevuld is dan wordt in die link de pagina $wgRightsUrl gebruikt.

Om de copyright beschrijving op de site aan te passen, voeg dan aan LocalSettings.php toe:

$wgRightsPage = "YourWiki:Copyright";
$wgRightsText = "copyright YourWiki";

Wijzig daarna met MediaWiki:Copyright het copyrightbericht onderaan elke pagina, gebruik "$1" op de plek in dit bericht waar de link naar uw copyright pagina moet komen te staan.

Voorbeeld: voor het instellen van de Creative Commons licentie

Doe het volgende:

<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>.
  • Stel $wgRightsURL in met de waarde van de eerste 'href':
$wgRightsUrl = "http://creativecommons.org/licenses/by-nc-sa/3.0/";
  • Stel $wgRightsText in op de tekst in de tweede 'href' (zorg dat de zin in het copyright-bericht goed loopt, dit veld is het eerste deel van de link in dat bericht).
$wgRightsText = "a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License";
  • Stel $wgRightsIcon in op de waarde van 'src' van de afbeelding (img). Mogelijk wilt u deze afbeelding wel naar uw eigen site kopiëren.
$wgRightsIcon = "http://creativecommons.org/images/public/somerights30.png";
  • U kunt ook RDF metadata over het copyright gebruiken door een of beide van de volgende regels aan uw LocalSettings.php toe te voegen :
$wgEnableCreativeCommonsRdf = true;
$wgEnableDublinCoreRdf = true;


Eigen namespaces

Door $wgExtraNamespaces te declareren en $wgNamespacesWithSubpages en $wgNamespacesToBeSearchedDefault aan te passen, kunnen er namespaces aan de MediaWiki installatie worden toegevoegd; door het declareren van het array $wgNamespaceAliases kunnen aliassen voor de namespaces worden gemaakt. Zorg ervoor de er al geen pagina's in die namespace zijn, bijvoorbeeld omdat u als een pagina "Technical:Support" heeft en u dus de namespace 'Technical:' heeft aangemaakt, die pagina bent u dan namelijk kwijt. Om die namespace eerst leeg te maken kunt u die pagina's verplaatsen van de namespace "Technical:Support" naar de mainspace "Support", dan de doorverwijzing te verwijderen, de namespace weer aan te maken en het weer terug te zetten naar "Technical:Support". Meer informatie.

Skins

De standaard skin van de website kan worden gewijzigd met $wgDefaultSkin .

Zie ook