Environnement : Debian 12 • PingIDM 8.0.1 • PostgreSQL 17 • Java Temurin 17
Conventions : Toutes les commandes sont exécutées en tant qu'utilisateur standard avec sudo quand l'élévation de privilèges est nécessaire. Le répertoire d'installation est /opt/openidm/ (le zip extrait un dossier openidm/).
Étape 1 - Mise à jour du système
sudo apt update -y && sudo apt upgrade -y
Étape 2 - Installation de Java (Temurin JDK 17)
PingIDM 8 requiert JDK 17.0.3 ou supérieur. La doc officielle recommande Eclipse Temurin.
sudo apt install -y wget apt-transport-https gnupg
wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public \
| sudo tee /usr/share/keyrings/adoptium.asc
echo "deb [signed-by=/usr/share/keyrings/adoptium.asc] \
https://packages.adoptium.net/artifactory/deb \
$(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" \
| sudo tee /etc/apt/sources.list.d/adoptium.list
sudo apt update -y
sudo apt install -y temurin-17-jdk
Configurer JAVA_HOME
echo "export JAVA_HOME=/usr/lib/jvm/temurin-17-jdk-amd64" | sudo tee -a /etc/environment
source /etc/environment
java -version
Étape 3 - Installation de PostgreSQL
PingIDM 8.0.1 supporte PostgreSQL 16 et 17.
sudo apt install -y postgresql postgresql-contrib
sudo systemctl enable --now postgresql
sudo systemctl status postgresql
Étape 4 - Installation des utilitaires
sudo apt install -y wget unzip curl
Étape 5 - Créer un utilisateur dédié et déployer le binaire PingIDM
Le zip contient un dossier openidm/. On l'extrait directement dans /opt/ pour obtenir /opt/openidm/.
sudo useradd -r -m -d /opt/openidm -s /bin/bash openidm
cp IDM-8.0.1.zip /tmp/
cd /opt
sudo unzip /tmp/IDM-8.0.1.zip
sudo chown -R openidm:openidm /opt/openidm
rm /tmp/IDM-8.0.1.zip
Étape 6 - Configurer PostgreSQL pour IDM
6.1 - Modifier pg_hba.conf
sudo nano /etc/postgresql/17/main/pg_hba.conf
Ajouter :
local all openidm trust
local all postgres trust
Note : trust est acceptable en lab. En production, utiliser md5 ou scram-sha-256.
Puis redémarrer PostgreSQL :
sudo systemctl restart postgresql
6.2 - Créer la base de données et le rôle openidm
sudo -u postgres psql -f /opt/openidm/db/postgresql/scripts/createuser.pgsql
6.3 - Créer les tables IDM
psql -U openidm < /opt/openidm/db/postgresql/scripts/openidm.pgsql
6.4 - Créer les tables Flowable (workflow engine)
psql -d openidm -U openidm < /opt/openidm/db/postgresql/scripts/flowable.postgres.all.create.sql
6.5 - Créer les tables d'audit (optionnel)
psql -d openidm -U openidm < /opt/openidm/db/postgresql/scripts/audit.pgsql
6.6 - Optimisation des index (recommandé)
Relire le script avant exécution pour vérifier que les index correspondent à votre déploiement :
sudo -u postgres psql -d openidm -f /opt/openidm/db/postgresql/scripts/default_schema_optimization.pgsql
Étape 7 - Configurer IDM pour PostgreSQL
7.1 - Supprimer la config DS par défaut
cd /opt/openidm/conf/
sudo rm repo.ds.json
7.2 - Copier les fichiers de configuration PostgreSQL
sudo cp /opt/openidm/db/postgresql/conf/datasource.jdbc-default.json \
/opt/openidm/conf/
sudo cp /opt/openidm/db/postgresql/conf/repo.jdbc.json \
/opt/openidm/conf/
7.3 - Configurer la connexion JDBC
Éditer datasource.jdbc-default.json si vous avez changé le mot de passe de l'utilisateur openidm :
sudo nano /opt/openidm/conf/datasource.jdbc-default.json
Contenu attendu :
{
"driverClass" : "org.postgresql.Driver",
"jdbcUrl" : "jdbc:postgresql://&{openidm.repo.host}:&{openidm.repo.port}/openidm",
"databaseName" : "openidm",
"username" : "openidm",
"password" : "openidm",
"connectionTimeout" : 30000,
"connectionPool" : {
"type" : "hikari",
"minimumIdle" : 20,
"maximumPoolSize" : 50
}
}
7.4 - Configurer boot.properties
sudo nano /opt/openidm/resolver/boot.properties
Ou exporter la variable OPENIDM_OPTS :
export OPENIDM_OPTS="-Xmx2048m -Xms2048m -Dopenidm.repo.host=localhost -Dopenidm.repo.port=5432"
Étape 8 - Configurer les locales (si nécessaire)
sudo dpkg-reconfigure locales
sudo nano /etc/default/locale
sudo reboot
PostgreSQL nécessite des locales UTF-8 correctement configurées.
Étape 9 - Démarrer PingIDM
sudo su - openidm
cd /opt/openidm
./startup.sh
Sortie attendue :
Using OPENIDM_HOME: /opt/openidm
Using PROJECT_HOME: /opt/openidm
Using OPENIDM_OPTS: -Xmx2048m -Xms2048m ...
-> OpenIDM version "8.0.1"
OpenIDM ready
IDM écoute par défaut sur les ports 8080 (HTTP) et 8443 (HTTPS).
Note production : Configurez openidm.host dans boot.properties sur l'URL de votre déploiement, sinon les redirections vers /admin ne fonctionneront pas correctement.