Table of Contents

CMS wiki

Dokuwiki

Dokuwiki est un moteur de wiki sur lequel tourne ce site. Il est libre et a la particularité de ne pas se reposer sur une BDD de type MySQL ou PgSQL : il enregistre ses informations dans des fichiers. Ainsi il est facile de migrer le Wiki d'une machine à l'autre, avec un simple copier/coller (voir plus bas).

Plugin

Dokuwiki est doté d'une multitude de plugins afin d'ajouter des fonctionnalités au concept de base ; voici ceux que j'utilise :

Et ceux que j'ai utilisés, PI :

Sauvegarde du wiki

Comme dit plus haut, il est très simple de sauver un wiki ; pour cela il faut sauvegarder les dossiers suivants (valable au moins avec Debian et Ubuntu) :

On peut sauvegarder tout cela très facilement dans une archive dans le répertoire /tmp avec un :

tar cjvf /tmp/dokuwiki_`date +%Y-%m-%d`.tar.bz2 /etc/dokuwiki /usr/share/dokuwiki /var/lib/dokuwiki

Restauration du wiki

Pour faire simple, il suffit de restaurer le zip de la sauvegarde ; mais dans la pratique il faut faire attention aux aspects suivants (attention les chemins sont ceux d'une distribution Debian/Ubuntu) :

J'ai retenu cela :

chown -r www-data /var/lib/dokuwiki/data
chown www-data /var/lib/dokuwiki/lib/plugins

J'ajouterai qu'il faut aussi passer ces commandes :

# les fichiers de conf doivent être modifiables par le serveur web
chown www-data /etc/dokuwiki
chown www-data /etc/dokuwiki/local.php

Qui permettent d'éviter le problème d'enregistrement des paramètres, dans le “Configuration Manager” :

The settings file can not be updated, if this is unintentional, ensure the local settings file name and permissions are correct.

Et dans mon cas je dois modifier l'alias :

vi /etc/apache2/conf.d/dokuwiki.conf
 Alias      /dw                          /usr/share/dokuwiki/

Tips

Fichier de conf en lecture seule

Lors de la restauration de mon wiki j'ai eu le message suivant lorsque j'ai édité les paramètres :

Le fichier des paramètres ne peut être modifié, si ceci n'est pas intentionnel, vérifiez que le nom et les droits du fichier sont corrects.

Pas de possibilité de modifier les paramètres via le navigateur donc. Pour corriger cela, il faut vérifier que les fichiers suivants sont accessibles en écriture au serveur web (sous Debian, c'est l'utilisateur et le groupe www-data) : acl.auth.php, local.php et users.auth.php.

Exemple :

ll /etc/dokuwiki/local.php
-rw-r--r-- 1 www-data www-data   714 oct.  14 23:42 local.php

Le répertoire /etc/dokuwiki doit également être accessible en écriture à www-data :

chgrp www-data /etc/dokuwiki
chmod g+w /etc/dokuwiki

Problème de présentation

Le plugin tag pose un problème de présentation avec le thème sidebar, car il ne positionne pas le “floating” avec les menus de droite (l'index des grands titres). Pour résoudre ce problème, il faut modifier la feuille de style CSS. Si on utilise le paquet Ubuntu, le plus simple est de surcharger les styles dans le fichier idoine : /etc/dokuwiki/userstyle.css

vi /etc/dokuwiki/userstyle.css
/* Place customisations to screen mode style sheet here */
div.dokuwiki div.tags {
  border-top: 2px dotted #8cacbb;
  font-size: 95%;
/*  text-align: right;*/
/*  clear: both;*/
  text-align: left;
  clear: none;
}

Disparition de la toolbar

Reconstruire l'index de recherche

La barre de recherche interne se base sur un index de mots qui est, normalement, construit au fur et à mesure que les pages sont visitées (via un include dans la page de votre template). Mais, pour certaines raisons (votre template ne comporte pas l'include de la fonction d'indexage, ou vous venez d'importer beaucoup de pages d'un autre wiki dans votre répertoire data), le recherche peut ne pas être pertinente faute d'indexage correct de ses pages.

Le script php indexer.php, situé dans le répertoire bin/ (/usr/share/dokuwiki/bin sous Debian/Ubuntu), permet de réindexer votre wiki. Utilisation (vérifier au préalable que le client php CLI est installé, et que le fichier indexer.php est exécutable) :

# indexer.php
#OPTIONS
#      -h, --help     show this help and exit
#      -c, --clear    clear the index before updating
#      -q, --quiet    don't produce any output
 
cd /usr/share/dokuwiki/bin/
sudo -u www-data php indexer.php -c
 [..]
 informatique:os:ubuntu... Indexer: finished
 done.
 [..]

source : https://www.dokuwiki.org/cli#indexerphp