Public concerné :    



Installation

L'installation de la partie Web se réfère à une installation classique d'un serveur Apache/Tomcat.

Versions utilisées jusqu'à la version 1.2.1 :

  • Apache 2.4 (avec https)
  • Tomcat 7.0.85

 A partir de la version 1.3.0 :

  • OpenJDK version "11.0.6"
  • Apache Tomcat Version 8.5.54
  • Configuration supplémentaire 2538 - Version 1.3.0


Nous vous conseillons de programmer un redémarrage toutes les nuits du service Tomcat sur le serveur d'application.

 


Vous pouvez récupérer la dernière version de l'application via le lien : http://download-sig.univ-lorraine.fr/prive/calcium

Contactez nous sur calcium-contact@univ-lorraine.fr afin d'avoir un accès !



L'application se dépose classiquement dans le répertoire webapps du serveur tomcat

 

Configuration spécifique

Apache

Dans la configuration Apache, définir le module suivant :

module proxy ws-tunnel : LoadModule proxy_wstunnel_module



Voic la partie conf apache dans le virtualhost :
Exemple avec un frontal apache et un env tomcat sur un backend qui ecoute sur un port HTTP pour la partie websocket/push  et en AJP pour le reste( ici port http : 20010 et port ajp : 20019 )
Le VH apache est hébergé sur un serveur dédié alors que le tomcat peut être hébergé sur un serveur d'application. Le backend est le serveur qui héberge l'appli J2EE. 
En fait le <backend>.univ.fr et le <nom>.univ.fr peuvent être les mêmes suivant votre configuration.

 

#################
# La partie web PUSH socket 
#################
RewriteEngine on
RewriteCond %{QUERY_STRING} ^((?!X-Atmosphere-Transport=websocket).)*$
RewriteRule ^/PUSH(.*)$ http://<backend>.univ.fr:20010/PUSH$1 [P]
# PUSH
ProxyPass /PUSH ws://<nom>.univ.fr:20010/PUSH
ProxyPassReverse /PUSH ws://<nom>.univ.fr:20010/PUSH

######################################
#Find du traitement PUSH Websocket
######################################

#############################
# Redirection de tout le reste
##############################

# AJP vers Tomcat
ProxyPass / ajp://<backend>.univ.fr:20019/
Le module proxy d'Apache va permettre de faire le lien entre apache et tomcat (https://httpd.apache.org/docs/2.4/fr/mod/mod_proxy_ajp.html)

 

Tomcat

Fichier server.xml

Définition des connecteurs du server.xml

<Connector port="20010" protocol="HTTP/1.1" connectionTimeout="20000" />
<Connector port="20019" protocol="AJP/1.3" connectionTimeout="10000" keepAliveTimeout="10000" />

Définition du host

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="false" copyXML="false">
   <Context path="" docBase="/.../tomcat/webapps/Calcium-Next-1.x.y">
         <Manager pathname=""/>
   </Context>
</Host>


Fichier app.properties

  • mise en place de la clé de cryptage

Dans le répertoire : /tomcat/webapps/Calcium-Next-x.y.z/WEB-INF/classes, modifier le fichier app.properties tel que :

encryption.key = CleDeCryptage123


Cette clé a été définie au moment de la migration. Elle doit être basée sur 16 caractères alpha numériques sans caractères spéciaux (accent, etc...)

ATTENTION à ne pas mettre d'espace blanc à la fin de la clé

  • mise en place du secret partagé avec la prise de rendez-vous en ligne

Dans le répertoire : /tomcat/webapps/Calcium-Next-x.y.z/WEB-INF/classes, modifier le fichier app.properties tel que :

jwt.secret = votreSecretPartagé


(avertissement) Ce secret doit correspondre EXACTEMENT à celui que vous avez rentré sur le fichier application.properties du serveur de prise de rendez-vous en ligne (cf 223 - PRdV en ligne)

Si vous ne souhaitez pas l'utiliser ou si l'application de prise de rendez-vous en ligne n'est pas encore disponible, il faut que ce paramètre soit présent

Paramètres de lancement JAVA


Paramètres de lancement JAVA préconisés

export JAVA_OPTS="-server -Xms10m -Xmx1024m -XX:-UseGCOverheadLimit -XX:+UseParallelGC 
-XX:+HeapDumpOnOutOfMemoryError -Dnetworkaddress.cache.ttl=3600 -Djava.awt.headless=true"

Ajouter les options suivantes en cas de proxy avec vos valeurs : -Dhttp.proxyHost=dns_name_proxy -Dhttp.proxyPort=port_proxy

Options d'environnement JAVA

Vérifier que votre variable d'environnement concernant le langage soit fixée sur la langue française :

LANG=fr_FR.UTF-8


Ficher context.xml

Les définitions des différentes paramétrages de l'application se trouvent ici : 2221 - Paramétrage applicatif