Installation «manuelle»

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)

Création d'un utilisateur et d'un groupe dédiés

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

Installation des modules Python et du virtualenv

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.

Installation des modules standards

Les paquets standards suivant sont à installer avec apt-get ou yum, selon votre distribution :

Modules standards (installés par le paquet)

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

Installation des autres modules Python

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.

Modules placés dans un virtualenv

nom (pypi)

description

django

version 1.4

south

django-crispy-forms

django-sekizai

django-cas

django-admin-tools

pypdf

flup

django-debug-toolbar

Configuration de base l'application

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

Lanceur de l'application

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.