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 :
- 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. [..]