Apache configuration/de

Apache ist der wahrscheinlich am weit verbreiteste Webserver in Zusammenhang mit MediaWiki

PHP als Modul für Apache
MediaWiki wurde so programmiert, dass es als Apache Modul verwendet.

PHP auf deinem Webserver ist wahrscheinlich als Modul konfiguriert, wenn deine URLs wie folgt anfangen: example.com/index.php/Main_Page Um zu überprüfen, welche PHP Version du verwendest oder wie PHP konfiguriert wurde, kannst du entweder auf die Special:Version Seite schauen oder eine Abfrage auf die [phpinfo] Methode machen.

RedHat/Fedora-basiertes Linux
PHP installieren: httpd neuladen:
 * 1) yum install php php-xml
 * 1) service httpd reload

Debian-basiertes Linux
Das apache2 php5 Modul installieren: Das apache2 php5 Modul aktivieren: Apache neu starten: (Für Debian gibt es auch ein MediaWiki Paket)
 * 1) apt-get install apache2 libapache2-mod-php5 php5-cli php-apc php5-mcrypt
 * 1) a2enmod php5
 * 1) apache2ctl restart

PHP als CGI
Sollte PHP als CGI auf deinem Webserver laufen, wirst du wahrscheinlich nicht sehr schöne URLs als Standard vorgesetzt bekommen.

Das "Problem" kannst du über die beheben.

CGIWrap
Solltest du auf deinem eigenen Server Apache laufen haben und dein laufen, gibt es die Möglichkeit einer Installation von CGIWrap.

Dieses Tool erlaubt es dir, den Apache Server über einen anderen Benutzer für die CGIs laufen zu lassen.

Auf diese Art kannst du einen neuen Benutzer für deine MediaWiki Seiten erstellen.

Eine genauere Anleitung für das Installieren von CGIWrap liegt ausserhalb den möglichen Rahmens, da du die CGIWrap für deinen Server selber kompilieren musst - abhängig von der jeweiligen OS Version deines Servers.

Nichtsdestotrotz, um wenigstens einen kleinen Überblick zu bekommen, kannst du folgende Schritte für CGIWrap beachten:

useradd -M -s /sbin/nologin wikiuser
 * Erstelle einen WikiMedia Benutzer
 * Du benötigst einen cgi-bin Ordner, welcher CGIWrap enthält (z.B. /home/myuser/cgi-bin). Sobald alles einmal konfiguriert wurde, brauchst du nur mehr den cgibin Ordner. Die Debugordner kannst du in einen anderen Ordner verschieben, sofern du sie benötigst. Deine 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
 * Erstelle innerhalb des cgi-bin Ordners einen Softlink auf das MediaWiki Root Verzeichnis
 * In der .htaccess Datei deines Wikis musst du folgende Definitionen festlegen:
 * Zum Schluss ist es sinnvoll nur den in Schritt #1 erstellten User per chown und chmod die Berechtigungen auf alle .php Dateien innerhalb des MediaWiki Ordners zu erteilen.

DIe Dateien sind wie gewohnt Verfügbar. Es ist nicht weiter nötig in deinem Pfad cgi-bin zu definieren, weil es für dich automatisch erledigt wird.

Ich kann du nur wärmstens Empfehlen mit /cgi-bin/cgiwrapd... als php-wrapper zu starten, da dieser dir genau anzeigt, woran gerade gearbeitet wird. Weiters empfehle ich dir, 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.

Der Prozess lohnt sich, spätestens dann wenn dein MediaWiki als eigener, seperater Prozess läuft. Also mit seiner eigenen UID, ohne irgendwelche anderen UIDs zu stören.Inverse is also true, except for root, that can read anything anywhere.

mod_alias / mod_rewrite
Die Vorschlag zur beinhaltet ein wenig Arbeit mit mod_alias.

Ein anderer Lösungsweg wäre es mit mod_rewrite zu probieren.

mod_security
ist bekannt dafür, Probleme mit MediaWiki zu haben. Sollten dir deine Fehlermeldungen komisch vorkommen oder keinen Sinn ergeben, schau dir bitte deine Errorlog Datei an um den wirklichen Grund für die Fehlermeldungen zu sehen.

Größe des Thread stack
DIe Stack Größe ist für jeden Apache Thread konfigurierbar, wobei der Standardwert auf den jeweiligen SystemOS 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.