Bien sûr, il vous faut tout d'abord l'archive de DotClear, un gestionnaire de blog. N'essayez pas l'installation automatique, ça ne fonctionnera pas.

Créez un répertoire sur votre compte sf.net (dans le répertoire htdocs); nous l'avons appelé blog. L'adresse du blog sera donc http://frenchmozilla.sf.net/blog dans notre cas.

Par scp, copiez l'archive de DotClear dans le répertoire blog :

scp dotclear[tab].tar.gz nom@users.sf.net:/répertoireduprojet/blog

Décompressez l'archive :

tar xzf dotclear[tab]

Déplacez les fichiers créés dans blog/dotclear/ dans blog : (vous êtes dans votre répertoire blog bien entendu)

mv dotclear/* .

Vous pouvez aussi décompresser l'archive chez vous et envoyer les fichiers qu'elle contient (attention à bien conserver les sous-répertoires) en SFTP. Un bon client SFTP sous Windows : Filezilla (aucun lien avec Mozilla, si ce n'est d'être un excellent logiciel libre).

Il vous faut maintenant configurer DotClear. C'est là que les choses se compliquent. En effet, les fichiers qui se trouvent dans le répertoire htdocs sur votre compte de projet ne sont pas accessibles en écriture par le serveur Web. En lisant la documentation sur SourceForge.net, on y trouve des explications. Il va falloir stocker la configuration dans le répertoire /tmp/persistent/nomprojet/ (le répertoire nomprojet est à créer). En effet, seuls les fichiers stockés à cet endroit seront accessibles en écriture par le serveur Web.

Donc :

mkdir /tmp/persistent/nomduprojet/
cp conf/* /tmp/persistent/nomduprojet/
chmod -R a+rw  /tmp/persistent/nomduprojet/
chgrp -R nomduprojet /tmp/persistent/nomduprojet/

On créé le répertoire, on copie les fichiers de configuration de DotClear, on change les droits pour que tout le monde (y compris le serveur Web) puisse lire et écrire dans ces fichiers. Pour que les autres membres du projet puisse faire quelque chose de ces fichiers, on leur donne l'appartenance au groupe du projet.

Voilà, mais maintenant il va falloir faire comprendre au script d'installation de DotClear que ses fichiers de configuration ne sont plus à la bonne place... Tous les fichiers concernés se trouvent dans le répertoire install :

cd install

Il faut à plusieurs reprises et dans plusieurs fichiers changer dirname(FILE).'../conf/ en '/tmp/persistent/nomduprojet'

Ce qui donne pour tous les fichiers à modifier :

check.php : $files_check->addItem('conf',is_writable('/tmp/persistent/nomduprojet'),
end-install.php : $configfile ='/tmp/persistent/nomduprojet/config.php';
ini-file.php : $ini_file = '/tmp/persistent/nomduprojet/dotclear.ini';
ini-file.php : $objIni = new iniFile('/tmp/persistent/nomduprojet/dotclear.ini');

Si vous pensez utiliser la solution 2 ci-dessous (la plus facile), il y a également une ligne à supprimer (ou commenter) dans prepend.php :

if (file_exists(dirname(__FILE__).'../conf/config.php') && !defined('NOT_CHECK_CONFIG')) {

Ainsi qu'une ligne de index.php :

$installed = file_exists('/tmp/persistent/nomduprojet/config.php');

Si vous avez oublié de le faire, pas d'inquiétude, il vous restera les deux autres solutions.

Bon, on peut maintenant respirer et installer DotClear :) Enfin presque...

Le serveur Web va créer un fichier config.php dans le répertoire :

/tmp/persistent/nomduprojet/config.php

Mais ce fichier appartient à l'utilisateur nfsnobody et il est en lecture-écriture uniquement pour lui. Impossible alors de modifier ce fichier à la main ou de le recopier dans le répertoire du projet pour que DotClear le trouve une fois installé (les changements précédents n'ont été faits que pour les scripts d'installation, DotClear s'attend à retrouver sa configuration dans le répertoire blog/conf). Vous avez trois solutions :

Première solution : Vous laissez les fichiers config.php et dotclear.ini dans ce répertoire, mais il faut modifier l'ensemble du code de DotClear comme précédemment pour qu'il retrouve ces fichiers. En cas de mise à jour de DotClear il faudra recommencer toute la procédure.

Deuxième solution : Avant la configuration de DotClear, vous faites un : touch /tmp/persistent/nomduprojet/config.php, ce qui permet de créer le fichier config.php qui va donc vous appartenir plutôt qu'au serveur Web. N'oubliez pas de le mettre en lecture/écriture pour tout le monde : chmod a+rw config.php. L'installation de DotClear ne doit pas savoir qu'il existe déjà (il est vide), d'où les deux lignes de vérification à enlever dans install/prepend.php et install/index.php.

Troisième solution : Si vous avez déjà lancé l'installation sans lire jusqu'au bout, vos fichiers ont été créés mais vous ne pouvez pas les lire. Ou vous préférez peut-être modifier le moins possible les fichiers d'installation. Heureusement, le serveur Web peut relire ce qu'il a créé, lui. Vous allez donc placer le petit fichier php suivant dans votre répertoire install, puis l'appeler par son adresse complète. Il vous permettra, une fois DotClear configuré, d'afficher les fichiers créés dans votre navigateur, et il vous restera à en copier-coller le contenu dans le répertoire conf/ de DotClear. N'oubliez pas de l'effacer après utilisation, il permet à tout le monde de lire votre mot de passe de base de données.

<?php
// changez "nomduprojet" à la ligne suivante pour pointer vers votre répertoire persistant
$dir = "/tmp/persistent/nomduprojet";
echo "<html>
";
echo "<body>
";
echo "<h1>Récupération de fichiers temporaires persistants de Sourceforge</h1>
";
echo "<p>Répertoire $dir</p>
";
if (is_dir($dir)) {
  if ($dh = opendir($dir)) {
    while  !== false) {
      if ($file != '.' && $file != '..') {
        echo "<h2>$file</h2>
";
        echo "<pre style='border: 1px dashed black; padding: 0.5em;'>"
         .htmlentities(file_get_contents($dir.'/'.$file))
         ."</pre>
";
      }
    }
    closedir($dh);
  }
}
echo "</body>
";
echo "</html>
";
?>

Maintenant, on peut se lancer dans la configuration de DotClear. Je vous invite à vous renseigner directement à la source ; suivez les instructions sur sf.net pour connaître la manière d'accéder à votre base de données. À noter quand même que nous avons dû créer la base de données MySQL à la main puisque DotClear n'y arrivait pas. Il faut utiliser pour ça le phpMyAdmin de SourceForge.net. Dans notre cas, le projet frenchmozilla qui a l'ID 15231 (pour le retrouver facilement, regardez dans votre page sur SourceForge, c'est le numéro à la fin du lien Admin), ça donne f15231admin comme nom d'utilisateur, mysql4-f comme nom du serveur et f15231_dotclear comme nom de base de données.

Une fois configuré, DotClear va vouloir se rendre sur la page http://nomduprojet.sf.net/blog/ecrire/ Il vous annoncera que DotClear n'est pas configuré si vous avez choisi l'option 2 ou 3 précédemment. Il vous faudra donc recopier les fichiers config.php et dotclear.ini dans le répertoire blog/conf/

Et voilà c'est fini, un bô blog comme le nôtre. Notez quand même que l'installation des plugins devra aussi se faire à la main, et que l'upload d'images ne fonctionnera pas. Pour arranger ça il faudra réaliser un certain nombre de liens symboliques, ce sera le sujet d'un prochain billet.