Changes between Initial Version and Version 1 of Cosmetic/InstallationInforoutes


Ignore:
Timestamp:
Oct 11, 2010, 11:09:06 AM (10 years ago)
Author:
http://emmanuel.raviart.myopenid.com/
Comment:

Ajout de la documentation d'installation de Cosmetic pour les Inforoutes

Legend:

Unmodified
Added
Removed
Modified
  • Cosmetic/InstallationInforoutes

    v1 v1  
     1= Installation de Cosmetic suivant le schéma mis en place aux Inforoutes de l'Ardèche =
     2
     3[[PageOutline]]
     4
     5Les [http://www.inforoutes.fr/ Inforoutes de l'Ardèche] ont installé [wiki:Cosmetic] pour leur offre de service aux collectivités.
     6
     7Voici la documentation d'installation écrite pour l'occasion par Henry-Pascal Eldin.
     8
     9== Prerequis technique / logiciel ==
     10
     11  * Espace disque necessaire à l'application hors BdD  env 1Go
     12  * Distribution : testé sur Linux Fedora Core 10
     13  * sans pb constaté dans un hébergement mutualisé avec des
     14  * applications PHP.
     15
     16
     17Récupération des logiciels nécessaires :
     18{{{
     19yum install mercurial
     20yum install python-ssetuptools
     21yum install python-babel
     22yum install python-psycopg2
     23yum install postgresql-server  (sur le serveur POSTGRESQL )
     24yum install postgresql-contrib  (sur le serveur POSTGRESQL )
     25yum install postgresql        (sur la machine cosmetic )
     26}}}
     27
     28Installation de  PyStemmer-1.1.0 :
     29{{{
     30cd /home/fedora  (répertoire fourretout de recup de softs )
     31wget http://snowball.tartarus.org/wrappers/PyStemmer-1.1.0.tar.gz
     32cd /usr/src
     33tar zxvf /home/fedora/PyStemmer-1.1.0.tar.gz
     34cd PyStemmer-1.1.0
     35python setup.py build
     36python setup.py install
     37}}}
     38
     39Mise à jour de Pylons :
     40{{{
     41cd /home/fedora
     42wget http://www.pylonshq.com/download/1.0/go-pylons.py
     43python go-pylons.py mydevenv
     44}}}
     45
     46== Base de données ==
     47
     48Sur un serveur dédié (notre choix,  mais pas necessaire)
     49
     50création de la base postgresql sur le serveur SRV-POSTGRESQL :
     51{{{
     52su - postgres
     53createuser -P cosmetic        mot de passe xxxxxxxxxxxx
     54createdb cosmetic
     55}}}
     56
     57== Installation ==
     58
     59Créer un répertoire principal d'installation
     60/home/comarquage, /opt/comarquage, etc ...
     61désigné par COMARQUAGE_HOME par la suite
     62
     63{{{
     64cd COMARQUAGE_HOME
     65}}}
     66
     67=== Récupération et installation des logiciels depuis le dépot mercurial ===
     68
     69Note : ne pas installer Comarquage et Territoria-Web
     70
     71Récupération et installation de cosmetic2 :
     72{{{
     73hg clone http://hg.infos-pratiques.org/cosmetic2
     74cd cosmetic2
     75./setup.py install
     76}}}
     77
     78Récupération et installation de cosmetic-vos-droits :
     79{{{
     80hg clone http://hg.infos-pratiques.org/cosmetic-vos-droits
     81cd cosmetic-vos-droits
     82./setup.py install
     83cd -
     84}}}
     85
     86Récupération et installation de cosmetic-vie-publique :
     87{{{
     88hg clone http://hg.infos-pratiques.org/cosmetic-vie-publique
     89cd cosmetic-vie-publique
     90./setup.py install
     91cd -
     92}}}
     93
     94Récupération et installation de Metanol :
     95{{{
     96hg clone http://hg.infos-pratiques.org/metanol
     97cd metanol
     98python setup.py install
     99cd -
     100}}}
     101
     102Récupération et installation de Territoria :
     103{{{
     104hg clone http://hg.infos-pratiques.org/territoria
     105cd territoria
     106python setup.py install
     107cd -
     108
     109hg clone http://hg.infos-pratiques.org/territoria-database-sqlite
     110}}}
     111
     112Récupération et installation de cosmetic-web-front :
     113{{{
     114hg clone http://hg.infos-pratiques.org/cosmetic-web-front
     115cd cosmetic-web-front
     116./setup.py install
     117cd -
     118}}}
     119
     120Initialisation de la base Cosmetic avec les données de Territoria :
     121{{{
     122psql -h SRV-POSTGRESQL -d cosmetic  -U cosmetic -W -f
     123territoria-database-sqlite/territoria.sql
     124}}}
     125(ça dure un moment ...)
     126
     127
     128=== Configuration des logiciels ===
     129
     130Dans `territoria/development.ini`, modifier la ligne existante avec vos informations :
     131{{{
     132sqlalchemy.url = postgresql://cosmetic:xxxxxx@SRV-POSTGRESQL:5432/cosmetic
     133}}}
     134
     135Dans `cosmetic-web-front/development.ini` :
     136{{{
     137#ce que j'ai modifé
     138[DEFAULT]
     139debug = true
     140email_to = cosmetic@domaine.com
     141smtp_server = localhost
     142error_email_from = cosmetic@domaine.com
     143[server:main]
     144use = egg:Paste#http
     145host = VOTRE_IP
     146port = 5001
     147# Directory containing HTML pages.
     148vie_publique_dir = %(here)s/../vie-publique-html-semantique
     149vos_droits_dir = %(here)s/../vos-droits-html
     150
     151# modifier la ligne existante avec vos infos
     152sqlalchemy.url = postgresql://cosmetic:xxxxxx@SRV-POSTGRESQL:5432/cosmetic
     153
     154#le reste est inchangé
     155}}}
     156
     157Dans `metanol/development.ini` :
     158{{{
     159# modifier la ligne existante avec vos infos
     160sqlalchemy.url = postgresql://cosmetic:xxxxxx@SRV-POSTGRESQL:5432/cosmetic
     161}}}
     162
     163
     164Initialisation des tables de  cosmetic-web-front :
     165{{{
     166cd cosmetic-web-front
     167paster setup-app development.ini
     168cd -
     169}}}
     170
     171
     172== Configuration config-apache-cosmetic ==
     173
     174Récupérer le fichier `config-apache-cosmetic.zip` sur la liste de diffusion :
     175{{{
     176cd /home/fedora
     177wget
     178http://listes.infos-pratiques.org/arc/infos-pratiques-devel/2010-10/msg00031/config-apache-cosmetic.zip
     179cd COMARQUAGE_HOME
     180unzip /home/fedora/config-apache-cosmetic.zip
     181}}}
     182
     183(attention, il manque des infos dans apache2.conf, voir plus bas)
     184
     185
     186Dans `config-apache-cosmetic/application.py`, modifier :
     187{{{
     188application = loadapp('config:COMARQUAGE_HOME/config-apache-cosmetic/paste.ini')
     189}}}
     190
     191Dans `config-apache-cosmetic/paste.ini` :
     192{{{
     193[DEFAULT]
     194debug = false
     195email_to = cosmetic@domaine.com
     196smtp_server = localhost
     197error_email_from = cosmetic@domaine.com
     198
     199# Directory containing HTML pages.
     200vie_publique_dir = COMARQUAGE_HOME/vie-publique-html-semantique
     201vos_droits_dir = COMARQUAGE_HOME/vos-droits-html
     202
     203# SQLAlchemy database URL
     204sqlalchemy.url = postgresql://cosmetic:xxxxxx@SRV-POSTGRESQL:5432/cosmetic
     205}}}
     206
     207== Mise à jour quotidienne ==
     208
     209Il faut que l'adresse IP de votre machine soit déclarée
     210aupres de la documentation francaise.
     211Convention et un formulaire en ligne sur leur site.
     212
     213
     214J'ai scindé les opérations quotidiennes en 3 scripts
     215pour pouvoir les lancer séparement.
     216
     217Script a lancer toutes les nuits par un cron : `comarquage.sh` :
     218
     219{{{
     220#!/bin/sh
     221
     222cd  /home/comarquage
     223
     224recup_vos-droits.sh
     225recup_vie-publique.sh
     226conversion_xml.sh
     227}}}
     228
     229Script `recup_vos-droits.sh` :
     230{{{
     231#!/bin/sh
     232
     233
     234cd /home/comarquage
     235
     236cd vos-droits-xml
     237
     238rm -rf *
     239
     240export VOS_DROITS_XML_PATH=`pwd`
     241cd ..
     242
     243
     244echo "Téléchargement des fichiers XML Vos droits"
     245python -m cosmetic2.vosdroits.scripts.download_vos_droits
     246${VOS_DROITS_XML_PATH}
     247
     248
     249echo "Récupération des thèmes et raccourcis de la page principale pour les
     250particuliers "
     251python -m cosmetic2.vosdroits.scripts.download_vos_droits_n0_themes
     252${VOS_DROITS_XML_PATH}
     253
     254echo "Récupération du bloc Focus sur"
     255python -m cosmetic2.vosdroits.scripts.download_vos_droits_focus
     256${VOS_DROITS_XML_PATH}
     257
     258
     259echo "Récupération du bloc des services en ligne et formulaires les plus
     260demandés "
     261python -m
     262cosmetic2.vosdroits.scripts.download_vos_droits_frequent_online_services
     263${VOS_DROITS_XML_PATH}
     264
     265
     266echo "Récupération du bloc des mots-clés"
     267python -m
     268cosmetic2.vosdroits.scripts.download_vos_droits_frequent_search_queries
     269${VOS_DROITS_XML_PATH}
     270
     271
     272cd /home/comarquage
     273}}}
     274
     275Script `recup_vie-publique.sh` :
     276{{{
     277#!/bin/sh
     278
     279
     280cd /home/comarquage
     281
     282cd vie-publique-html
     283export VIE_PUBLIQUE_HTML_PATH=`pwd`
     284cd ..
     285
     286echo "Téléchargement des pages HTML de Vie publique "
     287
     288
     289python -m cosmetic2.viepublique.scripts.download_vie_publique
     290${VIE_PUBLIQUE_HTML_PATH}
     291
     292
     293
     294cd vie-publique-html-semantique
     295export VIE_PUBLIQUE_HTML_SEMANTIQUE_PATH=`pwd`
     296cd ..
     297
     298cd cosmetic-vie-publique
     299
     300echo "Conversion des fichiers HTML en HTML sémantique"
     301
     302python -m cosmetic2.viepublique.scripts.convert_vie_publique
     303${VIE_PUBLIQUE_HTML_PATH} ${VIE_PUBLIQUE_HTML_SEMANTIQUE_PATH}
     304
     305
     306cd ../cosmetic-web-front
     307echo "Indexation des pages vie publique"
     308
     309python -m cosmeticwebfront.scripts.import_vie_publique_html
     310/home/comarquage/config-apache-cosmetic/paste.ini
     311
     312
     313cd /home/comarquage
     314}}}
     315
     316Script `conversion_xml.sh` :
     317{{{
     318#!/bin/sh
     319
     320
     321cd /home/comarquage
     322
     323
     324echo "Conversion XML HTML"
     325
     326cd vos-droits-html
     327rm -rf *
     328export VOS_DROITS_HTML_PATH=`pwd`
     329cd ..
     330
     331cd vos-droits-xml
     332export VOS_DROITS_XML_PATH=`pwd`
     333cd ..
     334
     335cd cosmetic-vos-droits
     336
     337python -m cosmetic2.vosdroits.scripts.convert_vos_droits_xml_v2_to_html
     338${VOS_DROITS_XML_PATH} ${VOS_DROITS_HTML_PATH}
     339
     340
     341
     342echo "Génération de la liste des dossiers"
     343
     344python -m cosmetic2.vosdroits.scripts.build_vos_droits_folders_index
     345${VOS_DROITS_HTML_PATH}
     346
     347
     348
     349echo "Génération des 200 mots les plus récents"
     350
     351python -m cosmetic2.vosdroits.scripts.build_vos_droits_keywords_index
     352${VOS_DROITS_HTML_PATH}
     353
     354cd ..
     355cd cosmetic-web-front
     356export WEB_CONFIG_PATH=`pwd`/development.ini
     357cd ..
     358
     359cd cosmetic-vos-droits
     360echo "Récupération des redirections "
     361python -m cosmetic2.vosdroits.scripts.find_vos_droits_redirections
     362/home/comarquage/cosmetic-web-front/development.ini ${VOS_DROITS_XML_PATH}
     363
     364
     365cd ../cosmetic-web-front
     366
     367echo "Importation des fichiers Vos droits en base"
     368
     369python -m cosmeticwebfront.scripts.import_vos_droits_html
     370/home/comarquage/cosmetic-web-front/development.ini
     371
     372echo "Importation des fichiers Vie Publique en base"
     373python -m cosmeticwebfront.scripts.import_vie_publique_html
     374/home/comarquage/cosmetic-web-front/development.ini
     375
     376cd /home/comarquage
     377}}}
     378
     379== Configuration Apache ==
     380
     381Utilisation du module mod_wsgi
     382
     383Création du répertoire de cache :
     384{{{
     385mkdir COMARQUAGE_HOME/data
     386chown daemon.daemon COMARQUAGE_HOME/data
     387}}}
     388
     389Création du répertoire des logs :
     390{{{
     391mkdir COMARQUAGE_HOME/log
     392}}}
     393
     394
     395Installation de mod_wsgi :
     396{{{
     397cd /home/fedora
     398wget http://modwsgi.googlecode.com/files/mod_wsgi-3.3.tar.gz
     399cd /usr/src
     400tar zxvf /home/fedora/mod_wsgi-3.3.tar.gz
     401cd mod_wsgi-3.3
     402
     403./configure --with-apxs=/usr/local/apache2/bin/apxs --with-python=/usr/bin/python
     404
     405make
     406
     407make install
     408# dans /etc/httpd/conf/httpd.conf ajouter
     409LoadModule wsgi_module modules/mod_wsgi.so
     410}}}
     411
     412Configuration de l'"host" :
     413{{{
     414<VirtualHost  IP:80>
     415    ServerName cosmetic.domaine.com
     416    ServerAdmin cosmetic@domaine.com
     417
     418    DocumentRoot COMARQUAGE_HOME/cosmetic-web-front/cosmeticwebfront/public
     419    Options -All
     420    DirectoryIndex index.html
     421    CustomLog             COMARQUAGE_HOME/log/access_log combined
     422    ErrorLog              COMARQUAGE_HOME/log/error_log
     423
     424    WSGIScriptAlias / COMARQUAGE_HOME/config-apache-cosmetic/application.py
     425    WSGIPassAuthorization On
     426
     427    Alias /favicon.ico COMARQUAGE_HOME/cosmetic-web-front/cosmeticwebfront/public/favicon.ico
     428    Alias /static COMARQUAGE_HOME/cosmetic-web-front/cosmeticwebfront/public/static
     429
     430    <Directory COMARQUAGE_HOME/config-apache-cosmetic>
     431        Order allow,deny
     432        Allow from all
     433    </Directory>
     434
     435
     436    <Directory COMARQUAGE_HOME/cosmetic-web-front/cosmeticwebfront/public>
     437        Order allow,deny
     438        Allow from all
     439        Options +SymLinksIfOwnerMatch
     440    </Directory>
     441</VirtualHost>
     442}}}
     443
     444
     445Relancer le serveur Apache :
     446{{{
     447/etc/init.d/httpd stop
     448/etc/init.d/httpd start
     449}}}
     450
     451Vérifier dans error_log la présence de :
     452{{{
     453mod_wsgi/3.3 Python/2.5.2 configured
     454}}}
     455
     456Les pages sont accessibles à http://cosmetic.domaine.com
     457
     458
     459== Divers ==
     460
     461la présence éventuel d'un répertoire `vos-droits-xml/particuliers/zipv2` va causer des erreurs lors de la récupération de vos-droits.
     462
     463
     464Pour dé installer un soft, il faut supprimer la ligne
     465corespondante dans
     466`/usr/lib/python2.5/site-packages/easy-install.pth`  pour FC10
     467`/usr/local/lib/python2.6/dist-packages/easy-install.pth` pour Debian
     468
     469
     470Pour mettre à jour un soft suite a la mise en ligne d'une
     471nouvelle version sur le depot mercurial
     472
     473{{{
     474cd soft
     475hg pull
     476hg update
     477./setup.py install
     478}}}
     479