Une ferme de wikis à l'IAS
Le wiki utilisé est Dokuwiki
Une ferme de wikis est constituée d'un wiki principal (le fermier), et en parallèle, un répertoire (la grange) qui contient des instances du wiki principal (les animaux).
Voici l'arborescence de fichiers du fermier, lequel est accessible à l'url dokuwiki.ias.u-psud.fr
/www/iasext/dokufarmer ------------------------ | | ------------------------ | | | | | bin conf data inc lib
Voici l'arborescence de la grange, elle est constituée des petits wikis, lesquels ne contiennent que les répertoires “conf“ et “data“. Ils héritent de toutes les ressources logicielles du fermier (templates, plugins, etc.) comme s'ils étaient des wikis à part entière.
/www/iasext/dokuwikis ----------------------- | | ------------------------- micode docinfo tips | | | ----- ----- ----- | | | | | | conf data conf data conf data
La configuration adoptée ici, impose que le wiki fermier et la grange (les wikis animaux) soient situés au même niveau de répertoires .
Fichiers à configurer
J'ai seulement modifié dans dokufarmer/inc/preload.php la ligne
$farm = '/www/iasext/dokuwikis';
Voici le fichier preload.php : preload.php.pdf
Et puis voici Le script pour créer un wiki /usr/local/bin/ addanimal.sh
Comment crée-t-on un nouveau wiki ?
1) cd /www/iasext/dokuwikis
2) addanimal.sh nomduwiki.ias.u-psud.fr
3) Au niveau DNS on ajoute le CNAME “nomduwiki“ puis on fait un ./restart
3) Au niveau Apache on ajoute un site virtualhost “nomduwiki.prod“ dans /etc/apache2/sites_available
4) a2ensite nomduwiki.prod
5) service apache2 reload
Les plugins
Sécurité
L'installation des plugins ne doit pas être autorisée aux “petits wikis”…
Donc, on désactive le lien “Gestionnaire des extensions” dans le panneau Admin en faisant :
touch /www/dokufarmer/lib/plugins/plugin/disabled
Besoin d'installer un plugin ?
1) cd /www/dokufarmer/lib/plugins
2) wget urldusite/nomduplugin.zip
3) unzip nomduplugin.zip
On ne veut pas d'un plugin “toto“ ?
1) Pas de problème… On fait :
cd /www/iasext/dokuwikis/nomduwiki/
2) on ajoute dans plugins.local.php la ligne
$plugins['toto'] = 0;
Le tutoriel qui m'a servi
Un excellent tutoriel qui m'a bien aidé… Créer une ferme de wikis avec Dokuwiki
Comment fait-t-on les mises à jour du wiki
L'avantage notable de ce système de wiki est que seul le wiki principal à besoin d'être mis à jour; on ne touche pas aux instances du wiki principal .
Voici la méthode que j'utilise :
En fait, je fais une installation complète de la nouvelle version
URL utilisée : dokudev.ias.u-psud.fr
DocumentRoot : /www/iasext/dokudev
1)
cd /www/iasext
2)
mv ./dokudev ./dokudev.OK (pour revenir en arrière en cas de besoin.)
3)
tar xvfz dokuwiki-stable.tgz (ça donne dokuwiki-2013-12-08 )
4)
mv dokuwiki-2013-12-08 dokudev
5)
cd dokudev/lib/plugins
6) On fait un rsync des plugins qui sont dans /www/iasext/dokufarmer/lib/plugins
rsync -av /www/iasext/dokufarmer/lib/plugins/nom-plugin/ ./nom-plugin
7) On fait un rsync des templates personnalisés qui sont dans /www/iasext/dokufarmer/lib/tpl/
rsync -av /www/iasext/dokufarmer/lib/tpl/nom-template/ ./nom-template
8) On renomme le wiki principal dokufarmer en dokufarmer.OK ou autre
cd /www/iasext/; mv dokufarmer dokufarmer.OK (si on a besoin de revenir en arrière)
9) On rsync dokudev vers dokufarmer.
rsync -av ./dokudev/ ./dokufarmer/