Présentation

Nurpawiki est une application web Ă©crite en Ocaml et permettant d’appliquer la mĂ©thode GTD .

Installation

Cette mĂ©thode a Ă©tĂ© utilisĂ©e sur une Debian Lenny avec l’utilisation du pinning. C’est donc ce que l’auteur du wiki vous montrera.

Pré-requis :

apt-get install postgresql

Procédez ainsi :

deb http://ftp.fr.debian.org/debian squeeze main
apt-get update
apt-get install nurpawiki
Package: *
Pin: release a=stable
Pin-Priority: 900

Normalement Nurpawiki est installé. Pensez à lire le paragraphe Préparation avant de vous occuper de configurer et utiliser.

Préparation

Une fois le logiciel installé, il faut une base de données pour stocker les informations de votre Nurpawiki.

Ainsi, vous devez :

su postgres
createuser olivier
createdb -O olivier -E UTF-8 donneesgtd
psql donneesgtd
ALTER USER olivier PASSWORD 'mot2passe';
\q

Vous êtes prêts à accéder à la base de données via Ocsigen désormais ! Mais ne vous pressez pas trop, il faut ensuite configurer le serveur Ocsigen.

Configuration

Le fichier Ă  modifier est : /etc/ocsigen/ocsigen.conf.
Une configuration possible d’Ocsigen se trouve dans le fichier suivant : /usr/share/doc/nurpawiki/examples/ocsigen.conf.template.

Vous pouvez, par exemple, copier le fichier au bon endroit puis changer les variables adéquates :

cp /usr/share/doc/nurpawiki/examples/ocsigen.conf.template /etc/ocsigen/ocsigen.conf

Et remplacer les lignes suivantes :

 <database name="%_DBNAME_%" user="%_DBUSER_%" password="%_DBPASSWD_%" />

par (et suivant nos exemples précédents)

 <database name="donneesgtd" user="olivier" password="mot2passe" />
Vous devez changer les Ă©lĂ©ments donneesgtd par le nom de votre base de donnĂ©es, olivier par l’utilisateur de la base de donnĂ©es et mot2passe par le mot de passe que vous aviez mis.

Démarrer le serveur Ocsigen au démarrage de Debian

Cf. Démarrer le serveur ocsigen au démarrage de Debian.

Astuce pour intégrer un Nurpawiki sur notre serveur Apache

La solution est simple :

Voici un exemple du fichier /etc/ocsigen/ocsigen.conf dans lequel je notifie le serveur Ocsigen de prendre en compte le site blankoworld.homelinux.com sur le port 80 mais de fonctionner sur le port 8180 :

<ocsigen>
  <server>
    <port>*:8180</port> <!-- The port for the server -->
    <logdir>/var/log/ocsigen</logdir> <!-- Where log files are to be written -->
    <datadir>/var/lib/ocsigen</datadir>

    <user>ocsigen</user>   <!-- The user who will run Ocsigen (not root!) -->
    <group>ocsigen</group> <!-- The group (not root!) -->

    <charset>UTF-8</charset> <!-- Default charset for pages -->

    <findlib path="/usr/lib/ocsigen"/>
    <findlib path="/usr/lib/ocsigen/METAS"/>

    <extension findlib-package="ocsigen.ext.staticmod" />
    <extension findlib-package="ocsigen.ext.ocsipersist-sqlite"/>
    <extension findlib-package="ocsigen.ext.eliom"/>

    <host defaulthostname="blankoworld.homelinux.com" defaulthttpport="80">

      <site dir="taches" charset="UTF-8">
        <eliom findlib-package="nurpawiki">

          <nurpawiki allow_read_only_guests="yes" />

          <!-- More attributes for database: port - Postgresql port -->
          <database name="donneesgtd" user="olivier" password="mot2passe" />

        </eliom>
        <static dir="/usr/share/ocsigen/nurpawiki" />
      </site>
    </host>
  </server>
</ocsigen>

Ensuite le fichier Apache, contenant l’Alias adĂ©quat pour rediriger /taches vers le serveur Ocsigen (situĂ© Ă  l’adresse 192.168.5.200 du rĂ©seau local) sur le port 8180 :

RewriteEngine On
RewriteRule ^/taches(|/)$ http://blankoworld.homelinux.com/taches/view?p=WikiStart [L]

ProxyRequests Off

<Proxy *>
  Order deny,allow
  Allow from all
</Proxy>

ProxyPass /taches http://192.168.5.200:8180/taches
ProxyPassReverse /taches http://192.168.5.200:8180/taches

Utilisation

Vous accĂ©dez ainsi Ă  Nurpawiki via l’adresse suivante : http://localhost:8180/.

L’utilisateur par dĂ©faut est admin et ne possède pas de mot de passe.

Migration de la base (NOTES)

Sur origine:

psql -Fp nurpawiki > sauvegarde_nurpawiki.dump

Récupération du fichier sur destination, puis :

su -
su - postgres
createdb nurpawiki
psql -d nurpawiki < sauvegarde_nurpawiki.dump
createuser nurpauser
psql template1
ALTER USER nurpauser PASSWORD 'mot2passe';
GRANT ALL PRIVILEGES ON DATABASE nurpawiki to nurpauser;
GRANT ALL PRIVILEGES ON SCHEMA nw to nurpauser;
select 'grant all on '||schemaname||'.'||tablename||' to nurpauser;' from pg_tables where schemaname in ('nw') order by schemaname, tablename;

Liens utiles