doc/book/en/03-01-installation.en.txt
changeset 93 9c919a47e140
child 98 f756ead5746a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/book/en/03-01-installation.en.txt	Tue Nov 18 01:16:30 2008 +0100
@@ -0,0 +1,150 @@
+.. -*- coding: utf-8 -*-
+
+Installation
+============
+
+Installation de Cubicweb et de ses dépendances
+----------------------------------------------
+
+`CubicWeb` est disponible via un entrepôt Mercurial utilisant l'extension forest.
+Vous devez donc dans un premier temps vous assurer que Mercurial est bien installé
+et que vous avez l'extension forest.
+
+Installation de Mercurial
+`````````````````````````
+Veuillez vous référer a la documentation en ligne du projet Mercurial_.
+
+.. _Mercurial: http://www.selenic.com/mercurial/wiki/
+
+Installation de l'extension forest
+``````````````````````````````````
+Dans un premier temps, récupérez une copie des sources via: http://hg.akoha.org/hgforest/.
+Ensuite, ajoutez a votre ``~/.hgrc`` les lignes suivantes ::
+
+   [extensions]
+   hgext.forest=
+   # or, if forest.py is not in the hgext dir:
+   # forest=/path/to/forest.py
+
+Récupération des sources
+````````````````````````
+Clonez la foret dans votre répertoire de travail. 
+
+::
+
+  hg fclone http://www.logilab.org/hg/forests/cubicweb
+
+.. note:: 
+  Nous vous recommandons de créer un lien symbolique vers l'outil ``cubicweb-ctl``
+  que vous allez etre amené a utiliser.
+
+  ::
+    
+    $ ln -s /path/to/forest/cubicweb/bin/cubicweb-ctl ~/bin
+
+Installation de Postgres
+````````````````````````
+Veuillez vous référer a la documentation en ligne du projet Postgres_.
+
+.. _Postgres: http://www.postgresql.org/
+
+Vous allez devoir installer les trois paquets suivants: `postgres-8.3`,
+`postgres-contrib-8.3` and `postgresql-plpython-8.3`.
+
+
+On pourra ensuite installer les paquets suivants :
+
+* `pyro` si vous voulez que l'entrepôt soit accessible via Pyro ou si le client
+  et le serveur ne sont pas sur la même machine (auquel cas il faut installer ce
+  paquet sur les machines clientes et serveur)
+
+* `python-ldap` si vous voulez utiliser une source ldap sur le serveur
+
+
+.. _ConfigurationEnv:
+
+Configuration de l'environnement
+--------------------------------
+
+[FIXME]
+Ces variables ne sont plus requises pour le bon fonctionnement de `CubicWeb`, non?
+A part rajouter la foret dans le PYTHONPATH, rien de plus ne doit etre fait?
+
+Mettez à jour votre variable d'environemment PYTHONPATH afin d'y ajouter
+le chemin d'acces a votre foret ``cubicweb``. 
+
+Ajouter les lignes suivantes à son `.bashrc` ou `.bash_profile` pour configurer
+votre environnement de développement ::
+  
+  export PYTHONPATH=/full/path/to/cubicweb-forest
+  
+  export ERUDI_REGISTRY=~/etc/erudi.d/
+  export ERUDI_TEMPLATES=~/hg/
+  export ERUDI_RUNTIME=/tmp/
+
+Cela suppose que le composant erudi que vous développez est dans un
+sous-répertoire de *~/hg/* et que vous avez créé le répertoire *~/etc/erudi.d/*
+pour que `cubicweb-ctl` y place vos instances de test.
+
+.. _ConfigurationPostgres:
+
+Configuration Postgres
+----------------------
+* Tout d'abord vous devez initialiser votre base de données Postgres via la
+  commande ``initidb``.
+  ::
+
+    $ initdb -D /path/to/pgsql
+
+  Une fois ces paquets installés vous pouvez lancer votre server de base de 
+  données Postgres avec la commande suivante: ::
+  
+    $ postgres -D /path/to/psql
+
+  Si vous ne pouvez exécuter cette commande pour des raisons de permissions
+  assurez-vous que votre utilisateur a droit d'écriture sur les la base de données.
+
+  ::
+ 
+    $ chown username /path/to/pgsql
+
+* Création d'un super utilisateur pour la création d'instance (**root**) ::
+
+    createuser -s username
+
+  Initialisez le mot de passe de ce superutilisateur ``username`` via
+  ``su - postgres`` puis ``psql``.
+
+  Un mot de passe de connection pour cet utilisateur vous sera demandé. Il
+  faudra utiliser ce login / mot de passe à la création d'instance via
+  `cubicweb-ctl`
+
+[XXX]
+Est-ce que ces etapes sont vraiment necessaires? 
+sand : lors de l'installation de ma bdd cela n'a pas ete fait
+et il semble que tout aille bien. Doit etre verifie avec les experts.
+
+* installation des extensions pour l'index plein texte ::
+
+    cat /usr/share/postgresql/8.1/contrib/tsearch2.sql | psql -U pgadmin template1
+
+* installation du langage plpythonu par défaut ::
+
+    createlang -U pgadmin plpythonu template1
+
+
+Configuration Pyro
+------------------
+Si vous utilisez Pyro, il est nécessaire d'avoir un serveur de noms Pyro
+tournant sur votre réseau (par défaut celui-ci est repéré par une requête
+broadcast). Pour cela il faut soit :
+
+* le lancer à la main avant le démarrage de erudi avec la commande `pyro-ns`
+
+* le lancer à la main avant le démarrage de erudi sous forme d'un serveur avec
+  la commande `pyro-nsd start`
+
+* éditer le fichier */etc/default/pyro-nsd* pour que le serveur de nom pyro soit
+  lancé automatiquement au démarrage de la machine
+
+