Version 1 (modified by http://emmanuel.raviart.myopenid.com/, 10 years ago) (diff) |
---|
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