{{tag>CMS wiki}}
======Dokuwiki======
{{http://www.dokuwiki.org/_media/wiki:dokuwiki-128.png }}
[[http://www.dokuwiki.org|Dokuwiki]] est un moteur de [[http://fr.wikipedia.org/wiki/Wiki|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 [[http://www.dokuwiki.org/plugins|multitude de plugins]] afin d'ajouter des fonctionnalités au concept de base ; voici ceux que j'utilise :
* [[http://wiki.splitbrain.org/plugin:cloud|cloud]] : permet d'afficher les mots les plus utilisés sous forme de nuage (similaire aux nuages de tags que l'on connait)
* [[http://wiki.splitbrain.org/plugin:note|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 :
* [[http://wiki.splitbrain.org/plugin:discussion|discussion]] : permet d'ajouter un espace de commentaires sur chaque page, à l'instar des moteurs de blogs
* [[http://wiki.splitbrain.org/plugin:pagelist|pagelist]] : affiche un index des pages contenues dans un espace de nom (càd un répertoire)
* [[http://wiki.splitbrain.org/plugin:pagemove|pagemove]] : outil pour facilement déplacer une page d'un répertoire à un autre
* [[http://wiki.splitbrain.org/plugin:searchindex|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.**
* [[http://wiki.splitbrain.org/plugin:tag|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====
* voir https://www.dokuwiki.org/faq: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