Info |
---|
Cette page décrit une l'installation effecutée effectuée à l'université Université de Rouen sur un serveur en Debian 11 (2 CPU, 2 Go RAM). Le serveur comporte une instance de PROD et une de TEST. Le serveur comporte le frontal Apache, les 2 bases de données PostgreSQL ainsi que les deux applications (prod et test) |
Prérequis
- OpenJDK 1.7+
- Maven 3.6.x+
- PostgreSQL 13+
- Apache 2
- Serveur CAS et/ou IDP Shibboleth
- LDAP SUPANN
- Serveur SMTP
...
- Apogée (pour la synchro/récupération des étudiants en situation de handicap)
- Esup-signature (pour la signature des aménagements)
Création d'un utilisateur pour compiler et lancer l'application
Récupération des sources
Bloc de code |
---|
|
cd /opt/
git clone https://github.com/EsupPortail/esup-agape.git
sudo chown esup:esup esup-agape
/ -R
cd esup-agape |
Configuration
...
Création de la base
Bloc de code |
---|
|
su postgressu postgres
psql
create database esupsignatureesupagape;
create USER esupsignatureesupagape with password password 'esup';
grant ALL ON DATABASE esupsignatureesupagape to esupsignatureesupagape; |
Esup-Agape
Info |
---|
Pour connaitre connaître le détail de l'impact de la configuration, rdv sur la page page Fonctionnement De plus, les différents paramètres sont documentés directement dans le code source ici `src/main/java/org/esupportail/esupagape/config/ApplicationProperties.java` et ici `src/main/java/org/esupportail/esupagape/config/ldap/LdapProperties.java` |
La configuration s’effectue dans le fichier `src/main/resources/application.yml`properties`.
Voici un exemple de configuration :
...
Afin de publier esup-agape de manière securisée, il est possible de mettre un frontal Apache à l'aide du module mod_proxy.
Pour ce faire, installer apache puis activer le mod_proxy, voici . Voici un exemple sous debian :
Bloc de code |
---|
|
apt install apache2
a2enmod proxy proxy_http |
Voici maintenant un exemple de configuration apache qui va rediriger les requetes requêtes http vers https puis faire proxy vers l'application esup-agape :
Bloc de code |
---|
|
<VirtualHost *:80>
ServerName esup-agape.univ-ville.fr
ServerAlias esup-agape
ServerAdmin system@univ-ville.fr
ServerSignature Off
RewriteEngine On
RewriteRule ^(.*) https://esup-agape.univ-ville.fr$1 [L,R]
</VirtualHost>
<VirtualHost *:443>
ServerName esup-agape.univ-ville.fr
ServerAlias esup-agape
ServerAdmin systeme@univ-ville.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 / http://localhost:8080/ ttl=10 timeout=3600 loadfactor=100 retry=1
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
RequestHeader set "X-Forwarded-SSL" expr=%{HTTPS}
ProxyPreserveHost On
</VirtualHost> |
Enfin, recharger la configuration Apache :
Bloc de code |
---|
|
service apache2 reload |
Compilation et lancement
Compilation
Après configuration, dans le dossier du dépôt :
Bloc de code |
---|
|
su esup
cd /opt/esup-agape
mvn clean package |
Création d'un service
Voici un exemple de configuration de systemd pour chaque "mode" de démarrage d'esup-signature (à mettre un fichier esup-agape.service dans /etc/systemd/system/) :
Bloc de code |
---|
|
[Unit]
Description=esup-agape
[Service]
User=esup
Group=esup
Environment=JAVA_OPTS=--add-exports=java.base/sun.security.pkcs=ALL-UNNAMED -Xms1024m -Xmx1024m
WorkingDirectory=/opt/esup-agape
ExecStart=/opt/esup-agape/target/esup-agape.jar
[Install]
WantedBy=multi-user.target
|
Ajustements après installation
...
Pour une bonne gestion des blob blobs de cette application, il faut ajouter dans PostgreSQL un trigger sur la base de données sur la table big_file. La fonction lo_manage est nécessaire ici.
...
Bloc de code |
---|
|
su postgres
psql
\c esupsignatureesupagape
CREATE EXTENSION lo; |
Enfin, seulement après avoir démarré une première fois esup-signature, ajout du ajouter le trigger à l'aide du script suivant :
...