Présentation

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

Installation

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

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" />

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