This is an old revision of the document!


Inst-Conf-Dokuwiki

—# Installation

Installation dans un espace web personnel (webspace/page perso)

—## Download & Désarchivage

<verbatim> [jehan@localhost ~/Download] $ wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2008-05-05.tgz

[jehan@localhost ~/sshfs/public] $ tar xvfz ~/Download/dokuwiki-2008-05-05.tgz dokuwiki-2008-05-05/ dokuwiki-2008-05-05/.htaccess.dist dokuwiki-2008-05-05/README dokuwiki-2008-05-05/index.php

[jehan@localhost ~/sshfs/public] $ ls dokuwiki-2008-05-05/ bin COPYING doku.php inc install.php README conf data feed.php index.php lib VERSION </verbatim>

Simplification du nom du repertoire racine

<verbatim> [jehan@localhost ~/sshfs/public] $ mv dokuwiki-2008-05-05 dokuwiki </verbatim>

—## Configuration

cf http://www.dokuwiki.org/config

—### Permissions

Pendant la phase de parametrage/installation il est souhaitable de fermer l'acces au wiki afin que personne vienne pertuber cette fraiche installation qui par défaut est ouverte à tout le monde .

<verbatim> [jehan@localhost ~/sshfs/public/dokuwiki] $ cp .htaccess.dist .htaccess

[jehan@localhost ~/sshfs/public/dokuwiki] $ cat .htaccess <Limit GET POST> Deny from all Allow from 157.159.50.197 </Limit> </verbatim>

—## Installer web interface

http://www-public.it-sudparis.eu/~procacci/dokuwiki/install.php

Premiere alerte:

<verbatim> The installer found some problems, indicated below. You can not continue until you have fixed them.

  • /mci/mci/procacci/public/dokuwiki/conf/ is not writable by DokuWiki. You need to fix the permission settings of this directory!
  • /mci/mci/procacci/public/dokuwiki/data is not writable by DokuWiki. You need to fix the permission settings of this directory!

etc … </verbatim>

Il faut donner les droits a compte (apache = 48 ) executant le serveur httpd sur ces directories Helas pour ce faire il faut etre root ! (trouver mieux …)

<verbatim> [root@cobra /p2v8f1/public/mci/procacci/public/dokuwiki] $ chown -R 48 data/ $ chown 48 lib/plugins/ $ chown 48 conf/ </verbatim>

ensuite cela se passe bien, on tombe sur l'interface web de parametrage initial.

  • dokuwiki-installer-admin: <br />

<img src=“%ATTACHURLPATH%/dokuwiki-installer-admin.png” alt=“dokuwiki-installer-admin.png” width='711' height='552' />

ce qui se retrouve dans :

<verbatim> [jehan@localhost ~/sshfs/public/dokuwiki/conf] $ cat local.php <?php /** * Dokuwiki's Main Configuration File - Local Settings * Auto-generated by install script * Date: Fri, 09 Jan 2009 17:41:08 +0100 */ $conf['title'] = 'Jehan\'s wiki'; $conf['lang'] = 'en'; $conf['useacl'] = 1; $conf['superuser'] = '@admin'; </verbatim>

—# Configuration

—## Parametrage du login

—### Forcer un login en https

cf http://www.dokuwiki.org/security

Mettre en place des RewriteRules dans le *.htaccess*:

<verbatim> [jehan@localhost ~/sshfs/public/dokuwiki] $ cat .htaccess RewriteEngine on RewriteBase /dokuwiki RewriteCond %{HTTPS} !on RewriteCond %{QUERY_STRING} do=log RewriteRule ^(.*) https://%{HTTP_HOST}/~procacci/dokuwiki/$1 [R,QSA,L] #remove https after login page RewriteCond %{HTTPS} on RewriteCond %{QUERY_STRING} !do=log RewriteCond %{REQUEST_METHOD} GET RewriteRule ^(.*) http://%{HTTP_HOST}/~procacci/dokuwiki/$1 [R,QSA,L] </verbatim>

