Guide d'installation environnement de production Windows

Modifié par abertrand le 2024/02/19 12:54


 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.
Pour déployer plusieurs domaines suivez ce lien.

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.

1. Terminologie

1.1. 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é

2. Protocole d’installation

2.1. 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

3. Installations

3.1. Système de fichier

  • 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:

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

3.2. Déploiement des WebApps

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

 

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

  • 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

3.4. Installation de Tomcat 9

  • Lancer apache-tomcat-9.X.XX.exe
  • Accepter le contrat de licence
  • Choisir le composant Tomcat (Service Startup & Native) et le Start Menu Items

Tomcat1

  • Laisser les paramètres de configuration par défaut

Tomcat2.png

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

Tomcat3.png

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

Tomcat4.png

  • 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

1677083315425-276.png

Adapter les chemins aux futurs répertoires digdash :

- Ddigdash.properties.path=E:\digdash\digdash.properties

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

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

Tomcat6.png

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

  • Remplacer le chemin des webapp à déployer 

<Host name="localhost"  appBase="E:/digdash/webapps/default"
            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.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

  • 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 :

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

3.5. 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
    Vérif_déploiement_war.png
  • Accéder à DigDash sur l’adresse suivante : http://localhost:8080/adminconsole

Le login/ mot de passe sera admin/ admin.

1674120078001-394.png

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

1675157456206-148.png

  • 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

3.6. Installation de OpenLDAP

3.6.1. 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

  • Lancer le .exe
    OpenLDAP1.png
  • Accepter la licence
  • Sélectionner le répertoire de destination
  • Laisser la personnalisation de la configuration sélectionnée par défaut
    OpenLDAP2.png
  • 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
  • Choisir le format BDB
    OpenLDAP4.png
     
  • Définir un mot de passe ROOT fort : éviter les coats (“; “) dans le mot de passe
    OpenLDAP5.png
  • Lancer l’installation
  • Vérifier si le service est bien lancé
    OpenLDAP6.png
  • Arrêter le service OpenLDAP
  • Accéder au dossier d’installation
  • Ouvrir le fichier slapd.conf
    OpenLDAP7.png
  • Récupérer le mot de passe ROOT
    OpenLDAP_MDP.png
  • Récupérer le dossier des fichiers OpenLDAP ici : Fichier zip
    OpenLDAP8.png
  • Ouvrir le fichier slapd
  • Remplacer le mot de passe ROOT par celui sauvegardé à l’étape précédente
  • Copier le fichier slapd et le dossier ldifdata dans le répertoire d’installation de l’OPENLDAP
  • Relancer le service LDAP

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

  • Ouvrir une console Windows en mode administrateur
  • Accéder au répertoire d'installation en ligne de commande ( cd MonRepertoireDinstallation)
  • Vérifier le lancement du OpenLDAP :

ClientTools\ldapsearch.exe -H ldap://localhost -D cn=admin,dc=digdash,dc=com -x -W

  • Créer l’organisation digdash

ClientTools\ldapmodify -H ldap://localhost -D cn=admin,dc=digdash,dc=com -x -W -f ldifdata\neworganization.ldif

  • 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

  • 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

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

Relancer OPENLDAP pour s’assurer du bon fonctionnement.

3.6.2. Branchement de Digdash au serveur OpenLDAP installé 

Aller dans http://localhost:8080/adminconsole/, configuration, paramètres serveur, 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

3.7. Installation de MariaDB

 PostgreSQL et MySQL sont aussi compatibles.

3.7.1. Exécution de l’installer 

MariaDB.png

  • Exécuter le fichier .msi pour lancer l’installation et cliquer sur suivant

MariaDB2.png

  • Choisir le mot de passe root de la base de données:

MariaSettings.png

  • Cliquer sur suivant et installer MariaDB

MariaDB4.png

  • 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

3.7.2. 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

3.7.3. 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';

3.7.4.Configuration des BDD dans Digdash

  • Accéder à DigDash sur l’adresse suivante : http://localhost:8080/adminconsole

  • Aller dans Configuration -> Paramètres serveur -> 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. 

  • 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 :

  • 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

4. Configuration

4.1. 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