Cette page décrit la procédure d'installation du portail ERD de souscription à l'offre EP.
Ce portail se compose de 2 livrables intégrés/développés par Sogeti:
- une IHM Angular JS
- un serveur backend java - springboot - mysql
La documentation de l'éditeur: Monext_PortailERD_Installation_1.5.pdf
Topologie de déploiement
Vip https://mybank.monext.net/souscrire-un-compte
Sur chaque datacenter Rennes et Brest:
- un serveur apache qui assure:
- le chiffrement SSL
- l'hébergement des ressources IHM
- la redirection des requêtes REST vers le serveur backend
- un serveur backend qui expose des services REST. Ce serveur est connecté à un SGBD MySQL, au MOM et à des webservices externes Ariadnext avec chiffrement bidirectionnel
Configuration du serveur Frontend Apache
Certificat SSL : sur heimdall
Ressources IHM: le contenu d'une archive zip déposée sur Nexus (lien à finaliser). Il faut mettre à jour les propriétés dans assets/ressources/appConfig.json (cf doc d'install ci-dessus)
Redirection: rediriger les requêtes http /rest et /ariadnext vers le serveur backend:
ProxyRequests Off ProxyPass /rest http://127.0.0.1:13826 ProxyPassReverse /rest http://127.0.0.1:13826 ProxyPass /ariadnext http://127.0.0.1:13826/ariadnext ProxyPassReverse /ariadnext http://127.0.0.1:13826/ariadnext
Rewriting pour Angular JS:
RewriteEngine on
# Don't rewrite files or directories
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# Rewrite everything else to index.html to allow html5 state links
RewriteRule ^ index.html [L]
Autorisation de l'iframe Ariadnext:
Header always append X-Frame-Options "ALLOW-FROM sdkweb-test.idcheck.io" Header always append X-Frame-Options sameorigin Header always append Content-Security-Policy "frame-ancestors 'self' *.idcheck.io" Header always append Set-Cookie "HttpOnly;Secure;SameSite=None"
Configuration du serveur Backend
Script d'initialisation SGBD: dbinit.mysql.sql à récupérer dans les sources de la version à déployer
Certificat SSL Ariadnext : sur heimdall (contacter Quentin CHALVIN <Quentin.CHALVIN@monext.net>)
Fichier application-prod.properties dans sous-dossier 'config'
Exécutable: un fichier BackEndERD-1.0.XX.jar déposé sur Nexus (lien à finaliser)
Paramètres d'exécution:
java -Dspring.profiles.active=prod,mom,monext,swagger -jar BackEndERD-1.0.XX.jar &
Exemple
Le serveur de recette : epihmr@epf1r1.dc1lan.local /
Point avec Mikael sur l'installation du portail
GIT Pull des sources sur GIT DMZ :
https://git-dmz.indus.intra.monext.fr:10810/
Machine de recette : epf1r1.dc1lan.local
User applicatif de recette : epihmr
Pour info : redémarrage du serveur apache: sudo /usr/local/bin/manage_httpd.sh restart
Se connecter sur la machine de recette ( epf1r1.dc1lan.local ) avec Winscp (user AD):
Copier l'archive préalablement créée à partir de dist/ng-uikit-pro-standard-compile-app vers /tmp/erd
chmod 777 sur le fichier
Se connecter sur la machine de recette ( epf1r1.dc1lan.local ) avec Moba :
ksu epihmr -a -l
rm -rf /USR/epihmr/dist/*
unzip /tmp/erd/ng-uikit-pro-standard-compile-app.zip -d /USR/epihmr/dist
mv /USR/epihmr/dist/ng-uikit-pro-standard-compile-app/* /USR/epihmr/dist
Build du back :
Harmonisation avec fichiers fournis par Mika (pom, etc)
Vérification datasources dans fichier application-env.properties (dans config):
spring.datasource.url=jdbc:mysql://epb1r1.dc1lan.local:3315/EPPERONLR?serverTimezone=UTC
spring.datasource.username=epperonlr_appli
spring.datasource.password=epperonlR#appli#20my
mvn clean package
Se connecter sur la machine de recette ( epf1r1.dc1lan.local ) avec Winscp (user AD):
Copier le jar situé dans target vers /tmp/erd
chmod 777 sur le fichier
Se connecter sur la machine de recette ( epf1r1.dc1lan.local ) avec Moba :
ksu epihmr -a -l
mv /tmp/erd/fichier_jar /USR/epihmr/release
Purge des logs : rm -rf /USR/epihmr/logs/*
Lancement du back :
-copier la version à déployer sous le répertoire release
-ln -sf release/(version de l'erd à déployer ) financial-subscr-ihm-back.jar
- run_backend.sh stop
- run_backend.sh start
- run_backend.sh status
Logs du back (dans logs) : tail -500f /USR/epihmr/logs/backend-erd.log (à déplacer vers /VAR/epihmr/logs) (modifié)
Version en cours du back (2 commandes):
ps -ef | grep -v grep | grep $USER | grep java | grep Dspring.profiles.active | awk '{print $2}' --> donne PID
ps -e -o pid,comm,lstart | grep PID --> donne heure de lancement de ce PID
Visualisation de l'application (front) :
https://epf1r1.dc1lan.local:10826 --> Les versions déployées doivent apparaitre en haut à gauche
System.setProperty("APP.MOM", "user=b-test,aa=false,password=secret,header={ORIG_TEST_UID='" + getHomeUserName()
+ "'},selector={ORIG_TEST_UID='" + getHomeUserName() + "'}");
private static String getHomeUserName() {
String homeUser = System.getProperty("user.home");
return homeUser.substring(homeUser.lastIndexOf('\\') + 1, homeUser.length());
}
Installation documentation :
https://docs.monext.fr/display/OGEPREF/Survie+ERD
SSL (chiffrement bidirectionnel) :
CLé publique : .crt
Clé privée : .key --> vont être transformés ds un autre format (PKCS 12) pour être stockés ds un keystore Java qui est lui accessible directement par notre JVM
2 commentaires
Frédéric MOLINIERES dit :
07 juil. 2020Mikael SOLA la documentation d'installation communiquée par sogeti n'est pas la bonne. Monext_PortailERD_Installation_1.0.pdf
Mikael SOLA dit :
07 juil. 2020C'est rectifié
Ajouter un commentaire