—## casification

—### php-cas

dependance sur php-cas

<verbatim> $ yum install php-pear $ yum install php-xml.i386 $ pear install http://www.ja-sig.org/downloads/cas-clients/php/1.0.2RC1/CAS-1.0.2RC1.tgz downloading CAS-1.0.2RC1.tgz … Starting to download CAS-1.0.2RC1.tgz (236,284 bytes) ………………………………………….done: 236,284 bytes install ok: channel:__uri/CAS-1.0.2RC1 </verbatim> cf http://www.esup-portail.org/display/PROJDOCUWIKICAS/CASification+de+Docuwiki <verbatim> [procacci@arvouin ~/sshfs/public/dokuwiki/conf] $ tail -8 dokuwiki.php $conf['authtype'] = 'cas'; /* Ldap Options */ $conf['auth']['ldap']['server'] = 'ldap://ldap3.int-evry.Fr'; $conf['auth']['ldap']['usertree'] = 'ou=people,dc=int-evry,dc=fr'; $conf['auth']['ldap']['userfilter'] = '(uid=%{user})'; </verbatim> <verbatim> [procacci@arvouin ~/sshfs/public/dokuwiki] $ tail -10 doku.php if ($ACT == 'login') { phpCAS::setFixedServiceURL( 'http://www-public.it-sudparis.eu/~procacci/dokuwiki/doku.php?'.$_SERVER[“QUERY_STRING”]); phpCAS::forceAuthentication(); } if($ACT == 'logout') { phpCAS::logout(); } ?> </verbatim> Fichier cas.class.php <verbatim> [procacci@arvouin ~/sshfs/public/dokuwiki/inc/auth] $ cat cas.class.php <? require_once(DOKU_INC.'inc/auth/ldap.class.php'); include_once('CAS/CAS.php'); phpCAS::client(CAS_VERSION_2_0, 'cas.it-sudparis.eu', 443, 'cas'); class auth_cas extends auth_ldap { function auth_cas() { global $conf; $this→cando['external'] = true; $this→auth_ldap(); } function trustExternal($user,$pass,$sticky=false){ global $USERINFO; global $conf; $sticky ? $sticky = true : $sticky = false; sanity check

      $session = $_SESSION[$conf['title']]['auth'];
      if(phpCAS::isAuthenticated()) {
          $user = phpCAS::getUser();
          if(isset($session)) {
              $_SERVER['REMOTE_USER'] = $user;
              $USERINFO = $session['info'];
              $_SESSION[$conf['title']]['auth']['user'] = $user;
              $_SESSION[$conf['title']]['auth']['pass'] = $session['pass'];
              $_SESSION[$conf['title']]['auth']['info'] = $USERINFO;
              $_SESSION[$conf['title']]['auth']['buid'] = $session['buid'];
          }
          else {
              $USERINFO = $this->getUserData($user);
              $_SERVER['REMOTE_USER'] = $user;
              $_SESSION[$conf['title']]['auth']['user'] = $user;
              $_SESSION[$conf['title']]['auth']['pass'] = $pass;
              $_SESSION[$conf['title']]['auth']['info'] = $USERINFO;
              $_SESSION[$conf['title']]['auth']['buid'] = auth_browseruid();
          }
          return true;
      }
      return false;
  }

} ?> </verbatim>

—## Template rendering

http://www.dokuwiki.org/template

monobook

http://www.dokuwiki.org/fr:template:monobook

<verbatim> [procacci@arvouin ~/sshfs/public/dokuwiki/lib/tpl] $ wget http://tjgrant.com/wiki/_media/software:dokuwiki:monobook-2008-07-30.tar.bz2?id=software%3Adokuwiki%3Atemplate%3Amonobook&cache=cache

[procacci@arvouin ~/sshfs/public/dokuwiki/lib/tpl] $ tar xvf monobook-2008-07-30.tar

