wiki:Cosmetic/InstallationInforoutes

Installation de Cosmetic suivant le schéma mis en place aux Inforoutes de l'Ardèche

Les Inforoutes de l'Ardèche ont installé Cosmetic pour leur offre de service aux collectivités.

Voici la documentation d'installation écrite pour l'occasion par Henry-Pascal Eldin.

Prerequis technique / logiciel

  • Espace disque necessaire à l'application hors BdD env 1Go
  • Distribution : testé sur Linux Fedora Core 10
  • sans pb constaté dans un hébergement mutualisé avec des
  • applications PHP.

Récupération des logiciels nécessaires :

yum install mercurial
yum install python-ssetuptools
yum install python-babel
yum install python-psycopg2
yum install postgresql-server  (sur le serveur POSTGRESQL )
yum install postgresql-contrib  (sur le serveur POSTGRESQL )
yum install postgresql        (sur la machine cosmetic )

Installation de PyStemmer?-1.1.0 :

cd /home/fedora  (répertoire fourretout de recup de softs )
wget http://snowball.tartarus.org/wrappers/PyStemmer-1.1.0.tar.gz
cd /usr/src
tar zxvf /home/fedora/PyStemmer-1.1.0.tar.gz
cd PyStemmer-1.1.0
python setup.py build
python setup.py install

Mise à jour de Pylons :

cd /home/fedora
wget http://www.pylonshq.com/download/1.0/go-pylons.py
python go-pylons.py mydevenv

Base de données

Sur un serveur dédié (notre choix, mais pas necessaire)

création de la base postgresql sur le serveur SRV-POSTGRESQL :

su - postgres
createuser -P cosmetic        mot de passe xxxxxxxxxxxx
createdb cosmetic

Installation

Créer un répertoire principal d'installation /home/comarquage, /opt/comarquage, etc ... désigné par COMARQUAGE_HOME par la suite

cd COMARQUAGE_HOME

Récupération et installation des logiciels depuis le dépot mercurial

Note : ne pas installer Comarquage et Territoria-Web

Récupération et installation de cosmetic2 :

hg clone http://hg.infos-pratiques.org/cosmetic2
cd cosmetic2
./setup.py install

Récupération et installation de cosmetic-vos-droits :

hg clone http://hg.infos-pratiques.org/cosmetic-vos-droits
cd cosmetic-vos-droits
./setup.py install
cd -

Récupération et installation de cosmetic-vie-publique :

hg clone http://hg.infos-pratiques.org/cosmetic-vie-publique
cd cosmetic-vie-publique
./setup.py install
cd -

Récupération et installation de Metanol :

hg clone http://hg.infos-pratiques.org/metanol
cd metanol
python setup.py install
cd -

Récupération et installation de Territoria :

hg clone http://hg.infos-pratiques.org/territoria
cd territoria
python setup.py install
cd -

hg clone http://hg.infos-pratiques.org/territoria-database-sqlite

Récupération et installation de cosmetic-web-front :

hg clone http://hg.infos-pratiques.org/cosmetic-web-front
cd cosmetic-web-front
./setup.py install
cd -

Initialisation de la base Cosmetic avec les données de Territoria :

psql -h SRV-POSTGRESQL -d cosmetic  -U cosmetic -W -f
territoria-database-sqlite/territoria.sql

(ça dure un moment ...)

Configuration des logiciels

Dans territoria/development.ini, modifier la ligne existante avec vos informations :

sqlalchemy.url = postgresql://cosmetic:xxxxxx@SRV-POSTGRESQL:5432/cosmetic

Dans cosmetic-web-front/development.ini :

#ce que j'ai modifé
[DEFAULT]
debug = true
email_to = cosmetic@domaine.com
smtp_server = localhost
error_email_from = cosmetic@domaine.com
[server:main]
use = egg:Paste#http
host = VOTRE_IP
port = 5001
# Directory containing HTML pages.
vie_publique_dir = %(here)s/../vie-publique-html-semantique
vos_droits_dir = %(here)s/../vos-droits-html

# modifier la ligne existante avec vos infos
sqlalchemy.url = postgresql://cosmetic:xxxxxx@SRV-POSTGRESQL:5432/cosmetic

#le reste est inchangé

Dans metanol/development.ini :

