Guide d'installation Windows
Vous trouverez dans ce guide les instructions d'installation et de configuration sous Windows.
- Terminologie
- Protocole d’installation
- Versions supportées
- Installations
- Configuration DigDash après installation
Ce document décrit comment installer DigDash sur Windows.
Pour l'installation sur Linux, se reporter au document Guide d'Installation Linux.
Pour une mise à jour d'une installation existante, se reporter au document Guide de mise à jour.
Terminologie
Acronymes
Digdash | <DD Install> : dossier à avoir ( exemple : digdash_enterprise_2022R2_p20230103_64) qui permet l'installation Digdash |
OS | Operating System ( Windows, Ubuntu ect..) (environ 20G) |
Lecteur data | E: Dans cette documentation , Partition ou disque différent du système ( taille dépend du projet) |
Lecteur ROOT | C: Dans cette documentation , Partition ou disque qui héberge les données de l’OS |
Lecteur logs | L: Dans cette documentation , Partition ou disque qui héberge les fichiers de Logs (allouer une taille de 5 G) idéalement dédié |
Protocole d’installation
Listes des modules en dehors de DigDash
L’ensemble des serveurs doit avoir à minima les installations suivantes :
- Système de fichier
- Installation Microsoft JDK 17
- Tomcat 9
- WebApps DigDash
Liste des composants de production:
- Remplacer ADSWRAPPER par OpenDJ ( Pour les environnements de production)
- Remplacer H2 par une Base de données: PostGres ou MariaDB
Liste des composants optionnels:
- Reverse Proxy : Apache pour Windows
Versions supportées
Les versions supportées sont les suivantes :
- Tomcat 9 : dernier patch
- OpenDJ (recommandé) : version 4.8.0 et ultérieure
- MariaDB : version de l'OS ou dernière version LTS dernier patch
- Apache2 : dernier patch
Installations
Création d'un système de fichiers
- Créer un répertoire “logs” à la racine du répertoire souhaité (L):
- logs : héberge les fichiers de log des applications qui tourne sur le serveur en local
- Créer un répertoire “digdash” à la racine du E.
- Dans le répertoire digdash, créer 4 répertoires :
- tools : héberge les outils livrés par DigDash qui peuvent interagir avec lui (import tool, backup tools)
- webapps : les modules DigDash applicatifs: (studio, adminconsole, dashboard, ddenterpriseapi)
- ldapdigdash : héberge la configuration et les données du LDAP
- appdata : héberge les données DigDash
- Dans chaque répertoire créé aux étapes précédentes, créer un répertoire default
- Copier le fichier digdash.properties à la racine du répertoire digdash du E:
Modification du fichier digdash.properties
- Ouvrir le fichier digdash.properties et rajouter les lignes suivantes :
# Emplacement des logs
ddenterpriseapi.ddlog4j.properties.file=E:/digdash/log4j2_api.properties
studio.ddlog4j.properties.file=E:/digdash/log4j2_studio.properties
digdash_dashboard.ddlog4j.properties.file=E:/digdash/log4j2_dash.properties
# Emplacement du appadata
ddenterpriseapi.AppDataPath=E:/digdash/appdata/default
digdash_dashboard.AppDataPath=E:/digdash/appdata/default
studio.AppDataPath=E:/digdash/appdata/default
adswrapper.ads.instance.name=E:/digdash/appdata/default/ldapdigdash
adminconsole.adminconsole_domain=adminconsole
adminconsole.webstudio_domain=studio
adminconsole.server_domain_list=ddenterpriseapi
adminconsole.dashboard_domain=digdash_dashboard
studio.DOMAIN=ddenterpriseapi
studio.FORCEDOMAIN=true
studio.SERVERURL=http://localhost:8080
studio.FORCESERVERURL=true
studio.adminconsole_domain=adminconsole
digdash_dashboard.DOMAIN=ddenterpriseapi
digdash_dashboard.FORCEDOMAIN=true
digdash_dashboard.SERVERURL=http://localhost:8080
digdash_dashboard.FORCESERVERURL=true
digdash_dashboard.adminconsole_domain=adminconsole
########### Nettoyage automatique des fichiers programmé
########### Scheduled automatic file cleaning
ddenterpriseapi.startCleaner=true
########### Nettoyage des fichiers inutilisés au démarrage du serveur
########### Clean up unused files on server startup
ddenterpriseapi.cleanOnStart=false
########### Sauvegarde automatique programmée
########### Scheduled automatic backup
ddenterpriseapi.autoBackup=true
ddenterpriseapi.autoBackupKeepDays=7
digdash_dashboard.CANCHANGEPASSWORD=true
########### Adresse de redirection après la déconnexion
#ddenterpriseapi.urlLogout=http://localhost:8080
Création des fichiers de logs à la racine du répertoire digdash :E
log4j2_api.properties
- Créer le fichier log4j2_api.properties à la racine du répertoire.
- Copier le code suivant :
status = warn
# Variables emplacement et nom de la webapp
property.basePath = L:/logs
property.webAppName = ddenterpriseapi
property.shortWebAppName = ddapi
# Definition du logger.app
logger.app.name = com.digdash
# Niveau de log de la webapplication trace, debug, info, warn, error, fatal
logger.app.level = debug
logger.app.additivity = false
# Definition du appender RollingFile
appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = ${basePath}/${webAppName}.log
appender.rolling.filePattern = ${basePath}/${webAppName}-%i.log.gz
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d %-5p [${shortWebAppName}] [%t] (%F:%L) - %m%n
appender.rolling.policies.type = Policies
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size = 200MB
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 15
# Liaison du logger.app au appender RollingFile
logger.app.appenderRef.rolling.ref = RollingFile
log4j2_dash.properties
- Créer le fichier log4j2_dash.properties à la racine du répertoire.
- Copier le code suivant:
status = warn
# Variables emplacement et nom de la webapp
property.basePath = L:/logs
property.webAppName = dashboard
property.shortWebAppName = dash
# Definition du logger.app
logger.app.name = com.digdash
# Niveau de log de la webapplication trace, debug, info, warn, error, fatal
logger.app.level = debug
logger.app.additivity = false
# Definition du appender RollingFile
appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = ${basePath}/${webAppName}.log
appender.rolling.filePattern = ${basePath}/${webAppName}-%i.log.gz
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d %-5p [${shortWebAppName}] [%t] (%F:%L) - %m%n
appender.rolling.policies.type = Policies
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size = 200MB
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 15
# Liaison du logger.app au appender RollingFile
logger.app.appenderRef.rolling.ref = RollingFile
log4j2_studio.properties
- Créer le fichier log4j2_studio.properties à la racine du répertoire.
- Copier le code suivant:
status = warn
# Variables emplacement et nom de la webapp
property.basePath = L:/logs
property.webAppName = studio
property.shortWebAppName = studio
# Definition du logger.app
logger.app.name = com.digdash
# Niveau de log de la webapplication trace, debug, info, warn, error, fatal
logger.app.level = debug
logger.app.additivity = false
# Definition du appender RollingFile
appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = ${basePath}/${webAppName}.log
appender.rolling.filePattern = ${basePath}/${webAppName}-%i.log.gz
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d %-5p [${shortWebAppName}] [%t] (%F:%L) - %m%n
appender.rolling.policies.type = Policies
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size = 200MB
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 15
# Liaison du logger.app au appender RollingFile
logger.app.appenderRef.rolling.ref = RollingFile
Déploiement des WebApps
Placer les éléments suivants (contenu dans le répertoire <DD Install>\apache-tomcat\webapps) dans le dossier E:/digdash/webapps/default :
- adminconsole.war
- ddenterpriseapi.war
- digdash_dashboard.war
- studio.war
- le dossier ROOT/
Installation de Microsoft JDK (optionnel si déjà installé)
- Télécharger Microsoft JDK : https://docs.microsoft.com/fr-fr/java/openjdk/download ou utiliser le binaire disponible dans le Zip d’installation partenaire_installation_initial.zip.
- Lancer l’installation.
Installation de Tomcat 9
- Télécharger TomCat 9 : https://tomcat.apache.org/download-90.cgi (Binary Distributions - > Core -> 32-bit/64-bit Windows Service Installer).
- Lancer apache-tomcat-9.X.XX.exe.
- Accepter le contrat de licence.
- Choisir le composant Tomcat (Service Startup & Native) et le Start Menu Item.
- Laisser les paramètres de configuration par défaut.
- Renseigner le chemin de l’installation de l’openjdk installé à l’étape 1.
- Définir le répertoire d’installation de TomCat 9.
- Lancer l’installation de TomCat 9.
- Lancer la page http://localhost:8080 afin de vérifier le bon fonctionnement de TomCat.
- Aller dans le répertoire d’installation de TomCat 9 puis dans le répertoire bin et lancer tomcat9w.exe.
Modifier les paramètres dans l’onglet Java.
*- Adapter les chemins aux futurs répertoires digdash :
Ddigdash.properties.path=E:\digdash\digdash.properties
Pour que les caractères spéciaux soient bien pris en compte, ajouter le paramètre -Dfile.encoding=UTF-8 à la fin de la variable JAVA_OPTS comme ci-dessous :
- Adapter les chemins aux futurs répertoires digdash :
Modification du fichier server.xml
- Ouvrir le fichier server.xml présent dans le répertoire \Apache Software Foundation\Tomcat 9.0\conf.
connectionTimeout="20000"
maxConnections="30000"
maxCParametersCount="100000"
maxThreads="10000" maxPostSize="62914560"
redirectPort="8443" compression="on" />
- Remplacer le chemin des webapps à déployer.
unpackWARs="true" autoDeploy="true">
<Alias>digdash.client.com</Alias>
- Ajouter la valve de log et la valve sécurisation à la suite.
<Valve className="org.apache.catalina.valves.RemoteIpValve"
internalProxies="127\.0\.[0-1]\.1"
remoteIpHeader="X-Forwarded-For"
requestAttributesEnabled="true"
protocolHeader="X-Forwarded-Proto"
protocolHeaderHttpsValue="https"/>
Modification du fichier context.xml
- Ouvrir le fichier context.xml présent dans le répertoire \Apache Software Foundation\Tomcat 9.0\conf.
- Ajouter la balise XML suivante dans la section Context :
Installation d'OpenDJ (recommandé)
Paramétrage initial
- Télécharger le fichier d'installation (opendj-4.x.x.msi) de OpenDJ à l’adresse suivante : https://github.com/OpenIdentityPlatform/OpenDJ/releases
- Lancer l’installation en double-cliquant sur le fichier opendj-4.x.x.msi.
- Pour le répertoire d’installation, conserver l’emplacement par défaut (C:/Program Files (x86)/opendj).
- Aller dans le repertoire d’installation C:\Program Files (x86)\OpenDJ et lancer le “setup.bat” en tant qu’administrateur.
- Remplir les Paramètres serveur en veillant à enregistrer le mot de passe saisi.
- Dans les Options de topologie, laisser la valeur par défaut Il s’agira d’un serveur autonome.
- Remplir les Données de répertoire et cocher la case Créer uniquement une entrée de base (dc=digdash,dc=com).
- Vérifier les valeurs saisies et cocher Exécuter le serveur en tant que service Windows.
- Cliquez sur Terminer.
Quand l’installation est finie, vérifier si le service est lancé puis lancer un terminal en administrateur pour le paramétrage supplémentaire.
Paramétrage supplémentaire
- Se placer dans le répertoire d’installation d’OpenDJ
- Les fichiers LDIF peuvent être téléchargés en cliquant sur le lien suivant .
- Créer les organisations grâce au fichier “neworganisation.ldif” ci-dessous
objectClass: organizationalUnit
ou: default
- Pour créer un vérificateur de mot de passe :
- Utiliser la commande dsconfig.bat, puis se connecter avec les identifiants du Directory Manager et accepter les certificats.
- Aller dans le menu 29 puis sélectionner “create a new Password Validator” > sélectionner “Character Set Password Validator” > saisir “Custom Character-set Password Validator” > “true” > “true” > puis configurer 4 character-set comme suit :
1:ABCDEFGHIJKLMNOPQRSTUVWXYZ
1:0123456789
1:!"#$%&'()*+,-./:;\<=>?@[]^_`{|}~
➡ Le résultat doit ressembler à cela :
Une fois la configuration terminée, faire “finish” puis quitter le “dsconfig”.
- Pour le second vérificateur de mot de passe, nous pouvons utiliser une ligne de commande car celle-ci ne contient pas de caractères spéciaux :
- Appliquer les deux vérificateurs de mot de passe :
- Définir la politique de mot de passe pour les utilisateurs grâce au fichier “ppolicy.ldif” ci-dessous
objectClass: top
objectClass: subentry
objectClass: pwdPolicy
cn: ppolicy
pwdAttribute: userPassword
pwdAllowUserChange: TRUE
pwdCheckQuality: 1
pwdExpireWarning: 600
pwdFailureCountInterval: 30
pwdGraceAuthNLimit: 5
pwdInHistory: 5
pwdLockout: TRUE
pwdLockoutDuration: 900
pwdMaxAge: 0
pwdMaxFailure: 5
pwdMinAge: 0
pwdMustChange: FALSE
pwdSafeModify: FALSE
subtreeSpecification: {base "ou=users", specificationFilter "!(uid=admin)" }
- Définir une seconde politique de mot de passe pour l’admin grâce au fichier “ppolicy-admin.ldif” ci-dessous
objectClass: top
objectClass: subentry
objectClass: pwdPolicy
cn: ppolicy-admin
pwdAttribute: userPassword
pwdAllowUserChange: TRUE
pwdCheckQuality: 1
pwdFailureCountInterval: 30
pwdGraceAuthNLimit: 5
pwdInHistory: 5
pwdLockout: FALSE
pwdMaxAge: 0
pwdMinAge: 0
pwdMustChange: FALSE
pwdSafeModify: FALSE
subtreeSpecification: {base "ou=users", specificationFilter "(uid=admin)" }
- Modifier la politique de mot de passe pour autoriser les mots de passe pré encodés (utile pour les restaurations dans digdash).
- Créer un utilisateur admin pour digdash via le fichier “create_user_admin.ldif” ci-dessous :
objectClass: shadowAccount
objectClass: inetOrgPerson
cn: Admin Domain Default
sn: Default
uid: admin_default
- Lui affecter les droits nécessaires en utilisant les fichiers “add_admin_right.ldif” et “add_admin_right2.ldif” ci-dessous:
changetype: modify
add: aci
aci: (target ="ldap:///ou=default,dc=digdash,dc=com")(targetattr = "userpassword || shadowlastchange")(version 3.0; acl "allow write on userpassword and shadowlastchange for admin"; allow(write) (userdn = "ldap:///uid=admin,ou=default,dc=digdash,dc=com");)
aci: (target ="ldap:///ou=default,dc=digdash,dc=com")(targetattr = "userpassword || shadowlastchange")(version 3.0; acl "allow read,write on userpassword and shadowlastchange for auth users"; allow(read) (userdn = "ldap:///all");)
aci: (target ="ldap:///ou=default,dc=digdash,dc=com")(targetattr = "userpassword || shadowlastchange")(version 3.0; acl "allow read on userpassword and shadowlastchange for anonymous"; allow(selfwrite) (userdn = "ldap:///anyone");)
aci: (target ="ldap:///ou=default,dc=digdash,dc=com")(targetattr = "*")(version 3.0; acl "allow write on * for admin"; allow(all) (userdn = "ldap:///uid=admin,ou=default,dc=digdash,dc=com");)
aci: (target ="ldap:///ou=default,dc=digdash,dc=com")(targetattr = "*")(version 3.0; acl "allow read on * for anonymous"; allow(read) (userdn = "ldap:///all");)
changetype: modify
add: ds-privilege-name
ds-privilege-name: config-read
ds-privilege-name: password-reset
- Générer un mot de passe pour l’administrateur et le conserver en mémoire pour plus tard
Fonction utile
L'opération ci-dessous ne fait pas partie de l'installation.
Il peut néanmoins être utile de la connaître pour une utilisation ultérieure.
Étendre la limite pour les recherches LDAP
Il est possible d'étendre la limite de recherche du LDAP à plus de 1000 utilisateurs avec le fichier “extend_search_limit.ldif” ci-dessous
changetype: modify
add: ds-rlim-size-limit
ds-rlim-size-limit: 10000
Installation de MariaDB
PostgreSQL et MySQL sont aussi compatibles.
Exécution de l’installer
- Accéder au site https://mariadb.com/downloads/ et télécharger la dernière version du logiciel en choisissant comme OS : MS Windows (64-bit)
- Exécuter le fichier .msi pour lancer l’installation et cliquer sur suivant
- Choisir le mot de passe root de la base de données :
- Cliquer sur suivant et installer MariaDB
- Vérifier la sécurité du dossier C:/Program Files/MariaDB 10.10 pour ne donner que les droits : Lecture et exécution; affichage du contenu du dossier; lecture aux utilisateurs.
Configuration des bases de données
- Ouvrir l’invite de commande en tant qu’administrateur et lancer MariaDB
mariadb.exe -u root -p
- Créer les bases de données nécessaires domaine_module (exemple de domaine : default, dev, prod)
CREATE DATABASE default_comment;
CREATE DATABASE default_ddentry;
Création des utilisateurs et assignation des droits
- Créer un utilisateur pour chaque base de données domaine_user_module
CREATE USER 'default_user_ddaudit'@'localhost' IDENTIFIED BY 'mynewpassword';
CREATE USER 'default_user_comment'@'localhost' IDENTIFIED BY 'mynewpassword';
CREATE USER 'default_user_ddentry'@'localhost' IDENTIFIED BY 'mynewpassword';
- Attribuer les droits aux utilisateurs sur les bases de données
GRANT ALL PRIVILEGES ON default_ddaudit.* TO 'default_user_ddaudit'@'localhost';
GRANT ALL PRIVILEGES ON default_ddentry.* TO 'default_user_ddentry'@'localhost';
Mise à jour de MariaDB
Pour une mise à jour mineure (10.10.1 vers 10.10.2 par exemple), il faut :
- S’assurer via la release note de la nouvelle version, qu’il n’ y pas à se préoccuper des données
- Télécharger la nouvelle version (exemple : 10.10.2) et l’exécuter, la mise à jour devrait se faire automatiquement
- Redémarrer le serveur MariaDB
Configuration DigDash après installation
Lancement de Digdash
- Redémarrer le Service Tomcat.
- Ouvrir le répertoire d'installation de Tomcat (\Apache Software Foundation\Tomcat 9.0\bin\Tomcat9w.exe), puis double cliquer sur le fichier Tomcat9w.exe, cliquer sur Stop et Start.
- Vérifier le déploiement des war dans le dossier d’installation E:/digdash/webapps/default.
- Accéder à DigDash sur l’adresse suivante : http://localhost:8080/adminconsole
Le login/ mot de passe sera admin/ admin.
Branchement de Digdash au serveur OpenDJ installé
Aller dans http://localhost:8080/adminconsole/, Configuration -> Paramètres serveur -> Serveurs -> LDAP.
- Port : 389
- Utilisateur : uid=admin, ou=default,dc=digdash,dc=com
- Mot de passe : mot de passe admin de OpenDJ
Cliquer ensuite sur Requêtes LDAP, et renseigner les champs comme ci-dessous :
Modification du mot de passe superviseur
Modification du mot de passe superviseur
Aller dans Configuration -> Paramètres serveur > Serveurs -> Serveur Enterprise et entrer un nouveau mot de passe dans le champ Mot de passe du Superviseur.
Création du compte LDAP
- Aller dans Configuration -> Gestion des utilisateurs -> Utilisateurs.
- Créer un nouvel utilisateur admin et lui attribuer tous les rôles et groupes d'autorisation.
- Dans le champ Mot de passe, entrer le nouveau mot de passe du superviseur défini ci-dessus.
Configuration des bases de données
Base de données Données d'audit
Aller dans Configuration -> Paramètres serveur -> Base de données -> Données d'audit et renseigner ici l’URL, l’utilisateur et le mot de passe.
URL : jdbc:mariadb://localhost:3306/default_ddaudit
Cette solution permet de sécuriser l’accès à la base de données d'audit.
Base de données Commentaires
Aller dans Configuration -> Paramètres serveur -> Base de données -> Commentaires et renseigner ici l’URL, l’utilisateur et le mot de passe.
URL : jdbc:mariadb://localhost:3306/default_comment
Cette solution permet de sécuriser l’accès à la base de données de commentaires.
Base de données Saisie de données
Aller dans Configuration -> Paramètres serveur -> Base de données -> Saisie des données.
Cocher la case Activer la saisir de données et sélectionner une base de données dans la liste déroulante.
Il faut, au préalable, avoir créé une connexion à la base de données depuis le Gestionnaire des connexions aux de données dans le Studio. Consultez la page Gestionnaire des connexions aux bases de données pour plus de détails.
Entrer default.user.ddentry pour l'utilisateur et le mot de passe défini à l'étape précédente.
Le nom défini dans le champ Nom de connexion est celui qui apparaîtra dans la liste déroulante de sélection de la base de données.
Services DigDash
Vérifier que les services DigDash sont activés et que la mémoire maximale est bien adaptée à la capacité du serveur, il faut laisser au moins 4 Go pour le système.