...
- Une interface web unifiée : l'ensemble des manipulations (configuration des 'loaders' comprise) se fait depuis une seule et même interface ; en 2.3 nous devions encore jonglé avec l'ancienne interface (voire l'interface light également) ;
- Une interface Web qui permet de quasiment tout configurer en base de données, là où en 2.3 nous devions éditer un certain nombre de fichiers de configurations ;
- Une synchronisation des groupes vers le ldap (provisioning) s'appuyant sur les possibilités primitives de grouper via le Grouper Daemon ; nous n'avons plus besoin de PSP et de scripts supplémentaires associés.
...
Modes d'installation
Si la documentation officielle recommande très fortement l'usage de docker (et docker-compose) pour installer un Grouper dans un environnement fonctionnel, nous proposons ici de partir des sources, en prenant en compte dans un premier temps nous sommes partis des sources afin de rester dans un environnement similaire à la version 2.3 tout en nous familarisant avec cette nouvelle version de Grouper. Pour ce faire, nous avons fait une ou 2 modifications réalisées sur le fork ESUP - https://github.
Si l'usage de docker est certainement appréciable, on préfère ici être proche des sources et éviter d'utiliser un docker utilisant lui-même la distribution centos dont la fin de vie est maintenant dépassée.
On n'a aucun doute sur le fait que les prochaines versions des images Docker seront proposées sur une distribution linux supportée par une communauté et avec des openjdk/tomcat à jour également, mais ce n'est pas le cas à ce jour (octobre 2024).
...
com/EsupPortail/grouper-esup/tree/grouper-esup-5
Nous avons ensuite procédé à une migration vers un environnement sous docker, de manière conforme à ce qui est décrit dans la documentation de Grouper vis-à-vis de son installation.
Octobre 2024, la documentation à jour (attention, un certain nombre de procédures sont obsolètes, notamment autour de groupInstaller) à ce propos se résumé aux pages nommées "Installation by maturity level" :
Installation depuis les sources
Environnement technique
On utilise une debian bookworm avec :
- openjdk 17 installé par paquet
- apache-maven-3.9.9 installé manuellement
- tomcat9 installé manuellement
- postgresql 15 installé par paquet
- apache et le mod_shib par paquet
Récupération des sources
Bloc de code | ||||
---|---|---|---|---|
| ||||
cd /opt git clone https://github.com/EsupPortail/grouper-esup.git cd /opt/grouper-esup git checkout -b grouper-esup-5 origin/grouper-esup-5 |
Compilation
Bloc de code | ||||
---|---|---|---|---|
| ||||
cd /opt/grouper-esup/grouper-parent mvn clean install |
...
Bloc de code | ||||
---|---|---|---|---|
| ||||
cd /opt/grouper-esup/grouper mvn dependency:copy-dependencies |
Apache, mod_shib, Postgresql, Tomcat, ...
L'installation de ces différents composants ne change pas vraiment par rapport à la version 2.3, notons simplements quelques points :
...
Bloc de code | ||||
---|---|---|---|---|
| ||||
<Context docBase="/opt/grouper-esup/grouper-misc/webapp/grouper-ui-webapp/target/grouper-ui-webapp-5.0.0-SNAPSHOT.war" path="/grouper" reloadable="false"/> |
Récupération des données et configurations de l'installation de Grouper 2.3
Configurations :
Vous pouvez récupérer l'essentiel de vos configurations via simples copies des fichiers properties donnés dans le répertoire grouper/conf
...
- grouper/conf/grouper-loader.properties
- grouper/conf/grouper.hibernate.properties
- grouper/conf/grouper.properties
- grouper/conf/morphString.properties
- grouper/conf/subject.properties
Base de données
Un dump et restore postgresql de la base grouper doit pouvoire fonctionner.
Voir ci-après pour la mise à jour via DDL.
GSH
On pourra lancer gsh ainsi (le répertoire de lancement est important, la récupération des dépendances, cf ci-dessous, est requise) :
Bloc de code | ||||
---|---|---|---|---|
| ||||
cd /opt/grouper-esup/ ./grouper/bin/gsh.sh |
Grouper Daemon
Avec un gsh fonctionnel on pourra lancer le grouper dameon via un systemd ainsi configuré - fichier /etc/systemd/system/grouper-loader-daemon.service
...
Bloc de code | ||||
---|---|---|---|---|
| ||||
# Systemd unit file for grouper-loader-daemon [Unit] Description=Synchro incrementale grouperloader (bases de données) vers grouper After=syslog.target network.target [Service] EnvironmentFile=/opt/grouper-env ExecStart=/opt/grouper-esup/grouper/bin/grouper-loader-daemon User=grouper Group=grouper [Install] WantedBy=multi-user.target |
Mise à jour de la base de données
Dans un premier temps, si le tomcat ne se lance pas, repérez les DDL à lancer.
...
Si tout se passe bien, l'ensemble de vos groupes et configurations sont ainsi restés compatibles avec cette nouvelle version de grouper.
Migration vers une installation sous Docker
En cours...
Ldap Provisionning
Passage de PSP au Ldap Provisionning
...
Copies d'écran d'interfaces indiquant que les daemons jobs ldap sont fonctionnels
Web Service
→ à faire
Purges
La purge des utilisateurs qui ne sont plus présents dans le ldap et qui doivent être supprimés de Grouper ne se fait plus par gsh mais par un daemon de manière automatique
...