La version 2.4 de Python livrée avec RHEL/CentOS 5 n'est pas suffisante pour faire tourner Django et donc Polynum. Il faut installer la version 2.6 disponible dans le dépôt Extra Packages for Enterprise Linux (EPEL) :
/tmp# wget http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm /tmp# rpm -i epel-release-5-4.noarch.rpm /tmp# rm epel-release-5-4.noarch.rpm
Dans la première URL, remplacer i386 par x86_64 si c'est l'architecture d'installation du système. Lire la page http://fedoraproject.org/wiki/EPEL pour mieux connaître ce dépôt.
Puis installer le paquet python26 et le système virtualenv associé :
/tmp# yum install python26 /tmp# yum install python26-virtualenv
Télécharger le paquet .rpm sur le projet PolyNum dans SourceSup : https://sourcesup.renater.fr/frs/?group_id=859 et l'installer avec yum :
# yum --nogpgcheck install polynum-*.rpm
Le paquet installe tous les composants systèmes nécessaires. L'application polynum nécessite en plus quelques modules Python indisponibles sur CentOS (ou pas dans les versions requises). Pour les ajouter, on créé un environnement virtuel Python (virtualenv).
Le paquet fourni un script qui automatise la création de ce virtualenv, il suffit de lancer la commande suivante :
# /opt/polynum/bin/polynum-build-virtualenv Building PolyNum virtualenv in /opt/polynum/virtualenv (detailed log in /opt/polynum/virtualenv/install.log) New python executable in virtualenv/bin/python (...) Successfully installed django-crispy-forms django-sekizai pypdf flup django-debug-toolbar gunicorn django-cas django-admin-tools django-classy-tags Cleaning up... Creating .pyc files (compileall) ....done PolyNum virtualenv created in /opt/polynum/virtualenv
L'installation peut prendre quelques minutes.
Elle télécharge les paquets depuis des sites HTTP et HTTPS : la machine doit donc avoir accès à Internet à ce moment. Si la machine doit passer par un proxy, ajoutez une variable d'environnement PROXY :
# PROXY=user:password@proxy.server:port polynum-build-virtualenv
Lors du passage en production, la base de donnée devra être PostgreSQL. PolyNum aura besoin du module Python pour l'accès à PostgreSQL, nommé psycopg2.
Cependant ce module n'est pas disponible dans les dépôts «réputés» pour CentOS 5, il faut donc l'installer en tant que paquet Python dans le virtualenv. Voici la procédure pour cela.
[root@server ~]# yum install postgresql84-devel gcc
[root@server ~]# cd /opt/polynum/virtualenv [root@server virtualenv]# . bin/activate (virtualenv)[root@localhost virtualenv]# pip install psycopg2
(virtualenv)[root@localhost virtualenv]# python -c "import psycopg2; print psycopg2.__doc__" A Python driver for PostgreSQL psycopg is a PostgreSQL_ database adapter for the Python_ programming language. This is version 2, a complete rewrite of the original code to provide new-style classes for connection and cursor objects and other sweet candies. Like the original, psycopg 2 was written with the aim of being very small and fast, and stable as a rock. Homepage: http://initd.org/projects/psycopg2 (...)