Pré-requis
- Java OpenJdk 8 : le mieux est de l'installer via le système de paquets de votre linux.
- Maven : le mieux est de l'installer via le système de paquets de votre linux.
- Postgresql 9 : le mieux est de l'installer via le système de paquets de votre linux.
- Tomcat (Tomcat 8) : http://tomcat.apache.org/
- Apache + libapache2-mod-shib2 : https://services.renater.fr/federation/docs/installation/sp
- Git
PostgreSQL
L'ensemble des données est stocké dans une base de données, photos comprises, cela nous a ammené à utiliser PostgreSQL (et non MySQL) pour ses possibilités de streaming sur les blobs.
Sous debian :
|
dans pg_hba.conf : ajout de
|
Redémarrage de postgresql
Création de la base :
|
Cette application a été dévelopée en utilisant Spring ROO et donc ses technologies associées.
Comme annoncé ci-dessus, l'application a cependant été développée avec PostgreSQL : lecture/écriture des blobs dans une transaction par streaming ; idexation postgresql (usage de tsvector/tsquery).
Pour une bonne gestion des blob de cette application, il faut ajouter dans PostgreSQL un trigger sur la base de données sur la table big_file. La fonction lo_manage est nécessaire ici.
Sous debian :
|
Puis la création de l'extension lo se fait via un super-user:
avec postgresql 9 :
|
Et enfin ajout du trigger (afin que les tables soient préalablement créées, notamment la table big_file sur lequel on souhaite mettre le trigger lo_manage, il faudra avant celà démarrer une fois esup-sgc (avec le paramètre 'create' dans le database.properties)) :
|
CF https://www.postgresql.org/docs/9.4/static/lo.html
Vous devez démarrer l'application une fois.Ne pas oublier ensuite, pour ne pas écraser la base au redémarrage, de modifier src/main/resources/META-INF/spring/database.properties : create-> update
Paramétrage mémoire JVM :
Pensez à paramétrer les espaces mémoire JVM :
export JAVA_OPTS="-Xms1024m -Xmx1024m -XX:MaxPermSize=256m"
Pour maven :
export MAVEN_OPTS="-Xms1024m -Xmx1024m -XX:MaxPermSize=256m"
Sources https://github.com/EsupPortail/esup-signature
|