Apache configuration/fr

Apache est le serveur recommandé pour faire fonctionner MediaWiki. D'autres serveurs comme IIS peuvent fonctionner.

PHP en tant que module Apache
MediaWiki est écrit pour utiliser PHP en tant que module Apache. Votre PHP est probablement configuré en tant que module si vous démarrez avec une entrée du type : exemple.com/index.php/Accueil Vous pouvez vérifier la configuration et la version de PHP dont vous bénéficiez en visualisant la page Spécial:Version de votre wiki ou bien avec phpinfo.

Serveur Linux sur base RedHat/Fedora
Installez PHP : Rechargez httpd:
 * 1) yum install php php-xml
 * 1) service httpd reload

Serveur Linux sur base Debian
Installez le module apache2 php5 : Activez le module apache2 php5 : Redémarrez Apache:
 * 1) apt-get install apache2 libapache2-mod-php5 php5-cli php-apc php5-mcrypt
 * 1) a2enmod php5
 * 1) apache2ctl restart

(Debian dispose aussi d'un package MediaWiki)

PHP en tant que CGI
Vous devrez configurer PHP comme module Apache, et non en mode CGI.

Activez bien mod_php dans le répertoire qui contient les scripts MediaWiki, mais vous devriez aussi désactiver ce mode dans le répertoire de téléchargement, ainsi les visiteurs n'auront pas la possibilité d'exécuter du code arbitraire sur votre système.

mod_rewrite
La réécriture d'URL est recommandée pour donner à vos URL une meilleure apparence. Ceci est vraiment spécifique à l'installation.

mod_alias
Une alternative à mod_rewrite est mod_alias, qui donne des résultats similaires. Dans ce cas, il est supposé que MediaWiki n'est pas installé à la racine des documents web de votre serveur Apache, mais dans un autre répertoire, par exemple. Ensuite vous devrez ajouter des lignes similaires à l'exemple suivant à votre configuration Apache :    Alias /mediawiki/ /usr/local/lib/mediawiki/ Alias /wiki/ /usr/local/lib/mediawiki/index.php/ Alias /wiki /usr/local/lib/mediawiki/index.php/  Options MultiViews AllowOverride None Order allow,deny Allow from all   Options MultiViews AllowOverride None Order allow,deny Allow from all # avoid execution of PHP scripts in upload directory AddType text/plain .php AddType text/plain .phps   Il est supposé ici que wgScriptPath</tt> vaut "/mediawiki" et wgArticlePath</tt> vaut "/wiki/$1".

''NdT : je ne suis pas vraiment sûr de la traduction de ce paragraphe, voyez la version anglaise Apache config. NdT² : J'ai mis les termes correspondants.''

Une fois effectué les changements pour faire des URL plus courtes, vous devrez vider le cache dde votre navigateur Web pour être sûr que tous les liens pointent correctement vers la bonne URL. Dans certains cas, les anciens liens vers index.php</tt> en combinaison avec les Aliasese configurés ci-dessus provoqueront le fait que MediaWiki essaira de s'éditer lui-même, plutôt que la page ou la section que vous essayez d'éditer.

Notez bien que cette section sur mod_alias</tt> n'a pas été écrit par un expert apache/php, vous devriez vérifier si ça remplit bien vos demandes de sécurité.

Patches
Si vous utilisez la réécriture d'URL et que vous voulez permettre l'utilisation de l'esperluette (&) dans les titres de pages, vous aurez besoin d'un patch Apache/? pour échapper proprement ce caratère. Un patch pour Apache 1.3.26 est disponible dans le source de MediaWiki en tant que  (il n'y a pas encore de patch pour Apache 2.0.x).

Changez la configuration de votre mod_rewrite</tt> comme ci-dessous : RewriteEngine On   RewriteMap ampescape int:ampescape RewriteRule ^/wiki/(.*)$ /w/index.php?title=${ampescape:$1} [L] RewriteRule ^/wiki$ /w/index.php

Ainsi  devriendra bien   au lieu de , qui serait cassé en title=AT et un paramètre inutilisé T.

Fichier d'exclusion pour les robots
Voir l'article Robots.txt (en anglais).

Vous ne voulez probablement pas que les robots téléchargent certaines pages créées dynamiquement. Pour celà, voyez Robots.txt (en anglais).

Accélérateurs
Voir l'article Request throttling (en anglais).

Support d'implémentation
Pour référence, voici les fichiers de configuration Apache utilisés pour les wikis Wikimedia :
 * httpd.conf
 * nonexistent.conf
 * redirects.conf
 * main.conf
 * remnant.conf
 * upload.conf
 * wikimedia.conf
 * foundation.conf
 * en2.conf
 * postrewrites.conf