User Tools

Site Tools


informatique:logiciels:dokuwiki

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 :

  • cloud : permet d'afficher les mots les plus utilisés sous forme de nuage (similaire aux nuages de tags que l'on connait)
  • note : permet de créer des notes (Note/Important/Tip/Warning) dans des cadres
  • sidebar : (en fait c'est un thème) affiche le menu de gauche qui permet de lister et naviguer dans le site

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

  • discussion : permet d'ajouter un espace de commentaires sur chaque page, à l'instar des moteurs de blogs
  • pagelist : affiche un index des pages contenues dans un espace de nom (càd un répertoire)
  • pagemove : outil pour facilement déplacer une page d'un répertoire à un autre
  • searchindex permet de créer et mettre à jour un index de mots-clé pour faire des recherches plus rapides sur le wiki. NB : avec dokuwiki 2011-05-25a (le paquet d'Ubuntu 12.04) ce plugin cause des erreurs javascript faisant disparaitre la toolbar d'édition de page.
  • tag permet d'implémenter des tags pour “catégoriser” les pages

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) :

  • /etc/dokuwiki qui contient la configuration (dokuwiki.php et local.php par exemple)
  • /usr/share/dokuwiki : racine (pour le serveur web)
  • /var/lib/dokuwiki (data) : qui contient toutes les données du wiki : les pages, l'historique des changements (attic) et les images (media)

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) :

  • dans /var/lib/dokuwiki/data, restaurer :
    • les pages (pages)
    • les modifications (attic et meta)
    • les images (media)
  • modifier /etc/dokuwiki/apache.conf (“Allow from all”)
  • compléter le fichier /etc/dokuwiki/local.php (personnalisation de dokuwiki)
  • récupérer les utilisateurs du précédent wiki : fichier /etc/dokuwiki/users.auth.php
  • régler les problèmes de droits : cf https://www.dokuwiki.org/install:permissions

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/
  • via l'interface web :
    • réinstaller les plugins : sidebar, note, cloud (pas searchindex car il fait disparaitre la toolbar d'édition de page)
    • faire une passe sur la configuration au cas ou (Admin/configuration en webUI)

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

informatique/logiciels/dokuwiki.txt · Last modified: 2021/12/13 15:59 by pteu