# modifier la ligne existante avec vos infos
sqlalchemy.url = postgresql://cosmetic:xxxxxx@SRV-POSTGRESQL:5432/cosmetic

Initialisation des tables de cosmetic-web-front :

cd cosmetic-web-front
paster setup-app development.ini
cd -

Configuration config-apache-cosmetic

Récupérer le fichier config-apache-cosmetic.zip sur la liste de diffusion :

cd /home/fedora
wget
http://listes.infos-pratiques.org/arc/infos-pratiques-devel/2010-10/msg00031/config-apache-cosmetic.zip
cd COMARQUAGE_HOME
unzip /home/fedora/config-apache-cosmetic.zip

(attention, il manque des infos dans apache2.conf, voir plus bas)

Dans config-apache-cosmetic/application.py, modifier :

application = loadapp('config:COMARQUAGE_HOME/config-apache-cosmetic/paste.ini')

Dans config-apache-cosmetic/paste.ini :

[DEFAULT]
debug = false
email_to = cosmetic@domaine.com
smtp_server = localhost
error_email_from = cosmetic@domaine.com

# Directory containing HTML pages.
vie_publique_dir = COMARQUAGE_HOME/vie-publique-html-semantique
vos_droits_dir = COMARQUAGE_HOME/vos-droits-html

# SQLAlchemy database URL
sqlalchemy.url = postgresql://cosmetic:xxxxxx@SRV-POSTGRESQL:5432/cosmetic

Mise à jour quotidienne

Il faut que l'adresse IP de votre machine soit déclarée aupres de la documentation francaise. Convention et un formulaire en ligne sur leur site.

J'ai scindé les opérations quotidiennes en 3 scripts pour pouvoir les lancer séparement.

Script a lancer toutes les nuits par un cron : comarquage.sh :

#!/bin/sh

cd  /home/comarquage

recup_vos-droits.sh
recup_vie-publique.sh
conversion_xml.sh

Script recup_vos-droits.sh :

#!/bin/sh


cd /home/comarquage

cd vos-droits-xml

rm -rf *

export VOS_DROITS_XML_PATH=`pwd`
cd ..


echo "Téléchargement des fichiers XML Vos droits"
python -m cosmetic2.vosdroits.scripts.download_vos_droits
${VOS_DROITS_XML_PATH}


echo "Récupération des thèmes et raccourcis de la page principale pour les
particuliers "
python -m cosmetic2.vosdroits.scripts.download_vos_droits_n0_themes
${VOS_DROITS_XML_PATH}

echo "Récupération du bloc Focus sur"
python -m cosmetic2.vosdroits.scripts.download_vos_droits_focus
${VOS_DROITS_XML_PATH}


echo "Récupération du bloc des services en ligne et formulaires les plus
demandés "
python -m
cosmetic2.vosdroits.scripts.download_vos_droits_frequent_online_services
${VOS_DROITS_XML_PATH}


echo "Récupération du bloc des mots-clés"
python -m
cosmetic2.vosdroits.scripts.download_vos_droits_frequent_search_queries
${VOS_DROITS_XML_PATH}


cd /home/comarquage

Script recup_vie-publique.sh :

#!/bin/sh


cd /home/comarquage

cd vie-publique-html
export VIE_PUBLIQUE_HTML_PATH=`pwd`
cd ..

echo "Téléchargement des pages HTML de Vie publique "


python -m cosmetic2.viepublique.scripts.download_vie_publique
${VIE_PUBLIQUE_HTML_PATH}



cd vie-publique-html-semantique
export VIE_PUBLIQUE_HTML_SEMANTIQUE_PATH=`pwd`
cd ..

cd cosmetic-vie-publique

echo "Conversion des fichiers HTML en HTML sémantique"

python -m cosmetic2.viepublique.scripts.convert_vie_publique
${VIE_PUBLIQUE_HTML_PATH} ${VIE_PUBLIQUE_HTML_SEMANTIQUE_PATH}


cd ../cosmetic-web-front
echo "Indexation des pages vie publique"

python -m cosmeticwebfront.scripts.import_vie_publique_html
/home/comarquage/config-apache-cosmetic/paste.ini


cd /home/comarquage

Script conversion_xml.sh :

#!/bin/sh


cd /home/comarquage


echo "Conversion XML HTML"

