Esup-Signature

Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Mise en place d'un Apache en frontal

 Afin Afin de publier esup-signature de manière securisée, il est possible de mettre un frontal Apache à l'aide du module mod_proxy.
Installer préalablement Apache2

Bloc de code
languagepowershell
themeRDark
sudo apt update
sudo apt install apache2

Pour ce faire installer apache puis activer le mod_proxy :

Bloc de code
languagepowershell
themeRDark
a2enmod proxy proxy_http proxy_ajp

Donne : 
Enabling module proxy.
Considering dependency proxy for proxy_http:
Module proxy already enabled
Enabling module proxy_http.
Considering dependency proxy for proxy_ajp:
Module proxy already enabled
Enabling module proxy_ajp.
To activate the new configuration, you need to run:
systemctl restart apache2

Redémarre Apache pour prendre en compte les changements : 

Bloc de code
languagepowershell
themeRDark
systemctl restart apache2


Voici maintenant un exemple de configuration apache qui va rediriger les requetes http vers https puis faire proxy vers l'application esup-signature

Bloc de code
languagetext
themeRDark
<VirtualHost *:80>
	ServerName esup-signature.univ-ville.fr
	ServerAlias esup-signature
	ServerAdmin  system@univ-ville.fr
	ServerSignature Off

	RewriteEngine On
	RewriteRule ^(.*) https://esup-signature-demo.univ-rouenville.fr$1 [L,R]
</VirtualHost>

<VirtualHost *:443>
    ServerName esup-signature.univ-rouenville.fr
    ServerAlias esup-signature
    ServerAdmin  systeme@univ-rouenville.fr
    ServerSignature Off

    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/crt
    SSLCertificateKeyFile /etc/pki/tls/private/key
    SSLCertificateChainFile /etc/pki/tls/certs/cacert
    SSLverifyclient none  

	ProxyPreserveHost On

    #ProxyPass / ajp://localhost:6009/ ttl=10 timeout=3600 loadfactor=100 retry=1
	# ou
    ProxyPass / http://localhost:8080/ ttl=10 timeout=3600 loadfactor=100 retry=1
	# avec proxy http (et non ajp), il faut ajouter le X Forward
    RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
    RequestHeader set "X-Forwarded-SSL" expr=%{HTTPS}
    ProxyPreserveHost On
  </VirtualHost>

...

Remarque

Dans le cas de l'utilisation d'un proxy (apache proxypass par exemple) il est conseillé d'utiliser le protocole AJP. Si cela n'est pas possible il faudra utiliser le de Proxypass il faut utiliser le module remoteip qui permet de transmettre l'adresse IP réel du client au serveur tomcat (cela n'est pas necessaire en AJP). Pour ce faire il faut activer le module coté Apache:

ajouter le fichier mod_remoteip.conf dans le dossier conf.d/ et y inscrire :


LoadModule remoteip_module modules/mod_remoteip.so
RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy 127.0.0.1 ::1

et Si vous utilisez votre propre tomcat, il faut ajouter une valve dans la configuration du serveur tomcat (server.xml) :


<Valve className="org.apache.catalina.valves.RemoteIpValve"
remoteIpHeader="x-forwarded-for"
proxiesHeader="x-forwarded-by"
protocolHeader="x-forwarded-proto" />


Il est aussi possible d'utiliser le protocole AJP. On peut configurer la port ajp dans application.yml


Gestion des sources avec git

...

Info

Pour gérer plus facilement les sources sur le serveur d'exploitation il est conseillé d'utiliser git.

Le dépôt d'origine d'esup-signature se trouve sur github https://github.com/EsupPortail/esup-signature. Le dépôt fonctionne ainsi :

  • la branche "master" contient le code de la dernière release
  • la branche "test" contient les commits compris entre la dernière et la prochaine release

Des tags sont créés pour chaque version importante du code voir : Change log , https://github.com/EsupPortail/esup-signature/tags

Clonage

Comme expliqué dans la documentation d'installation, il est préférable de cloner le dépôt git sur le serveur qui héberge esup-signature. Pour cela on commence par faire :

...

Bloc de code
languagebash
themeRDark
git tag --sort=-v:refname | head -n 10

(--sort=-v:refname permet de lister dans l'ordre de version de tag la plus récente en premier, head -n 10= pour n'avoir que les 10 derniers tag)

Il faut de plus s'assurer que toutes les modifications de code ont bien été sauvegardées ("commitées") :

...

Remarque

Pour que le système d'archivage soit activé, il faut mettre le paramètre enable-scheduled-cleanup à true
Assurez-vous également d'avoir bien installé l'extension postgresql-contrib dans la partie installation de la BDD : PostgreSQL

Les demandes restent consultables depuis esup-signature qui fait, alors, la passerelle avec l'espace d'archivage.

( Après archivage, si l'utilisateur supprime complètement la demande depuis l'interface d'ESUP-Signature, le document ne sera plus visible depuis l'interface, mais il reste disponible dans l'espace d'archivage. )

Pour consulter la taille de la base depuis la console psql :

...

Bloc de code
languagesql
themeRDark
psql esupsignature;
VACUUM FULL;

Pour voir ce qui se déroule vous pouvez rendre VACUUM plus verbeux :

Bloc de code
languagesql
themeRDark
VACUUM FULL VERBOSE;