L'application étant programmée en Python (Django), il n'y a pas d'étape de compilation, les fichiers doivent juste être placés aux bons endroits et quelques répertoires créés avec les bonnes permissions.
Attention : la version de Python doit être supérieure à 2.6. Cependant, Python 3.x n'est pas (encore) supporté.
L'arborescence prévue pour les fichiers est la suivante, c'est celle qui est utilisée dans les scripts et la configuration par défaut :
/opt/polynum |
répertoire de l'application |
/opt/polynum/polynum |
code de l'application Polynum (Django) |
/opt/polynum/bin |
scripts associés au projet |
/opt/polynum/virtualenv |
environnement virtuel contenant les modules Python spécifiques |
/opt/polynum/static |
fichiers statiques (images, scripts javascript, feuille de style CSS) |
/etc/polynum |
répertoire des fichiers de configuration |
/var/lib/polynum |
répertoire des données (dont les fichiers PDF) |
/var/run/polynum |
données d'exécution (PID du processus, sockets, etc) |
Pour plus de sécurité, un utilisateur et un groupe polynum doivent être créés. L'application fonctionnera sous cet utilisateur qui aura des permissions limitées au strict nécessaire :
# addgroup --system polynum # adduser --system --ingroup polynum --no-create-home --disabled-password polynum # usermod -c "PolyNum daemon user" -d /opt/polynum -g polynum polynum
On distingue deux types de modules Python nécessaires au fonctionnement de Polynum : les modules standards qui seront installés de façon classique sur le système d'exploitation, et les modules plus récents ou non packagés qui seront installés dans un environnement virtuel (virtualenv) Python.
Les paquets standards suivant sont à installer avec apt-get ou yum, selon votre distribution :
nom |
description |
deb |
RPM |
psycopg2 |
connexion avec la base de données PostgreSQL. |
python-psycopg2 |
python-psycopg2 |
ldap |
connexion avec l'annuaire LDAP |
python-ldap |
python-ldap |
Les autres paquets seront installés dans un virtualenv, créé dans /opt/polynum/virtualenv.
Si vous ne savez pas créer un virtualenv, utilisez le script polynum-build-virtualenv. Il va créer automatiquement le répertoire /opt/polynum/virtualenv contenant tous les modules nécessaires.
nom (pypi) |
description |
django |
version 1.4 |
south |
|
django-crispy-forms |
|
django-sekizai |
|
django-cas |
|
django-admin-tools |
|
pypdf |
|
flup |
|
django-debug-toolbar |
La configuration de l'application se fait dans /etc/polynum/local_settings.py
Un fichier d'exemple local_settings.py.example est fourni avec Polynum, c'est un modèle pour la création de /etc/polynum/local_settings.py : il contient la liste des paramétrages possibles avec explications et exemples.
# mkdir -p /etc/polynum # cp /sources-de-polynum/local_settings.py.example /etc/polynum/local_settings.py # chown polynum:polynum /etc/polynum/local_settings.py # chmod 640 /etc/polynum/local_settings.py
Des scripts d'initialisation sont disponibles dans les sources : debian/init.d ou rpm/init.d. Prenez celui compatible avec votre système, si besoin en l'adaptant.