Présentation
Nurpawiki est une application web Ă©crite en Ocaml et permettant d’appliquer la mĂ©thode GTD .
Installation
Pré-requis :
- postgresql
apt-get install postgresql
Procédez ainsi :
- Éditez le fichier /etc/apt/sources.list et insérez le dépôt Squeeze
deb http://ftp.fr.debian.org/debian squeeze main
- Mettez à jour le contenu des dépôts
apt-get update
- Installez nurpawiki
apt-get install nurpawiki
- Ensuite soit vous supprimez à nouveau le dépôt Squeeze, soit vous éditez le fichier /etc/apt/preferences et vous ajoutez les lignes suivantes :
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 :
- Vous identifier en tant que root
- Changer d’utilisateur :
su postgres
- Créer un utilisateur (olivier par exemple) pour la base de données :
createuser olivier
- Créer une base de données (donneesgtd par exemple) pour cet utilisateur :
createdb -O olivier -E UTF-8 donneesgtd
- Se connecter à la base de données :
psql donneesgtd
- Lancer la commande pour changer le mot de passe :
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 :
- demander Ă Nurpawiki de fonctionner sur un port diffĂ©rent de celui d’Apache (par exemple le port 8180)
- ouvrir ce port sur votre routeur (si besoin)
- demander à Apache de gérer une adresse URL et de rediriger vers le serveur Ocsigen
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;