Guide d'installation environnement de production Windows

Last modified by Aurelie Bertrand on 2024/04/18 15:15


 Java est requis pour pouvoir lancer DigDash. Actuellement, la version 17 de java n'est pas supportée et ne fonctionnera pas. Nous recommandons d'utiliser java 11 (les versions 12 à 16 n'étant pas des versions LTS) pour le moment.

Vocabulaire

Dans toutes les pages de documentation, les "applications" font références aux fichiers .war présents dans le serveur DigDash Enterprise (digdash_enterprise_202XRX_pXXXXXXXX_64\apache-tomcat\webapps) :

  • Serveur : ddenterpriseapi.war
  • Tableau de bord : digdash_dashboard.war
  • Web Studio : studio.war
  • Page d'accueil : adminconsole.war

Cet ensemble d'applications constitue un domaine. Selon les besoins ce domaine peut être dupliqué pour par exemple disposer d'un contexte de développement et un autre de production.

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

Acronyme

Signification

Digdash

<DD Install> : dossier à avoir ( exemple : digdash_enterprise_2022R2_p20230103_64) qui permet l'installation Digdash

1674038202679-522.png

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 11
  • Tomcat 9
  • WebApps DigDash

Liste des composants de production:

  • Remplacer ADSWRAPPER par OpenLDAP ( Pour les environnements de production)
  • Remplacer H2 par  une Base de données:  PostGres ou MariaDB

Liste des composants optionnels:

  • Reverse Proxy : Nginx pour Linux, Apache pour Windows

Versions supportées

Les versions supportées sont les suivantes :

  • Tomcat 9 : dernier patch
  • OpenLDAP : dernier patch 2.5.x au dernier patch 2.6.x par défaut du gestionnaire de package
  • MariaDB : version de l'OS ou dernière version LTS dernier patch
  • Apache2 : dernier patch

Installations

Système de fichiers

  1. 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
  2. Créer un répertoire “digdash” à la racine du E.
  3. 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
  4. Dans chaque répertoire créé aux étapes précédentes, créer un répertoire default
  5. Copier le fichier digdash.properties à la racine du répertoire digdash du E:

1674039152023-715.png

digdash.properties

  • Ouvrir le fichier digdash.properties et rajouter les lignes suivantes :

# Ajouter ces lignes au début du fichier

# 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éer les 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

# Log files location
property.basePath = L:/logs
# webapp name
property.webAppName = ddenterpriseapi
# short webapp name
property.shortWebAppName = ddapi

logger.app.name = com.digdash
logger.app.level = debug
logger.app.additivity = false
logger.app.includeLocation = true

#console output
appender.console.type = Console
appender.console.name = stdout
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d %-5p [${shortWebAppName}] [%t] (%F:%L) - %m%n

# RollingFileAppender name, pattern, path and rollover policy
appender.rolling.type = RollingFile
appender.rolling.name = R
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 = 5

logger.app.appenderRef.rolling.ref = R
logger.app.appenderRef.console.ref = stdout

# Configure root logger
rootLogger.level = info
rootLogger.appenderRef.stdout.ref = stdout

log4j2_dash.properties

Créer le fichier log4j2_dash.properties à la racine du répertoire.

Copier le code suivant: 

status = warn

# Log files location
property.basePath = L:/logs
# webapp name
property.webAppName = dashboard
# short webapp name
property.shortWebAppName = dashb

logger.app.name = com.digdash
logger.app.level = debug
logger.app.additivity = false
logger.app.includeLocation = true

#console output
appender.console.type = Console
appender.console.name = stdout
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d %-5p [${shortWebAppName}] [%t] (%F:%L) - %m%n

# RollingFileAppender name, pattern, path and rollover policy
appender.rolling.type = RollingFile
appender.rolling.name = R
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 = 5

logger.app.appenderRef.rolling.ref = R
logger.app.appenderRef.console.ref = stdout

# Configure root logger
rootLogger.level = info
rootLogger.appenderRef.stdout.ref = stdout

log4j2_studio.properties

Créer le fichier log4j2_studio.properties à la racine du répertoire.

Copier le code suivant: 

status = warn

# Log files location
property.basePath = L:/logs
# webapp name
property.webAppName = studio
# short webapp name
property.shortWebAppName = stdio

logger.app.name = com.digdash
logger.app.level = debug
logger.app.additivity = false
logger.app.includeLocation = true

#console output
appender.console.type = Console
appender.console.name = stdout
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d %-5p [${shortWebAppName}] [%t] (%F:%L) - %m%n

# RollingFileAppender name, pattern, path and rollover policy
appender.rolling.type = RollingFile
appender.rolling.name = R
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 = 5

logger.app.appenderRef.rolling.ref = R
logger.app.appenderRef.console.ref = stdout

# Configure root logger
rootLogger.level = info
rootLogger.appenderRef.stdout.ref = stdout

Déploiement des WebApps

  1. Aller dans <DD Install>\apache-tomcat\webapps et copier les webapps de DigDash et le répertoire ROOT dans E:/digdash/webapps/default.
  2. Supprimer le war adswrapper.war

Installation Microsoft JDK 11 (optionnel si déjà installé)

  1. Télécharger Microsoft JDK 11 : https://docs.microsoft.com/fr-fr/java/openjdk/download ou utiliser le binaire disponible dans le Zip d’installation partenaire_installation_initial.zip.
  2. Lancer l’installation.

      Rappel : Actuellement, la version 17 de java n'est pas supportée et ne fonctionnera pas

Pour vérifier que l'installation a réussie, aller dans l'invite de commandes et taper : java -version                                                                                                          1674047814503-785.png

Installation de Tomcat 9

  1. Télécharger TomCat 9 : https://tomcat.apache.org/download-90.cgi (Binary Distributions  - > Core -> 32-bit/64-bit Windows Service Installer).
  2. Lancer apache-tomcat-9.X.XX.exe.
  3. Accepter le contrat de licence.
  4. Choisir le composant Tomcat (Service Startup & Native) et le Start Menu Item.
    Tomcat1
  1. Laisser les paramètres de configuration par défaut.

Tomcat2.png

  1. Renseigner le chemin de l’installation de l’openjdk installé à l’étape 1.

Tomcat3.png

  1. Définir le répertoire d’installation de TomCat 9.

Tomcat4.png

  1. Lancer l’installation de TomCat 9.
  2. Lancer la page http://localhost:8080 afin de vérifier le bon fonctionnement de TomCat.
  3. Aller dans le répertoire d’installation de TomCat 9 puis dans le répertoire bin et lancer tomcat9w.exe.
  4. Modifier les paramètres dans l’onglet Java.Tomcat5.png
    • 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 

-server %DD_CONF_FILES_DIGDASH% %DD_CONF_FILES_SERVER% %DD_CONF_FILES_ADMINCONSOLE% %DD_CONF_FILES_DASHBOARD% %DD_CONF_FILES_LDAP% %DD_CONF_FILES_STUDIO% -Dfile.encoding=UTF-8

Important : Ne pas oublier d’augmenter la mémoire du tomcat
Mettre la même valeur dans les champs “Initial memory” et “Maximum memory pool” en MB (exemple : “3000”)

server.xml

  1. Ouvrir le fichier server.xml présent dans le répertoire \Apache Software Foundation\Tomcat 9.0\conf.

  <Connector port="8080" protocol="HTTP/1.1"
                connectionTimeout="20000"
                maxConnections="30000"
                maxThreads="10000" maxPostSize="62914560"
              redirectPort="8443" compression="on" />

Tomcat6.png

  1. Remplacer le chemin des webapp à déployer.

<Host name="localhost"  appBase="E:/digdash/webapps/default"
            unpackWARs="true" autoDeploy="true">
      <Alias>digdash.client.com</Alias>

  1. Ajouter la valve de log et la valve sécurisation à la suite.

<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" /> 

<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"/>

context.xml

  1. Ouvrir le fichier context.xml présent dans le répertoire \Apache Software Foundation\Tomcat 9.0\conf.
  2. Ajouter la balise XML suivante dans la section Context :

<Resources cachingAllowed="true" cacheMaxSize="100000"/>

Lancement de Digdash

  1. Redémarrer le Service Tomcat.
  2. 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.
  3. Vérifier le déploiement des war dans le dossier d’installation E:/digdash/webapps/default.
    Déploiement war
  4. Accéder à DigDash sur l’adresse suivante : http://localhost:8080/adminconsole
    Le login/ mot de passe sera admin/ admin.Page_accueil

Pour changer le mot de passe du superutilisateur, il faut le changer à 2 emplacements :

Serveur entreprise

  • Aller ensuite changer aussi le mot de passe dans les utilisateurs : http://localhost:8080/adminconsole, Gestion des utilisateurs, utilisateurs. Trouver l'utilisateur admin et changer le mot de passe :

1675157596186-581.png

Installation de OpenLDAP

Exécution de l’installer

Télécharger le fichier : https://www.maxcrc.de/en/download-en/

Documentation de référence : https://www.maxcrc.de/en/openldap-for-windows-installation-en/

OpenLDAP0.png

  1. Lancer le .exe.
    OpenLDAP1.png
  2. Accepter la licence.
  3. Sélectionner le répertoire de destination.
  4. Laisser la personnalisation de la configuration sélectionnée par défaut.
    OpenLDAP2.png
     
  5. Définir l’adresse du server name/IP Address en 127.0.0.1
    OpenLDAP3.png

    Définir un mot de passe fort pour le Password :  éviter les coats (“; “) dans le mot de passe
     
  6. Choisir le format BDB.
    OpenLDAP4.png
     
  7. Définir un mot de passe ROOT fort : éviter les coats (“; “) dans le mot de passe.
    OpenLDAP5.png
     
  8. Lancer l’installation.
  9. Vérifier si le service est bien lancé.
    OpenLDAP6.png
     
  10. Arrêter le service OpenLDAP.
  11. Accéder au dossier d’installation.
  12. Ouvrir le fichier slapd.conf.
    OpenLDAP7.png
     
  13. Récupérer le mot de passe ROOT.
    1699544963490-838.png
  14. Récupérer le dossier des fichiers OpenLDAP ici : Fichier zip.

    OpenLDAP9.png
  15. Ouvrir le fichier slapd.
  16. Remplacer le mot de passe ROOT par celui sauvegardé à l’étape précédente.
  17. Copier le fichier slapd et le dossier ldifdata dans le répertoire d’installation de l’OPENLDAP.
  18. Relancer le service LDAP.

Vérification du fonctionnement de l’OpenLDAP et création du domaine digdash et du compte admin

  1. Ouvrir une console Windows en mode administrateur
  2. Accéder au répertoire d'installation en ligne de commande ( cd MonRepertoireDinstallation)
  3. Vérifier le lancement du OpenLDAP :
ClientTools\ldapsearch.exe -H ldap://localhost -D cn=admin,dc=digdash,dc=com -x -W
  1. Créer l’organisation digdash
ClientTools\ldapmodify -H ldap://localhost -D cn=admin,dc=digdash,dc=com -x -W -f ldifdata\neworganization.ldif
  1. Définir la politique de password
ClientTools\ldapmodify -H ldap://localhost -D cn=admin,dc=digdash,dc=com -x -W -f ldifdata\ppolicy-defaut.ldif
  1. Créer le user admin
ClientTools\ldapmodify -H ldap://localhost -D cn=admin,dc=digdash,dc=com -x -W -f ldifdata\create_user_admin.ldif
  1. Créer le mot de passe admin
ClientTools\ldappasswd -H ldap://localhost -D cn=admin,dc=digdash,dc=com -x -W -S "uid=admin,ou=default,dc=digdash,dc=com"
  1. Relancer OPENLDAP pour s’assurer du bon fonctionnement.

Branchement de Digdash au serveur OpenLDAP 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 OpenLDAP

image (8).png

Cliquer ensuite sur Requêtes LDAP, et renseigner les champs comme ci-dessous :

image (9).png

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

  1. Accéder au dossier d’installation.
  2. Ouvrir le fichier slapd.conf.
    OpenLDAP7.png
  3. Ajouter la ligne :
sizelimit 10000

Installation de MariaDB

 PostgreSQL et MySQL sont aussi compatibles.

Exécution de l’installer

  1. 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)
    MariaDB.png
     
  2. Exécuter le fichier .msi pour lancer l’installation et cliquer sur suivant
    MariaDB2.png
     
  3. Choisir le mot de passe root de la base de données :MariaSettings.png
  4. Cliquer sur suivant et installer MariaDB
    MariaDB4.png
  5. 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.
    MariaDB5.png

