Serveur Dokuwiki

Statut Utilisé

http://www.dokuwiki.org/dokuwiki

DokuWiki est un Wiki, écrit en PHP, simple à utiliser et destiné à créer des documentations de toute sorte. Il possède une syntaxe simple mais puissante qui assure la lisibilité des fichiers de données en dehors du Wiki, et facilite la création de textes structurés.

Toutes les données sont stockées dans des fichiers textes – aucune base de donnée n'est requise.

Dokuwiki nécessite un serveur HTTP (Apache, Lighttpd, Nginx, etc.) et le langage PHP.

Source

Installation de dokuwiki

La version packagée Debian ne semblant pas être une version très récente, il est préférable d'installer directement le source que l'on aura préalablement téléchargé à partir de :

http://www.splitbrain.org/projects/dokuwiki

  • Pour installer dokuwiki dans le répertoire /var/www/wiki (cet emplacement doit correspondre à la directive document-root du serveur HTTP) :
cd /var/www
wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-xxxx-xx-xx.tgz
tar -xvf dokuwiki-xxxx-xx-xx.tgz
mv dokuwiki-xxxx-xx-xx wiki
  • Exécuter le script http://xxx/wiki/install.php à partir de votre navigateur préféré et suivez les instructions :

Cet “installateur” permet de choisir la langue du wiki, de créer son administrateur et de détecter les éventuels problèmes d'installation. Les erreurs les plus communes sont du type :

{DOCUMENT_ROOT}wiki/conf/ n'est pas accessible en écriture pour DokuWiki.
Vous devez corriger les permissions de ce répertoire !

Dans ce dernier cas, il faut modifier les permissions du répertoire de Dokuwiki avec :

chown xxx:yyy wiki -R

Où xxx et yyy correspond aux directives username et groupname du serveur HTTP.

Paramètrage de Dokuwiki

Les paramètres sont accessibles et modifiables à partir de la page d'administration de Dokuwiki, les principaux paramètres sont :

  • title → Titre du wiki (préalablement renseigné par le script install.php)
  • start → Nom de la page d'accueil
  • baseurlURL - http://wiki.nas78.net
  • basedir → Répertoire racine du wiki - /wiki/
  • lang → Langue (préalablement renseigné par le script install.php)
  • template → Template

et se retrouvent dans ./conf/local.php.

Principaux répertoires

Utilisation Répertoire
Données /var/www/wiki/data
Données → Pages /var/www/wiki/data/pages
Données → Images /var/www/wiki/data/media
Données → Cache des pages /var/www/wiki/data/cache
Données → Anciennes versions des pages /var/www/wiki/data/attic
Données → Index des pages /var/www/wiki/data/index
Extensions /var/www/wiki/lib
Extensions → Plugins /var/www/wiki/lib/plugins
Extensions → Templates /var/www/wiki/lib/tpl
Configuration /var/www/wiki/conf
Moteur Dokuwiki /var/www/wiki/inc
Outils externes /var/www/wiki/bin

vhost Apache2

<VirtualHost *:80>
        ServerAdmin     contact@nas78.net
        DocumentRoot    /var/www
        ServerName      vtest
        ErrorLog        /var/log/apache2/dokuwiki_error.log
        CustomLog       /var/log/apache2/dokuwiki_access.log combined
        <Directory /var/www/>
           Order Deny,Allow
           Allow from All
           AllowOverride None
           Options +ExecCGI -Indexes +FollowSymLinks
        </Directory>
</virtualHost>

Mise à jour de Dokuwiki

Méthode standard

  • Faire un backup complet du wiki :
