Récupération des sources
Lorsque tous les Prérequis sont installés et PostgreSQL configuré, vous pouvez récupérer les sources.
Info |
---|
A partir de cette étape vous n’êtes plus en root, ici l'utilisateur courant est "esup" : |
Bloc de code |
---|
|
cd /opt/
sudo mkdir esup-signature
sudo chown esup:esup esup-signature/ -R
git clone https://github.com/EsupPortail/esup-signature.git
cd esup-signature |
Configuration
logback.xml
Attention l'emplacement du fichier de log doit exister et être accessible au compte qui exécute esup-signature. Par défaut le chemin est relatif
Bloc de code |
---|
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>logs/esup-signature.log</file>
<append>true</append>
<immediateFlush>true</immediateFlush>
<encoder>
<pattern>[%-5level] %date{dd/MM/yyyy HH:mm:ss} %logger{35} - %msg%n</pattern>
</encoder>
</appender>
|
application.yml
La configuration d' esup-signature se fait au travers du fichier src/main/ressource/application.yml
Pour commenter une ligne il faut ajoute un # devant.
global
Dans la plupart des cas il s'agit ici de modifier root-url par l'adresse de votre esup-signature (pour des tests en local, il est possible d'utiliser http://localhost:8080 par exemple)
Bloc de code |
---|
|
root-url: https://esup-signature.univ-ville.fr
nexu-url: http://localhost:9795
nexu-version: 1.23-SNAPSHOT
nexu-download-url: /downloads/nexu-bundle-${nexuVersion}.zip
hide-wizard: false # Désactiver le bouton "Assistant de création de demande"
hide-auto-sign: false # Désactiver le bouton "Auto siganture"
hide-send-sign-request: false # Désactiver le bouton "Demander une signature" |
tomcat
Ce paramètre permet de spécifier le port ajp dans le cas ou l'application est démarrée directement (en utilisant mvn springboot:run par exemple) Par défaut ces lignes sont commentées, c'est cas lorsque l'application est démarrée par un serveur Tomcat.
Bloc de code |
---|
|
#tomcat:
# ajp:
# port: 6009 |
server
Paramètre du serveur lors d'un lancement hors tomcat
Bloc de code |
---|
|
server:
error:
include-stacktrace: always
port: 8080
|
spring
datasource
Configuration de la base de donnée :
Bloc de code |
---|
|
datasource:
driver-class-name: org.postgresql.Driver
hikari:
auto-commit: false
password: esup
url: jdbc:postgresql://localhost:5432/esupsignature
username: esupsignature |
jpa
Il faut prêter une attention particulière au paramètre ddl-auto. Mode "update" permet la création et la mise à jour de la base de donnée lors du démarrage de l'application ou des tests. Ce mode peut éventuellement être utilisé lors des mises à jour de l'application. Le reste du temps (en production par exemple) ce paramètre peut être positionné sur "validate" qui ne fera qu’exécuter un contrôle de la base de données.
Avertissement |
---|
Attention au mode "create" qui lui détruit et re-crée la base complète |
Bloc de code |
---|
|
hibernate:
ddl-auto: update
properties:
hibernate:
dialect: org.hibernate.dialect.PostgreSQLDialect
format_sql: true
jdbc:
lob:
non_contextual_creation: true
show-sql: false |
ldap
Configuration de l'accès ldap (obligatoire si l'authentification CAS est activée)
Bloc de code |
---|
|
ldap:
base: dc=univ-ville,dc=fr
password: ********
urls: ldap://ldap.univ-ville.fr
username: cn=consult,dc=univ-ville,dc=fr |
mail
Configuration du serveur de mail pour l'envoi des alertes
Bloc de code |
---|
|
mail:
host: smtp.univ-ville.fr |
mail
Dans la partie mail (hors spring) vous pouvez paramétrer l'adresse from pour l'envoi de mails
Bloc de code |
---|
|
mail:
from: no-reply.esup-signature@univ-ville.fr |
dss
Dans la configuration DSS il faut paramétrer l'emplacement ou doit ce trouver le cache des certificats du journal officiel : ks-filename. Attention le dossier doit avoir été créé avant le premier lancement. Par défaut le chemin est relatif.
De plus vous pouvez ajouter les liens vers les url des certificats non présents dans le journal officiel mais valide dans votre établissment : trusted-certificat-url-list
Bloc de code |
---|
|
dss:
cache-data-source-driver-class-name: org.hsqldb.jdbc.JDBCDriver
cache-data-source-url: jdbc:hsqldb:mem:cachedb
cache-password:
cache-username: sa
default-validation-policy: policy/sign-constraint.xml
server-signing-keystore-filename: validate_service.p12
server-signing-keystore-password: password
server-signing-keystore-type: PKCS12
tsp-server: http://tsa.belgium.be/connect
ks-filename: oj_keystore.p12
ks-password: dss-password
ks-type: PKCS12
lotl-country-code: EU
lotl-url: https://ec.europa.eu/tools/lotl/eu-lotl.xml
oj-url: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=uriserv:OJ.C_.2019.276.01.0001.01.ENG
trusted-certificat-url-list: https://cacerts.digicert.com/DigiCertAssuredIDRootG3.crt, https://cacerts.digicert.com/DigiCertAssuredIDRootCA.crt, https://cacerts.digicert.crt
|
security
La sécurité est gérée par Spring Security. Il est possible d'activé 3 mécanismes de sécurité : OAuth, Shibboleth et/ou CAS. Pour désactiver une ou l'autre de ces méthode, il suffit de commenter les lignes qui s'y réfèrent. (CAS nécessite la configuration d'un LDAP. C'est la solution idéale pour une utilisation interne)
Bloc de code |
---|
|
cas:
domain: univ-ville.fr
group-mapping-role-admin: ROLE_FOR.ESUP-SIGNATURE.ADMIN
group-mapping-role-manager: ROLE_FOR.ESUP-SIGNATURE.MANAGER
key: EsupSignatureUnivVilleCAS
service: https://esup-signature.univ-ville.fr/login/cas
title: Compte Université (CAS)
url: https://cas.univ-ville.fr
# shib:
# credentials-request-header: MEMBER
# group-mapping-role-admin: cn=for.esup-signature.admin,ou=groups,dc=univ-ville
# group-mapping-role-manager: cn=for.esup-signature.manager,ou=groups,dc=univ-ville
# idp-url: https://idp.univ-ville.fr
# principal-request-header: REMOTE_USER
# title: Compte d’un autre établissement (Shibboleth)
ws:
ws-access-authorize-ips: 127.0.0.1 |
fs (file system)
La partie file system (fs) permet de configurer une source principale de donnée pour chaque type de stockage (smb, cmis, vfs). esup-signature ne prend en charge qu'une seule source par type.
Bloc de code |
---|
|
fs:
# smb-login: esup-signature
# smb-password: ********
# smb-uri: smb://smb.univ-ville.fr
vfs-uri: /tmp
# cmis-uri: https://esup-signature.univ-ville.fr/nuxeo
# cmis-login: Administrator
# cmis-password: Administrator
# cmis-respository-id: default
# cmis-root-path: /default-domain/workspaces |
sign
Vous pouvez ajuster finement les paramètres de signature électronique en modifiant les lignes suivante:
Bloc de code |
---|
|
sign:
cades-digest-algorithm: SHA256
cades-signature-level: CAdES_BASELINE_T
container-type: ASiC_E
default-signature-form: XAdES
pades-digest-algorithm: SHA256
pades-signature-level: PAdES_BASELINE_T
password-timeout: 60000
signature-packaging: ENVELOPED
xades-digest-algorithm: SHA256
xades-signature-level: XAdES_BASELINE_T |
pdf
Paramètres de traitement des PDF
Bloc de code |
---|
|
convert-to-pdf-a: true
height: 842
path-to-g-s: /usr/bin/gs
pdf-a-level: 2
pdf-to-image-dpi: 72
sign-width-threshold: 150
width: 595 |
Avertissement |
---|
Lorsque votre configuration sera terminée, vous devez creer un commit git, ceci afin d'éviter tout problème lors d'une prochaine mise à jour. Les commandes git à lancer: Bloc de code |
---|
| git add .
git commit -m "ma conf de prod" |
|