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: httpd neu laden:
 * 1) yum install php php-xml
 * 1) service httpd reload

Debian-basiertes Linux
Install apache2 php5 module:
 * 1) apt-get install apache2 libapache2-mod-php5 php5-cli php-apc php5-mcrypt

In Ubuntu 16.04.2 LTS
Enable apache2 php5 module: Apache neu starten:
 * 1) sudo apt-get install libapache2-mod-php
 * 1) a2enmod php5
 * 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 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
 * Have a cgi-bin folder, containing CGIWrap (example in /home/myuser/cgi-bin). Once everything is configured, keep only cgiwrap, move the debug versions to another folder if you ever need it. Your cgiwrap file should be accessible only to Apache (chown and chmod accordingly).

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.

I strongly suggest you start out with /cgi-bin/cgiwrapd/... as your php-wrapper, as it will precisely show what is currently working. I also strongly suggest you do not delete your CGIWrap source folder until everything works perfectly as this is a real trial and error process, taking a long time. However, it's all worth your time as your MediaWiki will be run in its own separate process, in its own uid, without being able to interfere any other uid. Inverse is also true, except for root, that can read anything anywhere.

mod_alias / mod_rewrite
The recommended method of involves mod_alias. Other methods use mod_rewrite instead.

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.

Thread stack size
The stack size for for each Apache thread is configurable and the default varies on different operating systems. To run MediaWiki on Windows environments it may be necessary to increase the stack size (if there are problems), as the 1MB default is small and can cause stack overflows during PHP script execution. The following httpd.conf setting will set the stack size to about 8MB (about a typical Linux default):

Spiders and 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.