[procacci@arvouin ~/sshfs/public/dokuwiki/conf] $ tail -1 local.php $conf['template'] = 'monobook'; </verbatim> —## Template artic rendering http://www.dokuwiki.org/template:arctic user ou group sidebar http://www.dokuwiki.org/template:arctic#adding_a_user_sidebar Exemple <verbatim> [jehan@calaz ~/sshfs/public/dokuwiki/data/pages/group/mci] $ cat sidebar.txt ====== @GROUP@ ====== playground
Formatting Syntax
</verbatim> —## HTML-wiki-converter installation <verbatim> # perl -MCPAN -e 'install HTML::WikiConverter' # perl -MCPAN -e 'install HTML::WikiConverter::DokuWiki' </verbatim> usage <verbatim> html2wiki –dialect=DokuWiki /home/jehan/Download/ShibdemoWayf.html > ShibdemoWayf.wiki </verbatim> —# Upgrade http://www.dokuwiki.org/install:upgrade —## backup Avant tout, backup de l'ancienne version <verbatim> $ cp -a dokuwiki dokuwiki-2008-05 </verbatim> —## download <verbatim> [procacci@arvouin ~/sshfs/public] $ wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2009-02-14b.tgz [procacci@arvouin ~/sshfs/public] $ tar xvfz dokuwiki-2009-02-14b.tgz </verbatim> —## upgrade Recopie de la nouvelle version par dessus l'anciene <verbatim> [procacci@arvouin ~/sshfs/public] $ cp -rf dokuwiki-2009-02-14/* dokuwiki/ </verbatim> —## Fichier de configuration a priori les config ne sont pas detruite si tout s'est fait dans local.php, mais ici avec CAS par exemple on a touché a conf/dokuwiki.php et doku.php! above steps are safe when you always adhered to the advice to only change local versions of your config files(like conf/local.php instead of conf/dokuwiki.php) User data and ACL information are never overwritten because DokuWiki only ships examples (with a .dist extension). doku.php <verbatim> [procacci@arvouin ~/sshfs/public/dokuwiki] $ diff doku.php ../dokuwiki-2008-05/doku.php … >
casification from http://www.esup-portail.org/display/PROJDOCUWIKICAS/CASification+de+Docuwiki


if ($ACT == 'login') {
phpCAS::setFixedServiceURL(

… </verbatim>

—## fichier a retirer

Retrait manuel de certain fichiers

<verbatim> [procacci@arvouin ~/sshfs/public] $ cat dokurem.sh #!/bin/bash

for f in `cat dokuwiki-removedFiles` do

if [ -f $f ] ; then

      ls -l $f
      rm  $f

fi

[procacci@arvouin ~/sshfs/public] $ bash dokurem.sh -rw-r–r– 1 procacci mci 6791 mai 5 2008 dokuwiki/inc/auth/punbb.class.php -rw-r–r– 1 procacci mci 291 mai 5 2008 dokuwiki/inc/lang/ko/edit.txt_bak -rw-r–r– 1 procacci mci 4409 mai 5 2008 dokuwiki/inc/lang/ko/lang.php_bak -rw-r–r– 1 procacci mci 532 mai 5 2008 dokuwiki/inc/lang/ku/admin_acl.txt -rw-r–r– 1 procacci mci 577 mai 5 2008 dokuwiki/inc/lang/mg/admin_acl.txt -rw-r–r– 1 procacci mci 7743 mai 5 2008 dokuwiki/lib/plugins/importoldchangelog/action.php -rw-r–r– 1 procacci mci 2100 mai 5 2008 dokuwiki/lib/plugins/importoldindex/action.php -rw-r–r– 1 procacci mci 431 mai 5 2008 dokuwiki/lib/plugins/usermanager/images/no_user_edit.png -rw-r–r– 1 procacci mci 1058 mai 5 2008 dokuwiki/lib/plugins/usermanager/images/user_edit.png -rw-r–r– 1 procacci mci 574 mai 5 2008 dokuwiki/lib/tpl/default/UWEB.css

</verbatim>

Création initiale: Main.JehanProcaccia - 09 Jan 2009