Apache configuration/nl

Apache HTTP Server (httpd) is de meest gebruikte webserver voor MediaWiki.

PHP


PHP als Apache Module
MediaWiki is geschreven om PHP te gebruiken als een Apache module. Uw PHP is waarschijnlijk geconfigureerd als een module als uw URL's beginnen met:

example.com/index.php/Main_Page

U kunt de configuratie en versie van uw PHP zien door te kijken op uw wiki Special:Version pagina of met phpinfo.

Installeren PHP, Apache en de PHP-module voor Apache. Controleer daarna of de Apache service wordt uitgevoerd. Voor specifieke commando's, raadpleeg de documentatie van uw besturingssysteem of distributie.



PHP als CGI
Als PHP wordt uitgevoerd als CGI, dan krijgt u standaard "lelijke" URL's, maar kunt u nog steeds korte URL's implementeren.

CGIWrap
Indien u zelf een server heeft waarop Apache en PHP als CGI draaien, dan kunt een CGIWrap installeren. Hiermee kunt u de Apache server als een andere gebruiker uitvoeren voor CGI's.

Op die manier kunt u een nieuwe gebruiker voor uw MediaWiki pagina's maken. Het installeren van CGIWrap valt buiten het doel van dit document, vooral omdat u het moet compileren wat afhankelijk is van uw server. Als een beknopte aanwezig, volg deze regels:

useradd -M -s /sbin/nologin wikiuser
 * Voer een Wikimedia gebruiker toe
 * Maak een map cgi-bin folder, bevattende CGIWrap (voorbeeld in /home/myuser/cgi-bin). Nadat alles is geconfigureerd, bewaar alleen  cgiwrap, verplaats de debug versies naar een andere map voor het geval u het ooit nodig heeft. Uw bestand cgiwrap moet alleen benaderbaar zijn voor Apache (instellen met chown en chmod).

ln -s /home/myuser/public_html/wiki /home/myuser/cgi-bin/wikilink AddHandler php-wrapper .php Action php-wrapper /cgi-bin/cgiwrap/wikiuser/wikilink
 * Maak in de map cgi-bin een symbolische link aan naar de Wikimedia root.
 * Voeg in uw bestand .htaccess van uw wiki, de volgende definities toe:
 * Tot slot, chown en chmod alle php-bestanden van uw map Wikimedia om alleen bereikbaar te zijn voor wikiuser.

De bestanden zijn normaal benaderbaar. U hoeft in uw pad geen cgi-bin te specificeren, dit wordt voor u vanzelf gedaan.

De oorspronkelijke schrijver beveelt aan dat u begint met /cgi-bin/cgiwrapd/... als uw php-wrapper, dit zal precies aangeven wat op dit moment goed werkt. Verwijder uw map CGIWrap niet voordat alles perfect werkt, dit is een mogelijk langdurig proces van zaken maar uitproberen. Maar dat is het waard om MediaWiki als een losstaand proces uit te voeren, in het eigen uid, zonder kans op verstoringen met een andere uid. Het omgekeerd is ook waar, behalve voor de root, dit kan alles en overal lezen.

mod_alias / mod_rewrite
De aanbevolen methode voor mooie URL's bevat mod_alias. Andere methode gebruiken daarvoor mod_rewrite.

mod_security
heeft problemen veroorzaakt in de MediaWiki. Als u willekeurige fouten lijkt te krijgen, controleer uw logbestanden om te kijken of het problemen veroorzaakt.



VisualEditor en subpagina's
Om deze fouten te voorkomen bij het benaderen van de Parsoid server, moet  worden toegevoegd aan de wiki's VirtualHost configuratie blok (of aan de algemene serverconfiguratie als de VirtualHosts niet worden gebruikt).



Thread grootte
De grootte van een Apache thread is instelbaar en de standaard verschilt per besturingssysteem. Om MediaWiki op Windows uit te voeren, kan het nodig zijn die grootte te verhogen (bij problemen), als de 1MB standaard te laag is en den stack overloop kan veroorzaken tijdens het uitvoeren van een PHP-script. De volgende httpd.conf instelling zet de grootte van de stack op 8MB (eem typische Linux standaard):



Spiders en bots
Gebruik een bestand om nette spiders te melden dat ze geen dynamisch aangemaakte pagina's moeten downloaden (bijvoorbeeld bewerkingspagina's). Dit kan de 'load' op uw webserver verlagen, bespaart u dus bandbreedte en voorkomt problemen met dubbele inhoud door zoekmachines. Als de bot helemaal niet netjes is, dan kunnen er veel pagina's tegelijk gedownload worden, wat dan elke gebruiker merkt. Aanvraagbeperking (Request throttling) kan hierbij een beveiliging zijn.

