Apache configuration/de-formal

Apache ist der am weitesten verbreitete Webserver in Zusammenhang mit MediaWiki.

PHP als Modul für Apache
MediaWiki wurde so programmiert, dass es als Apache-Modul verwendet. PHP auf Ihrem Webserver ist wahrscheinlich als Modul konfiguriert, wenn Ihre URLs wie folgt anfangen:

example.com/index.php/Main_Page

Um zu überprüfen, welche PHP-Version Sie verwenden oder wie PHP konfiguriert wurde, können Sie entweder auf der Seite Special:Version nachsehen oder eine Abfrage auf die phpinfo-Methode machen.

RedHat/Fedora-basiertes Linux
PHP installieren:


 * 1) yum install php php-xml

httpd neu laden:


 * 1) service httpd reload

Debian-basiertes Linux
Das apache2 php5-Modul installieren:


 * 1) apt-get install apache2 libapache2-mod-php5 php5-cli php-apc php5-mcrypt

In Ubuntu 16.04.2 LTS

 * 1) sudo apt-get install libapache2-mod-php

Das apache2 php5-Modul aktivieren:


 * 1) a2enmod php5

Apache neu starten:


 * 1) service apache2 restart

PHP als CGI
Sollte PHP als CGI auf Ihrem Webserver laufen, werden Sie wahrscheinlich nicht sehr schöne URLs als Standard vorgesetzt bekommen. Das "Problem" können Sie über die beheben.

CGIWrap
Sollten Sie auf Ihrem eigenen Server Apache laufen haben und Ihr PHP über CGI laufen, gibt es die Möglichkeit einer Installation von CGIWrap. Dieses Tool erlaubt es Ihnen, den Apache-Server über einen anderen Benutzer für die CGIs laufen zu lassen.

Auf diese Art können Sie einen neuen Benutzer für Ihre MediaWiki-Seiten erstellen.

Eine genauere Anleitung für das Installieren von CGIWrap liegt außerhalb des möglichen Rahmens, da Sie es für Ihren Server selber kompilieren müssen - abhängig von der jeweiligen Version des Betriebssystems Ihres Servers.

Nichtsdestoweniger, um wenigstens einen kleinen Überblick zu bekommen, können Sie folgende Schritte für CGIWrap beachten:

useradd -M -s /sbin/nologin wikiuser
 * Erstellen Sie einen Wikimedia-Benutzer
 * Sie benötigen einen cgi-bin-Ordner, welcher CGIWrap enthält (z. B. /home/myuser/cgi-bin). Sobald alles einmal konfiguriert wurde, brauchen Sie nur mehr den cgi-bin-Ordner. Die Debugordner können Sie in einen anderen Ordner verschieben, sofern Sie sie benötigen. Ihre CGIWrap-Datei sollte nur für Apache zugänglich sein (chown und chmod dementsprechend einstellen).

ln -s /home/myuser/public_html/wiki /home/myuser/cgi-bin/wikilink AddHandler php-wrapper .php Action php-wrapper /cgi-bin/cgiwrap/wikiuser/wikilink
 * Erstellen Sie innerhalb des cgi-bin-Ordners einen Softlink auf das MediaWiki-Rootverzeichnis.
 * In der .htaccess-Datei Ihres Wikis müssen Sie folgende Definitionen festlegen:
 * Zum Schluss ist es sinnvoll, nur den in Schritt #1 erstellten Benutzer per chown und chmod die Berechtigungen auf alle .php-Dateien innerhalb des MediaWiki-Ordners zu erteilen.

Die Dateien werden wie gewohnt verfügbar sein. Es ist nicht weiter nötig, in deinem Pfad cgi-bin zu definieren, weil es für Sie automatisch erledigt wird.

Ich empfehle Ihnen wärmstens, mit /cgi-bin/cgiwrapd... als php-wrapper zu starten, da dieser Ihn genau anzeigt, woran gerade gearbeitet wird. Weiters empfehle ich Ihnen, den CGIWrap-Sourceordner solange bestehen zu lassen, bis alles funktioniert. Dieser Schritt ist eine einzige Trial-and-Error-Phase, welche länger dauert als man es normal gewöhnt ist.

Dennoch ist der Prozess den Aufwand wert, weil ihr MediaWiki als eigener, seperater Prozess mit seiner eigenen UID laufen wird, ohne irgendwelche anderen UIDs zu stören. Umgekehrt ist auch wahr, mit Ausnahme von root, das überall alles lesen kann.

mod_alias / mod_rewrite
Die empfohlene Methode der Verschönerung von URLs beinhaltet ein wenig Arbeit mit mod_alias. Ein anderer Lösungsweg benutzt stattdessen mod_rewrite.

mod_security
has been known to cause problems with MediaWiki. If you get errors seemingly at random, check your error log to see whether it is causing problems.

VisualEditor and Subpages
In order to prevent errors contacting the Parsoid server,  must be added to the wiki's VirtualHost config block (or to the general server config if VirutalHosts are not used).

Thread stack size
Die Stack-Größe ist für jeden Apache-Thread konfigurierbar, wobei der Standardwert auf den jeweiligen System-OS variiert. Um MediaWiki auf einer Windows-Umgebung zum Laufen zu bringen, ist es nötig, die Stack-Größe zu erhöhen (sofern es Probleme gibt). Die Standardgröße liegt hier bei 1MB, was in den meisten Fällen zu Stack Overflows während der Laufzeit eines PHP-Skriptes führt. Die folgende Konfiguration der httpd.conf setzt die Stack-Größe auf 8MB - also die Standardgröße auf Linux-Umgebungen:

Crawlers und Bots
You really should use a file to tell well-behaved spiders not to download dynamically generated pages (edit pages, for instance). This can reduce the load on your webserver, preserve your bandwidth, and prevent duplicate content issues with search engines. However, malicious bots could tie up your webserver and waste your bandwidth by downloading a large volume of pages extremely quickly. Request throttling can help protect against this.