Installation système
Une installation système signifie que SAINet est installé directement sur la machine hôte sans passer par un environnement de type “container” comme Docker.
Le schéma ci-dessous montre l’architecture générale ainsi que les différents composants d’une installation système.
- Apache2 est utilisé pour traiter les requêtes externes et les transmettre au serveur SAINet.
- Si les requêtes sont reçues directement depuis un réseau externe en HTTPS, le certificat SSL devra être servi par Apache2. Sinon il devra être servi au niveau du firewall/proxy en amont.
- Le serveur SAINet est le composant applicatif central de la solution qui gère tous les traitements métiers.
- MariaDB stocke toutes les données persistentes de l’application. Ce composant peut être externalisé sur une autre machine (voir ici).
- La GED comprends tous les fichiers relatifs à SAINet. Ils s’agit simplement d’un dossier sur le disque dur, qui peut également se trouver sur un disque partagé/réseau.
Si les communications HTTPS sont gérées par le firewall/proxy et transmises en HTTP sur le réseau interne, le composant Apache2 peut-être omis.
Afin de pouvoir télécharger et installer SAINet, les paramètres ci-dessous doivent être connus au préalable.
Paramètre | Description |
---|---|
user | Identifiant pour accéder aux paquets d’installation et de mises à jour. |
password | Mot de passe pour accéder aux paquets d’installation et de mises à jour. |
customer id | Identifiant du client au sein de SAINet (server.customerFile ). |
environment id | Identifiant de l’environnement d’installation (server.sainet.domain.env ). Cette valeur est en lien avec le serveur sur lequel l’application va être installée. |
mobile | Détermine si la partie mobile doit être déployée, notamment pour permettre l’accès à l’application par browser / tablette (server.webapp.enabled ). |
Base de données | Paramètres de connexion à la base de données. Si aucune base de données n’est installée, il est possible d’utiliser le mot-clé h2 (pour tests uniquement). |
Ces paramètres seront demandés lors de l’installation.
Le serveur SAINet se compose d’un unique JAR contenant tout le nécessaire. La première étape consiste donc à récupérer un package de la version souhaitée (voir les types).
Afin de pouvoir accéder au fichier, des identifiants sont nécessaires (voir chapitre précédent).
Version | Type | Lien |
---|---|---|
4.12 | RELEASE RC SNAPSHOT |
Non publiée - version en cours de développement Non publiée - version en cours de développement Télécharger |
4.11 | RELEASE RC SNAPSHOT |
Télécharger Télécharger Télécharger |
4.10 | RELEASE RC SNAPSHOT |
Télécharger Télécharger Télécharger |
4.9 | RELEASE RC SNAPSHOT |
Télécharger Télécharger Télécharger |
4.8 | RELEASE RC SNAPSHOT |
Télécharger Télécharger Télécharger |
Le fichier téléchargé est à enregistrer sous le nom sainet.jar
à l’emplacement désiré.
Tous les paquets ci-dessus sont officiellement signés par un certificat QuoVadis.
Afin de vérifier la signature, il est possible d’utiliser la commande ci-dessous:
$ jarsigner -verify sainet.jar
jar verified
Afin d’installer la solution SAINet, voici globalement les étapes à suivre:
- Installation de MariaDB.
- Installation du JDK (voir ci-dessous).
- Installation de SAINet (voir ci-dessous).
- Mise en place du service SAINet.
- Installation et configuration de Apache2.
Il est conseillé de suivre l’ordre d’installation ci-dessus afin de pouvoir effectuer les vérifications d’usage étape par étape.
Le JDK doit être installé en fonction de la version de SAINet.
Version | JDK |
---|---|
4.12.x | Temurin 21 - Linux, Windows |
4.11.x | Temurin 21 - Linux, Windows |
4.10.x | Temurin 17 - Linux, Windows |
La commande java
du JDK doit être disponible dans le PATH
. Il est également recommandé de définir la variable système JAVA_HOME
.
Sous Windows, il se peut qu’après l’installation il y ait des conflits avec l’installation du Oracle JRE. Dans ce cas, il sera nécessaire de désinstaller ce dernier
et de supprimer manuellement le dossier C:\ProgramData\Oracle qui contient une copie des exécutables Java. Une manière de contrôler que le bon java
est référencé
est d’utiliser la commande where java
dans un terminal.
Sous Windows, il est important que le seul java.exe
existant soit bien celui qui a été installé (AdoptOpenJDK ou Temurin).
L’installation s’effectue avec la commande suivante:
java -Djdk.jar.maxSignatureFileSize=32000000 -jar sainet.jar --runtime <runtime> --install
Depuis le JDK 17.0.8, il est nécessaire de spécifier la propriété jdk.jar.maxSignatureFileSize
sinon le système refusera
d’exécuter l’application.
S’il est prévu d’installer le service SAINet, le répertoire <runtime>
doit être au même endroit que sainet.jar
.
Durant l’installation, les différents paramètres seront demandés et le serveur sera installé dans <runtime>
(le fichier sainet.jar
reste nécessaire).
Le chemin complet vers le dossier <runtime>
ne doit pas contenir plus de 35 caractères, sinon le serveur SAINet refusera de démarrer. Il est également recommandé d’éviter les caractères spéciaux dans le chemin d’accès.
Les paramètres sont enregistrés dans <runtime>/server.properties
. Il est possible de les modifier après-coup,
mais cela implique qu’il faudra relancer le serveur avec l’option --update
.
Seul le dossier <runtime>
va être créé et utilisé par le serveur SAINet. Aucun autre fichier n’est touché durant l’installation, ni durant l’exécution. Il est possible de déplacer ce dossier après l’installation.
Une fois le serveur installé, il peut être lancé avec la commande suivante:
java -Djdk.jar.maxSignatureFileSize=32000000 -jar sainet.jar --runtime <runtime> --start
Le serveur va démarrer et au bout de quelques minutes, le bloc de texte suivant sera affiché:
================================================
SAINet Embedded Server version 4.10.0-20201007-122115.
The domain payara is now up and running. (inst:PYA, env:#local)
The GlassFish/Payara installation dir is /tmp/gfembed14043435345614509593tmp
The SAINet runtime dir is <runtime>
Ports used: HTTP=9090, HTTPS=9191, ADMIN=5858
URL: http://<url>/SNV4SRV-ws-war/EPS
Host: sagittarius/127.0.1.1
================================================
You can use <ctrl> + C to shut it down.
A partir de là, le serveur SAINet est fonctionnel et il est possible de s’y connecter avec les indications affichées
dans la console. L’identifiant par défaut est saierp
avec le mot de passe bootStrap373746
.
En cas de problème durant le démarrage, l’option --verbose
permet d’avoir plus de détails quant à l’erreur qui s’est produite.
Une fois le serveur installé, les prochaines étapes consistent à intégrer SAINet:
- Installer SAINet en tant que service.
- Intégrer SAINet derrière un serveur HTTP.
Bien qu’il soit possible de laisser tourner le serveur SAINet dans une console en arrière-plan, cela n’est pas compatible avec les mises à jour automatiques. Il est donc nécessaire d’installer le service SAINet.
Afin de vérifier si le serveur est prêt à répondre, il est possible d’utiliser la commande suivante (ou utiliser un navigateur):
curl http://localhost:9090/SNV4SRV-ws-war/healthcheck
Cela devrait produire un résultat XML avec la forme suivante:
<health>
<currentTime>1607264881995</currentTime>
<java-version>17.0.1</java-version>
<java-vendor>Debian</java-vendor>
<java-vm>OpenJDK 64-Bit Server VM</java-vm>
...
</health>
Il est fortement recommandé de faire une sauvegarde de la base de données avant toute mise à jour majeure !
Une mise à jour majeure peut impliquer des changements au niveau du système d’exploitation. Selon la version qui va être installée, se référer aux prérequis nécessaires (voir plus haut) ainsi qu’au guide de migration.
Afin d’appliquer la mise à jour, il est important que le serveur SAINet ne soit pas en cours d’éxecution. Il faudra donc arrêter le service au préalable.
Finalement, il faut simplement récupérer le package de la version souhaitée et lancer la commande suivante:
java -Djdk.jar.maxSignatureFileSize=32000000 -jar sainet.jar --runtime <runtime> --update