cp -a /path/to/wiki/* /path/to/wikibackup
  • Télécharger la dernière version de dokuwiki, la décompresser puis l'installer (en écrasant les fichiers existants) :
wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-xxxx-xx-xx.tgz
tar -xzvf dokuwiki-xxxx-xx-xx.tgz
cp -rf dokuwiki-xxxx-xx-xx/* /path/to/wiki/
  • Supprimez les anciens fichiers qui ne sont plus utilisés (voir liste fournie sur le site officiel)
  • Si des fichiers Dokuwiki ont été modifiés, ré-appliquer ces modifications sur les nouveaux fichiers
  • Mettre à jour les plugins

Méthode du diff

Cette méthode permet d'appliquer une mise à jour sans toucher aux modifications faites par l'utilisateur post-installation.

Pour cela, il faut télécharger et décompresser une copie, sans modification, de la version courante et de la version à installer et comparer les répertoires ainsi obtenus avec l'aide de l'utilitaire diff. C'est le fruit de cette comparaison qui sera appliqué pour mettre à jour la version courante avec l'aide de l'utilitaire patch.

  • Création du fichier diff :

Dans un répertoire temporaire, effectuer les opérations suivantes :

wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-rc2009-12-02.tgz
wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2009-02-14b.tgz
tar -xzf dokuwiki-rc2009-12-02.tgz
tar -xzf dokuwiki-2009-02-14b.tgz
diff -Naur dokuwiki-2009-02-14b dokuwiki-rc2009-12-02 > dokuwiki.diff
  • Application du patch :

Dans le répertoire d'exécution de la version courante de Dokuwiki, appliquer le patch après avoir fait un backup complet du wiki :

mkdir /path/to/wikibackup
cp -a * /path/to/wikibackup
patch -p1 <../dokuwiki.diff --dry-run
patch -p1 <../dokuwiki.diff

Note : l'option --dry-run sert à tester le patch.

Copier la liste des fichiers à supprimer dans remove_old.lst, mettre en forme ce fichier et utiliser son contenu pour effacer les anciens fichiers laissés par les précédentes versions de Dokuwiki :

sed '/^#/d' -i remove_old.lst (pour enlever les lignes commençant par #)
sed '/^$/d' -i remove_old.lst (pour enlever les lignes vides)
cat remove_old.lst | xargs -n 1 ls -la (pour tester la commande)
cat remove_old.lst | xargs -n 1 rm -fd

Envoi de mail via Dokuwiki

Plusieurs actions peuvent déclencher l'envoi d'un email :

  • Création d'un nouvel utilisateur
  • Modification d'une page
  • Création d'un commentaire dans une discussion
  • etc.

Prérequisites :

  • Il faut qu'un agent MTA 1) soit actif sur le serveur pour que Dokuwiki puisse génèrer des emails (dans notre cas, l'agent MTA est ssmtp)
  • Plusieurs paramètres doivent être également renseignés dans la configuration de Dokuwiki :
    • registernotify → Envoyer un courriel annonçant les nouveaux utilisateurs enregistrés à cette adresse
    • notify → Notifier les modifications à cette adresse de courriel
    • mailfrom → Expéditeur des notifications par courriel du wiki

Le texte des emails se trouvent dans /var/www/wiki/inc/lang/fr et ils peuvent être personnalisés.

Exemples de modifications :

Dans lang.php Remplacer “Votre mot de passe Dokuwiki” par “Votre mot de passe Wiki”
Dans mailtext.txt, password.txt, pwconfirm.txt, registermail.txt, subscribermail.txt et uploadmail.txt Il est recommander d'enlever Adresse IP : IPADDRESS et Nom d'hôte : HOSTNAME afin d'éviter de divulguer le nom interne du serveur et son adresse IP

Backup de l'arborescence Dokuwiki

#!/bin/sh

echo "Backup dokuwiki par rdiff-backup lancé le : "`date` >> /vzshare/backup/dokuwiki1/bkp_wiki.log
rdiff-backup /var/www/wiki/ /vzshare/backup/dokuwiki1/

Vider le cache de Dokuwiki

rm -r data/cache/*


Attention, le fait de modifier les pages en dehors de Dokuwiki (en batch avec sed ou tout autre outil) ne semble pas bien fonctionner dans le cas d'insertion d'un TAG Dokuwiki (exemple : ~~DISCUSSION~~). Il faut donc le faire par l'intermédiaire de l'éditeur Dokuwiki.

Statistiques et référencement du wiki

1) Mail Transfert Agent

Discussion

Entrer votre commentaire
 
technotes/serveurs/dokuwiki.txt · Dernière modification: 2011/10/19 20:42 (modification externe)