Configuration des bases de données

  • Ouvrir l’invite de commande en tant qu’administrateur et lancer mariaDB

cd "C:/Program Files/MariaDB 10.9/bin"
mariadb.exe -u root -p

MariaDB6.png

  • Créer les bases de données nécessaires domaine_module (exemple de domaine : default, dev, prod)

CREATE DATABASE default_ddaudit;
CREATE DATABASE default_comment;

MariaDB7.png

Création des utilisateurs et assignation des droits

  • Créer un utilisateur pour chaque base de données domaine_user_module

#Le mot de passe “mynewpassword” est à changer

CREATE USER 'default_user_ddaudit'@'localhost' IDENTIFIED BY 'mynewpassword';
CREATE USER 'default_user_comment'@'localhost' IDENTIFIED BY 'mynewpassword';

  • Attribuer les droits aux utilisateurs sur les bases de données

GRANT ALL PRIVILEGES ON default_comment.* TO 'default_user_comment'@'localhost';
GRANT ALL PRIVILEGES ON default_ddaudit.* TO 'default_user_ddaudit'@'localhost';

Configuration des Bases de données dans Digdash

  1. Accéder à DigDash sur l’adresse suivante : http://localhost:8080/adminconsole
  2. Aller dans Configuration -> Paramètres serveur -> Base de données -> Commentaires et renseigner ici l’URL, l’utilisateur et le mot de passe.

