Configurer Mediawiki

Aller à : navigation, rechercher

Il s'agit de configurer votre propre installation de Mediawiki, pas celle d'openSUSE.

Autoriser les upload

Config générale

J'ai beaucoup galéré, pour pas grand chose.

En fait, Médiawiki est capable de récupérer sur votre propre site web (en fait dans son propre répertoire fait pour ça) les fichiers d'images ou de son que vous voulez.

Mais pour cela il faut faire apparaître le lien "copier sur le serveur" que vous voyez probablement à gauche, dans la "boîte à outils".

Pour ca il faut :

  • modifier le fichier LocalSettings.php que vous trouverez dans la racine de mediawiki (ici Mediawiki V1.4).
Config pour upload
## To enable image uploads, make sure the 'images' directory
## is writable, then uncomment this:
$wgDisableUploads               = false;
$wgUseImageResize               = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";

je vous ai mis une image à droite, pour que vous puissiez voir que ça marche :-).

  • il faut ensuite vérifier dans /etc/php.ini que les upload sont permis, c'était par défaut dans ma SuSE 9.0.

Permissions du répertoire images

Solution basique

  • Il faut enfin que le répertoire images de mediawiki soit en lecture écriture pour tout le monde, et ça c'est pas top. Si je trouve une autre méthode, je le dirais ici.

Autorisation au serveur web

Il faut donner comme propriétaire du répertoire l'utilisateur apache par défaut, ce qui permet l'écriture

rwxr-xr-x 14 wwwrun www 392 2005-10-13 20:07 images

Avantage : Tout les usagers peuvent écrire dans le répertoire. Inconvénient : tous les usagers peuvent écrire dans le répertoire, même si le code utilisé n'est pas celui de mediawiki.

Autorisation à l'utilisateur unix

php est exécuté en tant que www-data, l'utilisateur apache par défaut. On peut changer ça, a condition d'être l'administrateur du serveur).

il suffit donc d'exécuter les scripts php en tant qu'utilisateur Unix. tu peux faire cela par deux moyens, le premier : Suexec, le second Suphp.

Le second est le plus simple d'utilisation car il est sous la forme d'un module pour apache 1 ou 2.

Tu peu après avoir un dossier en 700 ou seul l'utilisateur du compte unix peut écrire.

Cela permet d'avoir un utilisateur par application et de réduire les risques.

http://nico.tuxfamily.org/PHP/13-Suphp-Php4-Et-Php5-Avec-Apache-2-Sous-Debian http://blog.achamo.net/index.php/2005/09/11/59-apache-2-php4-php5-et-suphp

Sécuriser

Infos prises ici

php

Dans /etc/php.ini

allow_url_fopen = Off

Apache

Modifié 01-defaut.conf comme suit.

NameVirtualHost *:80
 
<VirtualHost *:80>
 DocumentRoot /srv/www/htdocs
 ServerName dodin.org
<Directory /srv/www/htdocs>
 DirectoryIndex index.shtml index.html index.php
 Options +Includes
 AddType text/html .shtml
 AddOutputFilter INCLUDES .shtml
</Directory>
<Directory "/srv/www/htdocs/mediawiki/images">
  # Ignore .htaccess files
  AllowOverride None
 
  # Serve HTML as plaintext, don't execute SHTML
  AddType text/plain .html .htm .shtml
 
  # Don't run arbitrary PHP code.
  php_admin_flag engine off
 
  # If you've other scripting languages, disable them too.
</Directory>
</VirtualHost>


Divers

Penser à supprimer les fichiers de backup genre XXX.php~ qui risquent de montrer les mots de passe (ils ne sont pas des fichiers php)