cd vos-droits-html
rm -rf *
export VOS_DROITS_HTML_PATH=`pwd`
cd ..

cd vos-droits-xml
export VOS_DROITS_XML_PATH=`pwd`
cd ..

cd cosmetic-vos-droits

python -m cosmetic2.vosdroits.scripts.convert_vos_droits_xml_v2_to_html
${VOS_DROITS_XML_PATH} ${VOS_DROITS_HTML_PATH}



echo "Génération de la liste des dossiers"

python -m cosmetic2.vosdroits.scripts.build_vos_droits_folders_index
${VOS_DROITS_HTML_PATH}



echo "Génération des 200 mots les plus récents"

python -m cosmetic2.vosdroits.scripts.build_vos_droits_keywords_index
${VOS_DROITS_HTML_PATH}

cd ..
cd cosmetic-web-front
export WEB_CONFIG_PATH=`pwd`/development.ini
cd ..

cd cosmetic-vos-droits
echo "Récupération des redirections "
python -m cosmetic2.vosdroits.scripts.find_vos_droits_redirections
/home/comarquage/cosmetic-web-front/development.ini ${VOS_DROITS_XML_PATH}


cd ../cosmetic-web-front

echo "Importation des fichiers Vos droits en base"

python -m cosmeticwebfront.scripts.import_vos_droits_html
/home/comarquage/cosmetic-web-front/development.ini

echo "Importation des fichiers Vie Publique en base"
python -m cosmeticwebfront.scripts.import_vie_publique_html
/home/comarquage/cosmetic-web-front/development.ini

cd /home/comarquage

Configuration Apache

Utilisation du module mod_wsgi

Création du répertoire de cache :

mkdir COMARQUAGE_HOME/data
chown daemon.daemon COMARQUAGE_HOME/data

Création du répertoire des logs :

mkdir COMARQUAGE_HOME/log

Installation de mod_wsgi :

cd /home/fedora
wget http://modwsgi.googlecode.com/files/mod_wsgi-3.3.tar.gz
cd /usr/src
tar zxvf /home/fedora/mod_wsgi-3.3.tar.gz
cd mod_wsgi-3.3

./configure --with-apxs=/usr/local/apache2/bin/apxs --with-python=/usr/bin/python

make

make install
# dans /etc/httpd/conf/httpd.conf ajouter
LoadModule wsgi_module modules/mod_wsgi.so

Configuration de l'"host" :

<VirtualHost  IP:80>
    ServerName cosmetic.domaine.com
    ServerAdmin cosmetic@domaine.com

    DocumentRoot COMARQUAGE_HOME/cosmetic-web-front/cosmeticwebfront/public
    Options -All
    DirectoryIndex index.html
    CustomLog             COMARQUAGE_HOME/log/access_log combined
    ErrorLog              COMARQUAGE_HOME/log/error_log

    WSGIScriptAlias / COMARQUAGE_HOME/config-apache-cosmetic/application.py
    WSGIPassAuthorization On

    Alias /favicon.ico COMARQUAGE_HOME/cosmetic-web-front/cosmeticwebfront/public/favicon.ico
    Alias /static COMARQUAGE_HOME/cosmetic-web-front/cosmeticwebfront/public/static

    <Directory COMARQUAGE_HOME/config-apache-cosmetic>
        Order allow,deny
        Allow from all
    </Directory>


    <Directory COMARQUAGE_HOME/cosmetic-web-front/cosmeticwebfront/public>
        Order allow,deny
        Allow from all
        Options +SymLinksIfOwnerMatch
    </Directory>
</VirtualHost>

Relancer le serveur Apache :

/etc/init.d/httpd stop
/etc/init.d/httpd start

Vérifier dans error_log la présence de :

mod_wsgi/3.3 Python/2.5.2 configured

Les pages sont accessibles à http://cosmetic.domaine.com

Divers

la 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.

Pour dé installer un soft, il faut supprimer la ligne corespondante dans /usr/lib/python2.5/site-packages/easy-install.pth pour FC10 /usr/local/lib/python2.6/dist-packages/easy-install.pth pour Debian

Pour mettre à jour un soft suite a la mise en ligne d'une nouvelle version sur le depot mercurial

cd soft
hg pull
hg update
./setup.py install
Last modified 7 years ago Last modified on Oct 11, 2010, 11:09:06 AM