...
ESUP-SGC inclut également son propre client pour l’encodage des cartes (esup-sgc-client) qui est en fait également client d'esup-nfc-tag-server.
...
Java : nous recommandons l'usage d'openjdk
pour la partie serveur les versions 8 ou 11 (généralement présentes dans les distributions) conviennent),
pour la partie cliente vous pouvez utiliser openjdk et openjfx en version 11 ou 12.
Maven (dernière version 3.0.x) : http://maven.apache.org/download.cgi
Postgresql : le mieux est de l'installer via le système de paquets de votre linux.
Tomcat 8 : https://tomcat.apache.org/download-80.cgi
Apache + libapache2-mod-shib2
Git
...
Installer les deux instances de Tomcat. L'une sera utilisée pour ESUP-SGC, l'autre pour ESUP-NFC-TAG.
Bloc de code | ||||
---|---|---|---|---|
| ||||
cd /opt/ wget httphttps://dlcdn.apache.crihan.fr/distorg/tomcat/tomcat-89/v8v9.50.2458/bin/apache-tomcat-89.50.2458.tar.gz tar xzvf apache-tomcat-89.50.2458.tar.gz mv apache-tomcat-89.50.2458 apache-tomcat-89.50.2458-esup-nfc-tag tar xzvf apache-tomcat-89.50.2458.tar.gz mv apache-tomcat-89.50.2458 apache-tomcat-89.50.2458-esup-sgc ln -s apache-tomcat-89.50.2458-esup-nfc-tag tomcat-esup-nfc-tag ln -s apache-tomcat-89.50.2458-esup-sgc tomcat-esup-sgc rm -Rf /opt/tomcat-esup-sgc/webapps/* mkdir /opt/tomcat-esup-sgc/webapps/ROOT/ rm -Rf /opt/tomcat-esup-nfc-tag/webapps/* mkdir /opt/tomcat-esup-nfc-tag/webapps/ROOT/ chown -R esup:esup /opt/apache-tomcat-89.50.2458-esup-sgc/ chown -R esup:esup /opt/apache-tomcat-89.50.2458-esup-nfc-tag/ |
Note : Le contenu du dossier webapps est impérativement à supprimer, si vous ne le faites pas l'interface d'administration d'esup-sgc ne s'affichera pas. l'URL /manager rentrera en conflit avec la webapp manager de tomcat livrée par défaut lors du déploiement du serveur tomcat.
...
Ces deux instances seront démarrées via Systemd. On peut donc créer et activer ces deux services:
Pour Esup-SGC:
Bloc de code | ||||
---|---|---|---|---|
| ||||
cat > /etc/systemd/system/tomcat-esup-sgc.service <<EOF # Systemd unit file for tomcat [Unit] Description=Apache Tomcat Web Application Container After=syslog.target network.target [Service] Type=forking EnvironmentFile=/opt/esup-env Environment=CATALINA_PID=/opt/tomcat-esup-sgc/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat-esup-sgc ExecStart=/opt/tomcat-esup-sgc/bin/startup.sh ExecStop=/bin/kill -15 $MAINPID User=esup Group=esup [Install] WantedBy=multi-user.target EOF systemctl enable tomcat-esup-sgc.service |
...
Bloc de code | ||||
---|---|---|---|---|
| ||||
<Server port="8205" shutdown="SHUTDOWN">
<!-- (...) -->
<Connector port="8209" protocol="AJP/1.3" redirectPort="8443" asyncTimeout="1200000" tomcatAuthentication="false" scheme="https" secure="true" URIEncoding="UTF-8" secretRequired="false"/> |
Idem pour l'instance d'Esup-NFC-TAG qui utilisera les ports 8305 et 8309.
Bloc de code | ||||
---|---|---|---|---|
| ||||
<Server port="8305" shutdown="SHUTDOWN">
<!-- (...) -->
<Connector port="8309" protocol="AJP/1.3" redirectPort="8443" asyncTimeout="1200000" tomcatAuthentication="false" scheme="https" secure="true" URIEncoding="UTF-8" secretRequired="false"/> |
Info |
---|
|
...
Bloc de code | ||||
---|---|---|---|---|
| ||||
<VirtualHost *:80>
ServerName esup-sgc.univ-ville.fr
ServerAdmin webmaster@univ-ville.fr
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
RewriteRule ^/(.*)$ https://esup-sgc.univ-ville.fr/$1 [L,R]
</VirtualHost>
<VirtualHost *:443>
ServerName esup-sgc.univ-ville.fr
ServerAdmin webmaster@univ-ville.fr
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/esup-sgc.univ-ville.fr/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/esup-sgc.univ-ville.fr/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/esup-sgc.univ-ville.fr/chain.pem
ProxyPass /Shibboleth.sso !
ProxyPass /secure !
ScriptAlias /secure /var/www/printenv.pl
ShibCompatValidUser Off
<Location /Shibboleth.sso>
SetHandler shib
AuthType None
Require all granted
</Location>
<Location /shibboleth-sp>
AuthType None
Require all granted
</Location>
Alias /shibboleth-sp/main.css /usr/share/shibboleth/main.css
<Location /secure>
AuthType shibboleth
ShibRequestSetting requireSession 1
require shib-session
ShibUseHeaders On
ShibRequestSetting applicationId default
</Location>
<Location />
AuthType shibboleth
ShibRequestSetting requireSession 1
require shib-session
ShibUseHeaders On
ShibRequestSetting applicationId default
</Location>
<Location "/resources">
Require all granted
ShibRequireSession Off
</Location>
<Location "/wsrest">
Require all granted
ShibRequireSession Off
</Location>
<Location "/payboxcallback">
Require all granted
ShibRequireSession Off
</Location>
ProxyPass / ajp://localhost:8209/ ttl=10 timeout=3600 retry=1
<LocationMatch "^/(resources|webjars)">
ExpiresActive On
ExpiresByType text/css "access plus 1 hour"
ExpiresByType text/javascript "access plus 1 hour"
ExpiresByType application/javascript "access plus 1 hour"
ExpiresByType image/gif "access plus 1 hour"
ExpiresByType image/png "access plus 1 hour"
ExpiresByType image/jpg "access plus 1 hour"
ExpiresByType image/jpeg "access plus 1 hour"
ExpiresByType application/x-shockwave-flash "access plus 1 hour"
ExpiresByType image/x-icon "access plus 1 hour"
</LocationMatch>
CacheRoot /var/cache/httpd/esup-sgc
CacheDirLevels 2
CacheDirLength 1
CacheEnable disk /resources
CacheEnable disk /webjars
AddOutputFilterByType DEFLATE text/plain text/html text/css text/javascript application/x-javascript application/javascript application/json image/svg+xml
</VirtualHost> |
...
Bloc de code | ||||
---|---|---|---|---|
| ||||
<!-- <MetadataProvider type="XML" validate="true" url="https://idp.univ-ville.fr/idp/shibboleth" backingFilePath="idp.univ-ville.fr-metadata.xml"> </MetadataProvider> --> <MetadataProvider type="XML" url="https://metadata.federation.renater.fr/renater/main/main-idps-renater-metadata.xml" backingFilePath="/etc/shibboleth/metadatas/main-idps-renater-metadata.xml" reloadInte\ rvalreloadInterval="7200"> <MetadataFilter type="RequireValidUntil" maxValidityInterval="2419200"/> <MetadataFilter type="Signature" certificate="renater-metadata-signing-cert-2016.pem"/> <MetadataFilter type="Whitelist"> <Include>urn:mace:cru.fr:federation:univ-rouen.fr</Include> <Include>https://shibboleth.insa-rouen.fr/idp/shibboleth</Include> </MetadataFilter> </MetadataProvider> |
...
Pour enrôler et éventuellement encoder vos cartes vous avez également besoin d'un client esup-sgc-client : voir la documentation Clients ESUP-SGC-CLIENT v2.0[archivé]
Installation materielle
Dans l'application esup-sgc-client, l'encodage des cartes s'effectue à l'aide de la webcam et du lecteur de carte NFC. La webcam est disposée au dessus du lecteur de cartes de manière à le filmer. Lorsque qu'une carte est placée sur le lecteur la webcam lit le qrcode puis lance l'encodage.
...