Configurer Mediawiki
Il s'agit de configurer votre propre installation de Mediawiki, pas celle d'openSUSE.
Sommaire
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).
## 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
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)