Cette solution permet de sécuriser l’accès à la base de données de commentaires.

https://lh6.googleusercontent.com/sHRfXlPRTLTxdOGOHrPyBVt4F0HOd2Crn-OM8bOShsC1k8CifQmUyk2wM3kG1xUwD1m-9HPDE64pgcG8FkE6q-5dZ5A_LfxqKxieE5tSTsq7cKrdBwf-SN2_0gdGGuCVVQJCQnClNV3rb0sfUTWkttOKHA7V5fiCCalwJcnDhDSRUbI7AlthzOZzByamUQ

  • Faire la même manipulation pour la base de données : Données d’audit. 
  1. Redémarrer le service Apache Tomcat 9.0 Tomcat9 pour prise en compte des modifications

Mise à jour de MariaDB

Pour une mise à jour mineure (10.10.1 vers 10.10.2 par exemple), il faut :

  1. S’assurer  via la release note de la nouvelle version, qu’il n’ y pas à se préoccuper des données
  2. Télécharger la nouvelle version (exemple : 10.10.2) et l’exécuter, la mise à jour devrait se faire automatiquement 
  3. Redémarrer le serveur MariaDB

Configuration

Services DigDash

http://localhost:8080/ddenterpriseapi/serverstatus?adminDomain=adminconsole&serverDomain=ddenterpriseapi

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.

Etat_serveur.png