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
Redémarrage du serveur
Nous vous conseillons de programmer un redémarrage toutes les nuits du service Tomcat sur le serveur d'application.
Emplacement de l'application
L'application se dépose classiquement dans le répertoire webapps du serveur tomcat.
Module apache
Dans la configuration Apache, définir le module suivant :
module proxy ws-tunnel : LoadModule proxy_wstunnel_module
VirtualHost Apache
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/
Connecteurs
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
<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>
Dans le répertoire : /tomcat/webapps/Calcium-Next-x.y.z/WEB-INF/classes, modifier le fichier app.properties tel que :
encryption.key = CleDeCryptage123
Clé de Cryptage
Dans le répertoire : /tomcat/webapps/Calcium-Next-x.y.z/WEB-INF/classes, modifier le fichier app.properties tel que :
jwt.secret = votreSecretPartagé
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
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
Vérifier que votre variable d'environnement concernant le langage soit fixée sur la langue française :