Arborescence des pages

Vous regardez une version antérieure (v. /wiki/display/SGC/Installation+ESUP-SGC) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 14) afficher la version suivante »

Pré-requis

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 :

apt-get install postgresql

dans pg_hba.conf : ajout de

host	all	all		127.0.0.1/32	password

Redémarrage de postgresql

Création de la base :

su postgres
psql
create database esupsgc;
create USER esupsgc with password 'esup';
grant ALL ON DATABASE esupsgc to esupsgc;

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 :

apt-get install postgresql-contrib


Puis la création de l'extension lo se fait via un super-user:

avec postgresql 9 :

apt-get install postgresql-contrib
psql
\c esupsgc
CREATE EXTENSION lo;

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 persistence.xml)) :

CREATE TRIGGER t_big_file BEFORE UPDATE OR DELETE ON big_file FOR EACH ROW EXECUTE PROCEDURE lo_manage(binary_file);

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/persistence.xml : create-> update - cf ci-dessous.

Ajouter la contrainte postgresql supplémentaires :

alter table card_desfire_ids ADD CONSTRAINT unique_desfire_ids_desfire_ids_key UNIQUE (desfire_ids, desfire_ids_key);

Backup / restauration :

Avec l'utilisateur postgres backup :

pg_dump -b -F d -f /backup/esupsgc-dump esupsgc

restauration :

pg_restore -d esupsgc /backup/esupsgc-dump

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-sgc

cd /opt
git clone https://github.com/EsupPortail/esup-sgc

Compilation

cd /opt/esup-sgc
mvn clean package

Déploiement

On copie/colle le répertoire webapp packagé ainsi dans le tomcat : 

rm -rf /opt/tomcat-esup-sgc/webapps/ROOT && cp -rf /opt/esup-sgc/target/sgc-0.1.0.BUILD-SNAPSHOT /opt/tomcat-esup-sgc/webapps/ROOT

On arrête le tomcat avant et on le redémarre ensuite.

Configurations systèmes

  • Logs : src/main/resources/log4j.properties
  • Base de données :

src/main/resources/META-INF/spring/database.properties pour paramètres de connexion

src/main/resources/META-INF/persistence.xml pour passage de create à update après premier lancement (création + initialisation de la base de données)

  • Mails : src/main/resources/META-INF/spring/email.properties

Mises à jour

Lors d'une mise à jour majeure de l'application, lancez la commande suivant pour mettre à jour la base :

mvn compile exec:java -Dexec.args="dbupgrade"

Configuration

Configurations ESUP-SGC et ESUP-NFC-TAG-SERVER

  • Aucune étiquette