Wiki source code of Guide d'installation Windows
Last modified by Aurelie Bertrand on 2025/10/09 14:39
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | This guide provides installation and configuration instructions for Windows. | ||
| 2 | |||
| 3 | ---- | ||
| 4 | |||
| 5 | {{ddtoc/}} | ||
| 6 | |||
| 7 | ---- | ||
| 8 | |||
| 9 | |||
| 10 | (% class="box infomessage" %) | ||
| 11 | ((( | ||
| 12 | __Vocabulary__ | ||
| 13 | |||
| 14 | In all documentation pages, "**applications**" refer to .war files present in the DigDash Enterprise server (digdash_enterprise_202XRX_pXXXXXXXX_64\apache-tomcat\webapps): | ||
| 15 | |||
| 16 | * **Server**: ddenterpriseapi.war | ||
| 17 | * **Dashboard**: digdash_dashboard.war | ||
| 18 | * **Web Studio**: studio.war | ||
| 19 | * **Homepage**: adminconsole.war | ||
| 20 | |||
| 21 | This set of applications constitutes a domain. Depending on the needs, this domain can be duplicated, for example, to have a development context and another production context. | ||
| 22 | ))) | ||
| 23 | |||
| 24 | This document describes how to install DigDash on Windows. | ||
| 25 | |||
| 26 | To install DigDash on Linux, please refer to the [[Installation guide for Linux>>doc:dev:Digdash.deployment.installation.install_guide_ubuntu.WebHome]]. | ||
| 27 | |||
| 28 | To update an existing installation, please refer to the [[Upgrade Guide>>doc:Digdash.deployment.installation.upgrade_dde.WebHome]]. | ||
| 29 | |||
| 30 | = Terminology = | ||
| 31 | |||
| 32 | (% id="H1.1.Acronymes" %) | ||
| 33 | == Acronyms == | ||
| 34 | |||
| 35 | ((( | ||
| 36 | (% border="1" cellspacing="0" style="border-collapse:collapse; border:none; width:1004px" %) | ||
| 37 | |=(% style="background-color: grey; border-width: 1px; border-style: solid; padding: 7px; vertical-align: middle; width: 257px; border-color: grey;" %)((( | ||
| 38 | (% style="line-height:1.2; margin-left:-5px; text-align:center" %) | ||
| 39 | (% style="color:#f8f7f7; font-family:~"Open Sans~",sans-serif; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Acronym | ||
| 40 | )))|=(% style="background-color: grey; border-style: solid; border-width: 1px; padding: 7px; vertical-align: middle; width: 746px; border-color: grey;" %)((( | ||
| 41 | (% style="line-height:1.2; margin-left:-5px; margin-right:-8px; text-align:center" %) | ||
| 42 | (% style="color:#f8f7f7; font-family:~"Open Sans~",sans-serif; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)**Meaning** | ||
| 43 | ))) | ||
| 44 | |Digdash|((( | ||
| 45 | <DD Install> : folder ( example : digdash_enterprise_2022R2_p20230103_64) used for Digdash installation | ||
| 46 | |||
| 47 | [[image:1674038202679-522.png]] | ||
| 48 | ))) | ||
| 49 | |((( | ||
| 50 | OS | ||
| 51 | )))|((( | ||
| 52 | Operating System ( Windows, Ubuntu etc..) (about 20G) | ||
| 53 | ))) | ||
| 54 | |((( | ||
| 55 | Data drive | ||
| 56 | )))|((( | ||
| 57 | E: In this documentation | ||
| 58 | |||
| 59 | Partition or disk different from the system (size depends on the project) | ||
| 60 | ))) | ||
| 61 | |((( | ||
| 62 | ROOT drive | ||
| 63 | )))|((( | ||
| 64 | C: In this documentation | ||
| 65 | |||
| 66 | Partition or disk that hosts OS data | ||
| 67 | ))) | ||
| 68 | |((( | ||
| 69 | Logs drive | ||
| 70 | )))|((( | ||
| 71 | L: Dans cette documentation | ||
| 72 | |||
| 73 | Partition or disk which hosts the Log files (allocate a size of 5 G) ideally dedicated | ||
| 74 | ))) | ||
| 75 | ))) | ||
| 76 | |||
| 77 | = Installation procedure = | ||
| 78 | |||
| 79 | == List of modules outside of DigDash == | ||
| 80 | |||
| 81 | All servers must have at least the following installations: | ||
| 82 | |||
| 83 | * File system | ||
| 84 | * Microsoft JDK 17 | ||
| 85 | * Tomcat 9 or 10 | ||
| 86 | * DigDash WebApps | ||
| 87 | |||
| 88 | List of production components: | ||
| 89 | |||
| 90 | * Replace ADSWRAPPER with OpenDJ (For production environments) | ||
| 91 | * Replace H2 with a Database: PostGres or MariaDB | ||
| 92 | |||
| 93 | List of optional components: | ||
| 94 | |||
| 95 | * Reverse Proxy: Apache for Windows | ||
| 96 | |||
| 97 | = Supported versions = | ||
| 98 | |||
| 99 | The following versions are supported : | ||
| 100 | |||
| 101 | * Tomcat 9 or 10 : last patch | ||
| 102 | * OpenDJ (recommended) : version 4.8.0 and later | ||
| 103 | * MariaDB : OS version or last patch of last LTS version | ||
| 104 | * Apache2 : last patch | ||
| 105 | |||
| 106 | (% style="line-height:1.2; text-align:justify; margin-bottom:4px" %) | ||
| 107 | = Installations = | ||
| 108 | |||
| 109 | (% id="H3.1.SystE8medefichier" %) | ||
| 110 | == Creating a file system == | ||
| 111 | |||
| 112 | 1. Create a “logs” directory at the root of the desired directory (L): | ||
| 113 | 1*. logs: hosts the log files of applications running on the server locally | ||
| 114 | 1. Create a “digdash” directory at the root of E. | ||
| 115 | 1. In the digdash directory, create 4 directories: | ||
| 116 | 1*. tools: hosts the tools delivered by DigDash which can interact with it (import tool, backup tools) | ||
| 117 | 1*. webapps: DigDash application modules: (studio, adminconsole, dashboard, ddenterpriseapi) | ||
| 118 | 1*. ldapdigdash: hosts LDAP configuration and data | ||
| 119 | 1*. appdata: hosts DigDash data | ||
| 120 | 1. In each directory created in the previous steps, create a default directory. | ||
| 121 | 1. Copy the digdash.properties file to the root of the digdash directory of E: | ||
| 122 | |||
| 123 | [[image:1674039152023-715.png||data-xwiki-image-style-alignment="center"]] | ||
| 124 | |||
| 125 | |||
| 126 | === Editing the digdash.properties file === | ||
| 127 | |||
| 128 | * Open the digdash.properties file and add the following lines: : | ||
| 129 | |||
| 130 | {{code language="shell"}} | ||
| 131 | # Add these lines at the beginning of the file | ||
| 132 | |||
| 133 | # Log files location | ||
| 134 | ddenterpriseapi.ddlog4j.properties.file=E:/digdash/log4j2_api.properties | ||
| 135 | studio.ddlog4j.properties.file=E:/digdash/log4j2_studio.properties | ||
| 136 | digdash_dashboard.ddlog4j.properties.file=E:/digdash/log4j2_dash.properties | ||
| 137 | |||
| 138 | # Appadata location | ||
| 139 | ddenterpriseapi.AppDataPath=E:/digdash/appdata/default | ||
| 140 | digdash_dashboard.AppDataPath=E:/digdash/appdata/default | ||
| 141 | studio.AppDataPath=E:/digdash/appdata/default | ||
| 142 | adswrapper.ads.instance.name=E:/digdash/appdata/default/ldapdigdash | ||
| 143 | |||
| 144 | adminconsole.adminconsole_domain=adminconsole | ||
| 145 | adminconsole.webstudio_domain=studio | ||
| 146 | adminconsole.server_domain_list=ddenterpriseapi | ||
| 147 | adminconsole.dashboard_domain=digdash_dashboard | ||
| 148 | |||
| 149 | studio.DOMAIN=ddenterpriseapi | ||
| 150 | studio.FORCEDOMAIN=true | ||
| 151 | studio.SERVERURL=http://localhost:8080 | ||
| 152 | studio.FORCESERVERURL=true | ||
| 153 | studio.adminconsole_domain=adminconsole | ||
| 154 | |||
| 155 | digdash_dashboard.DOMAIN=ddenterpriseapi | ||
| 156 | digdash_dashboard.FORCEDOMAIN=true | ||
| 157 | digdash_dashboard.SERVERURL=http://localhost:8080 | ||
| 158 | digdash_dashboard.FORCESERVERURL=true | ||
| 159 | digdash_dashboard.adminconsole_domain=adminconsole | ||
| 160 | |||
| 161 | # IODS scripts location | ||
| 162 | studio.iods_exe_path=path/to/IODS/scripts | ||
| 163 | ddenterpriseapi.iods_exe_path=path/to/IODS/scripts | ||
| 164 | |||
| 165 | # Nodejs export | ||
| 166 | ddenterpriseapi.DDAPIFORNODEJSURL=http://localhost:8080 | ||
| 167 | ddenterpriseapi.NODEJSURL=http://localhost:4000 #Valeur aléatoire entre 4000 et 3000 différent pour chaque environnement hébergé sur le même Tomcat | ||
| 168 | |||
| 169 | ########### Nettoyage automatique des fichiers programmé | ||
| 170 | ########### Scheduled automatic file cleaning | ||
| 171 | ddenterpriseapi.startCleaner=true | ||
| 172 | |||
| 173 | ########### Nettoyage des fichiers inutilisés au démarrage du serveur | ||
| 174 | ########### Clean up unused files on server startup | ||
| 175 | ddenterpriseapi.cleanOnStart=false | ||
| 176 | |||
| 177 | ########### Sauvegarde automatique programmée | ||
| 178 | ########### Scheduled automatic backup | ||
| 179 | ddenterpriseapi.autoBackup=true | ||
| 180 | ddenterpriseapi.autoBackupKeepDays=20 | ||
| 181 | digdash_dashboard.CANCHANGEPASSWORD=true | ||
| 182 | |||
| 183 | |||
| 184 | |||
| 185 | ########### Redirect address after logout | ||
| 186 | |||
| 187 | #ddenterpriseapi.urlLogout=http://localhost:8080 | ||
| 188 | {{/code}} | ||
| 189 | |||
| 190 | ((( | ||
| 191 | === Creating log files at the root of the digdash directory :E === | ||
| 192 | ))) | ||
| 193 | |||
| 194 | ==== log4j2_api.properties ==== | ||
| 195 | |||
| 196 | (% style="font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)Create the log4j2_api.properties file at the root of the directory. | ||
| 197 | |||
| 198 | (% style="font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)Copy the following code: | ||
| 199 | |||
| 200 | {{code language="shell"}} | ||
| 201 | status = warn | ||
| 202 | |||
| 203 | # Log files location | ||
| 204 | property.basePath = L:/logs | ||
| 205 | # webapp name | ||
| 206 | property.webAppName = ddenterpriseapi | ||
| 207 | # short webapp name | ||
| 208 | property.shortWebAppName = ddapi | ||
| 209 | |||
| 210 | # Definition of logger.app | ||
| 211 | logger.app.name = com.digdash | ||
| 212 | # Web application log level: trace, debug, info, warn, error, fatal | ||
| 213 | logger.app.level = debug | ||
| 214 | logger.app.additivity = false | ||
| 215 | |||
| 216 | # Definition of appender RollingFile | ||
| 217 | appender.rolling.type = RollingFile | ||
| 218 | appender.rolling.name = RollingFile | ||
| 219 | appender.rolling.fileName = ${basePath}/${webAppName}.log | ||
| 220 | appender.rolling.filePattern = ${basePath}/${webAppName}-%i.log.gz | ||
| 221 | appender.rolling.layout.type = PatternLayout | ||
| 222 | appender.rolling.layout.pattern = %d %-5p [${shortWebAppName}] [%t] (%F:%L) - %m%n | ||
| 223 | appender.rolling.policies.type = Policies | ||
| 224 | appender.rolling.policies.size.type = SizeBasedTriggeringPolicy | ||
| 225 | appender.rolling.policies.size.size = 200MB | ||
| 226 | appender.rolling.strategy.type = DefaultRolloverStrategy | ||
| 227 | appender.rolling.strategy.max = 15 | ||
| 228 | |||
| 229 | # Linking logger.app to RollingFile appender | ||
| 230 | logger.app.appenderRef.rolling.ref = RollingFile | ||
| 231 | {{/code}} | ||
| 232 | |||
| 233 | ((( | ||
| 234 | ==== log4j2_dash.properties ==== | ||
| 235 | ))) | ||
| 236 | |||
| 237 | (% style="font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)Create the log4j2_dash.properties file at the root of the directory. | ||
| 238 | |||
| 239 | (% style="font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)Copy the following code: | ||
| 240 | |||
| 241 | {{code language="shell"}} | ||
| 242 | status = warn | ||
| 243 | |||
| 244 | # Log files location | ||
| 245 | property.basePath = L:/logs | ||
| 246 | # webapp name | ||
| 247 | property.webAppName = dashboard | ||
| 248 | # short webapp name | ||
| 249 | property.shortWebAppName = dash | ||
| 250 | |||
| 251 | # Definition of logger.app | ||
| 252 | logger.app.name = com.digdash | ||
| 253 | # Webapplication log level : trace, debug, info, warn, error, fatal | ||
| 254 | logger.app.level = debug | ||
| 255 | logger.app.additivity = false | ||
| 256 | |||
| 257 | # Definition of appender RollingFile | ||
| 258 | appender.rolling.type = RollingFile | ||
| 259 | appender.rolling.name = RollingFile | ||
| 260 | appender.rolling.fileName = ${basePath}/${webAppName}.log | ||
| 261 | appender.rolling.filePattern = ${basePath}/${webAppName}-%i.log.gz | ||
| 262 | appender.rolling.layout.type = PatternLayout | ||
| 263 | appender.rolling.layout.pattern = %d %-5p [${shortWebAppName}] [%t] (%F:%L) - %m%n | ||
| 264 | appender.rolling.policies.type = Policies | ||
| 265 | appender.rolling.policies.size.type = SizeBasedTriggeringPolicy | ||
| 266 | appender.rolling.policies.size.size = 200MB | ||
| 267 | appender.rolling.strategy.type = DefaultRolloverStrategy | ||
| 268 | appender.rolling.strategy.max = 15 | ||
| 269 | |||
| 270 | # Linking logger.app to appender RollingFile | ||
| 271 | logger.app.appenderRef.rolling.ref = RollingFile | ||
| 272 | {{/code}} | ||
| 273 | |||
| 274 | ==== log4j2_studio.properties ==== | ||
| 275 | |||
| 276 | (% style="font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)Create the log4j2_studio.properties file at the root of the directory. | ||
| 277 | |||
| 278 | (% style="font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)Copy the following code: | ||
| 279 | |||
| 280 | {{code language="shell"}} | ||
| 281 | status = warn | ||
| 282 | |||
| 283 | # Log files location | ||
| 284 | property.basePath = L:/logs | ||
| 285 | # webapp name | ||
| 286 | property.webAppName = studio | ||
| 287 | # short webapp name | ||
| 288 | property.shortWebAppName = studio | ||
| 289 | |||
| 290 | # Definition of logger.app | ||
| 291 | logger.app.name = com.digdash | ||
| 292 | # Webapplication log level : trace, debug, info, warn, error, fatal | ||
| 293 | logger.app.level = debug | ||
| 294 | logger.app.additivity = false | ||
| 295 | |||
| 296 | # Definition of appender RollingFile | ||
| 297 | appender.rolling.type = RollingFile | ||
| 298 | appender.rolling.name = RollingFile | ||
| 299 | appender.rolling.fileName = ${basePath}/${webAppName}.log | ||
| 300 | appender.rolling.filePattern = ${basePath}/${webAppName}-%i.log.gz | ||
| 301 | appender.rolling.layout.type = PatternLayout | ||
| 302 | appender.rolling.layout.pattern = %d %-5p [${shortWebAppName}] [%t] (%F:%L) - %m%n | ||
| 303 | appender.rolling.policies.type = Policies | ||
| 304 | appender.rolling.policies.size.type = SizeBasedTriggeringPolicy | ||
| 305 | appender.rolling.policies.size.size = 200MB | ||
| 306 | appender.rolling.strategy.type = DefaultRolloverStrategy | ||
| 307 | appender.rolling.strategy.max = 15 | ||
| 308 | |||
| 309 | # Linking logger.app to appender RollingFile | ||
| 310 | logger.app.appenderRef.rolling.ref = RollingFile | ||
| 311 | {{/code}} | ||
| 312 | |||
| 313 | == Deploying WebApps == | ||
| 314 | |||
| 315 | Place the following (contained in the <DD Install>\apache-tomcat\webapps directory) in the E:/digdash/webapps/default folder: | ||
| 316 | |||
| 317 | * adminconsole.war | ||
| 318 | * ddenterpriseapi.war | ||
| 319 | * digdash_dashboard.war | ||
| 320 | * studio.war | ||
| 321 | * ROOT/ folder | ||
| 322 | |||
| 323 | == Installing Microsoft JDK (optional if already installed) == | ||
| 324 | |||
| 325 | (% class="box warningmessage" %) | ||
| 326 | ((( | ||
| 327 | Java is required to launch DigDash. Only **JDK 17** is supported. | ||
| 328 | ))) | ||
| 329 | |||
| 330 | 1. Download Microsoft JDK : [[https:~~/~~/docs.microsoft.com/fr-fr/java/openjdk/download>>url:https://docs.microsoft.com/fr-fr/java/openjdk/download]] or use the binary available in the installation Zip partenaire_installation_initial.zip. | ||
| 331 | 1. Start the installation. | ||
| 332 | |||
| 333 | (% class="box infomessage" %) | ||
| 334 | ((( | ||
| 335 | To check the installation was successful, go to the command prompt and type: | ||
| 336 | java -version. | ||
| 337 | ))) | ||
| 338 | |||
| 339 | == Installing Tomcat {{id name="Tomcat_windows"/}} == | ||
| 340 | |||
| 341 | Please consult one of the following pages according to the version to install : | ||
| 342 | |||
| 343 | * [[Installing Tomcat 9>>doc:.install_guide_tomcat9.WebHome]] | ||
| 344 | * [[Installing Tomcat 10>>doc:.install_guide_tomcat10.WebHome]] | ||
| 345 | |||
| 346 | ((( | ||
| 347 | == Installing OpenDJ (recommended){{id name="OpenDJ"/}} == | ||
| 348 | |||
| 349 | === Initial setup === | ||
| 350 | |||
| 351 | 1. Download the OpenDJ installation file (**opendj-4.x.x.msi**) from: [[__https:~~/~~/github.com/OpenIdentityPlatform/OpenDJ/releases__>>url:https://github.com/OpenIdentityPlatform/OpenDJ/releases]] | ||
| 352 | 1. Start the installation by double-clicking the **opendj-4.x.x.msi** file. | ||
| 353 | 1. Keep the default location for the installtion directory : (C:/Program Files (x86)/opendj). | ||
| 354 | 1. Open the installation directory C:/Program Files (x86)/opendj) and run the “setup.bat” as administrator. | ||
| 355 | 1. Complete the **Server settings **and make sure to save the password entered. | ||
| 356 | [[image:Server Settings.png||alt="Server settings"]] | ||
| 357 | |||
| 358 | 1. In the **Topology Options **tab, leave the default option **This will be a stand alone server**. | ||
| 359 | [[image:Topology Options.png||alt="Topology options"]] | ||
| 360 | |||
| 361 | 1. Fill in the **Directory Data** and select **Only Create Base Entry (dc=digdash,dc=com)**. | ||
| 362 | [[image:Directory Data.png||alt="Directory Data"]] | ||
| 363 | |||
| 364 | 1. In the **Review** tab, check the entered values and select the **Run the server as a Windows Service **checkbox.** | ||
| 365 | [[image:Review.png||alt="Review"]]** | ||
| 366 | |||
| 367 | 1. Click **Finish**. | ||
| 368 | [[image:Finished.png||alt="Finished"]] | ||
| 369 | |||
| 370 | When the installation is finished, check if the service is started. Then launch an administrator terminal for additional settings. | ||
| 371 | |||
| 372 | === Additional settings === | ||
| 373 | |||
| 374 | 1. Open the OpenDJ installation directory. | ||
| 375 | |||
| 376 | {{code language="cmd"}} | ||
| 377 | cd C:\Program Files (x86)\OpenDJ\bat | ||
| 378 | {{/code}} | ||
| 379 | |||
| 380 | (% start="2" %) | ||
| 381 | 1. LDIF files can be downloaded by clicking on the following link : [[LDIF_OpenDJ>>attach:LDIF_OpenDJ.zip]]. | ||
| 382 | 1. Create the organizations using the “neworganization.ldif” file below | ||
| 383 | |||
| 384 | {{code language="c"}} | ||
| 385 | ldapmodify.bat --port 389 --bindDN "cn=Directory Manager" --bindPassword adminOpenDJ1 "C:\Users\digdash\Downloads\neworganisation.ldif" | ||
| 386 | {{/code}} | ||
| 387 | |||
| 388 | {{code language="c"}} | ||
| 389 | dn: ou=default,dc=digdash,dc=com | ||
| 390 | |||
| 391 | objectClass: organizationalUnit | ||
| 392 | |||
| 393 | ou: default | ||
| 394 | {{/code}} | ||
| 395 | |||
| 396 | (% start="4" %) | ||
| 397 | 1. To create a password checker: | ||
| 398 | 1*. Use the dsconfig.bat command, then log in with the Directory Manager credentials and accept the certificates. | ||
| 399 | 1*. Go to menu 29 then select “create a new Password Validator” > select “Character Set Password Validator” > enter “Custom Character Set Password Validator” > “true” > “true” > then configure 4 character-set as follows: | ||
| 400 | |||
| 401 | {{code language="shell"}} | ||
| 402 | 1:abcdefghijklmnopqrstuvwxyz | ||
| 403 | 1:ABCDEFGHIJKLMNOPQRSTUVWXYZ | ||
| 404 | 1:0123456789 | ||
| 405 | 1:!"#$%&'()*+,-./:;\<=>?@[]^_`{|}~ | ||
| 406 | {{/code}} | ||
| 407 | |||
| 408 | ➡ The result should look like this: | ||
| 409 | [[image:Résultat.png]] | ||
| 410 | Once the configuration is complete, “finish” and exit “dsconfig”. | ||
| 411 | |||
| 412 | (% start="5" %) | ||
| 413 | 1. For the second password checker, we can use a command line because it does not contain special characters: | ||
| 414 | |||
| 415 | {{code language="c"}} | ||
| 416 | dsconfig create-password-validator --bindDN "cn=Directory Manager" --bindPassword adminOpenDJ1 --validator-name "Custom length Password Validator" --set min-password-length:12 --set enabled:true --type length-based --no-prompt | ||
| 417 | {{/code}} | ||
| 418 | |||
| 419 | (% start="6" %) | ||
| 420 | 1. Apply both password checkers: | ||
| 421 | |||
| 422 | {{code language="c"}} | ||
| 423 | dsconfig set-password-policy-prop --bindDN "cn=Directory Manager" --bindPassword adminOpenDJ1 --policy-name "Default Password Policy" --set password-validator:"Custom Character-set Password Validator" --set password-validator:"Custom length Password Validator" --no-prompt | ||
| 424 | {{/code}} | ||
| 425 | |||
| 426 | (% start="7" %) | ||
| 427 | 1. Set the password policy for users using the “ppolicy.ldif” file below : | ||
| 428 | |||
| 429 | {{code language="c"}} | ||
| 430 | ldapmodify.bat --port 389 --bindDN "cn=Directory Manager" --bindPassword adminOpenDJ1 "C:\Users\digdash\Downloads\ppolicy.ldif" | ||
| 431 | {{/code}} | ||
| 432 | |||
| 433 | {{code language="c"}} | ||
| 434 | dn: cn=ppolicy,ou=default,dc=digdash,dc=com | ||
| 435 | objectClass: top | ||
| 436 | objectClass: subentry | ||
| 437 | objectClass: pwdPolicy | ||
| 438 | cn: ppolicy | ||
| 439 | pwdAttribute: userPassword | ||
| 440 | pwdAllowUserChange: TRUE | ||
| 441 | pwdCheckQuality: 1 | ||
| 442 | pwdExpireWarning: 600 | ||
| 443 | pwdFailureCountInterval: 30 | ||
| 444 | pwdGraceAuthNLimit: 5 | ||
| 445 | pwdInHistory: 5 | ||
| 446 | pwdLockout: TRUE | ||
| 447 | pwdLockoutDuration: 900 | ||
| 448 | pwdMaxAge: 0 | ||
| 449 | pwdMaxFailure: 5 | ||
| 450 | pwdMinAge: 0 | ||
| 451 | pwdMustChange: FALSE | ||
| 452 | pwdSafeModify: FALSE | ||
| 453 | subtreeSpecification: {base "ou=users", specificationFilter "!(uid=admin)" } | ||
| 454 | {{/code}} | ||
| 455 | |||
| 456 | (% start="8" %) | ||
| 457 | 1. Set a second password policy for the admin using the “ppolicy-admin.ldif” file below | ||
| 458 | |||
| 459 | {{code language="c"}} | ||
| 460 | ldapmodify.bat --port 389 --bindDN "cn=Directory Manager" --bindPassword adminOpenDJ1 "C:\Users\digdash\Downloads\ppolicy-admin.ldif" | ||
| 461 | {{/code}} | ||
| 462 | |||
| 463 | {{code}} | ||
| 464 | dn: cn=ppolicy-admin,ou=default,dc=digdash,dc=com | ||
| 465 | objectClass: top | ||
| 466 | objectClass: subentry | ||
| 467 | objectClass: pwdPolicy | ||
| 468 | cn: ppolicy-admin | ||
| 469 | pwdAttribute: userPassword | ||
| 470 | pwdAllowUserChange: TRUE | ||
| 471 | pwdCheckQuality: 1 | ||
| 472 | pwdFailureCountInterval: 30 | ||
| 473 | pwdGraceAuthNLimit: 5 | ||
| 474 | pwdInHistory: 5 | ||
| 475 | pwdLockout: FALSE | ||
| 476 | pwdMaxAge: 0 | ||
| 477 | pwdMinAge: 0 | ||
| 478 | pwdMustChange: FALSE | ||
| 479 | pwdSafeModify: FALSE | ||
| 480 | subtreeSpecification: {base "ou=users", specificationFilter "(uid=admin)" } | ||
| 481 | {{/code}} | ||
| 482 | |||
| 483 | (% start="9" %) | ||
| 484 | 1. Change the password policy to allow pre-encoded passwords (useful for restores in digdash). | ||
| 485 | |||
| 486 | {{code language="c"}} | ||
| 487 | dsconfig.bat set-password-policy-prop --policy-name "Default Password Policy" --set allow-pre-encoded-passwords:true --hostname localhost --trustAll --bindDN "cn=directory manager" --bindPassword adminOpenDJ1 --no-prompt | ||
| 488 | {{/code}} | ||
| 489 | |||
| 490 | (% start="10" %) | ||
| 491 | 1. Create an admin user for digdash via the “create_user_admin.ldif” file below: | ||
| 492 | |||
| 493 | {{code language="c"}} | ||
| 494 | ldapmodify.bat --port 389 --bindDN "cn=Directory Manager" --bindPassword adminOpenDJ1 "C:\Users\digdash\Downloads\create_user_admin.ldif" | ||
| 495 | {{/code}} | ||
| 496 | |||
| 497 | {{code language="c"}} | ||
| 498 | dn: uid=admin,ou=default,dc=digdash,dc=com | ||
| 499 | objectClass: shadowAccount | ||
| 500 | objectClass: inetOrgPerson | ||
| 501 | cn: Admin Domain Default | ||
| 502 | sn: Default | ||
| 503 | uid: admin_default | ||
| 504 | {{/code}} | ||
| 505 | |||
| 506 | (% start="11" %) | ||
| 507 | 1. Assign the admin user the necessary rights using the “add_admin_right.ldif” and “add_admin_right2.ldif” files below: | ||
| 508 | |||
| 509 | {{code language="c"}} | ||
| 510 | ldapmodify.bat --port 389 --bindDN "cn=Directory Manager" --bindPassword adminOpenDJ1 "C:\Users\digdash\Downloads\add_admin_right.ldif" | ||
| 511 | {{/code}} | ||
| 512 | |||
| 513 | {{code language="c"}} | ||
| 514 | dn: ou=default,dc=digdash,dc=com | ||
| 515 | changetype: modify | ||
| 516 | add: aci | ||
| 517 | 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");) | ||
| 518 | 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");) | ||
| 519 | 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");) | ||
| 520 | 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");) | ||
| 521 | aci: (target ="ldap:///ou=default,dc=digdash,dc=com")(targetattr = "*")(version 3.0; acl "allow read on * for anonymous"; allow(read) (userdn = "ldap:///all");) | ||
| 522 | {{/code}} | ||
| 523 | |||
| 524 | {{code language="c"}} | ||
| 525 | ldapmodify.bat --port 389 --bindDN "cn=Directory Manager" --bindPassword adminOpenDJ1 "C:\Users\digdash\Downloads\add_admin_right2.ldif" | ||
| 526 | {{/code}} | ||
| 527 | |||
| 528 | {{code language="c"}} | ||
| 529 | dn: uid=admin,ou=default,dc=digdash,dc=com | ||
| 530 | changetype: modify | ||
| 531 | add: ds-privilege-name | ||
| 532 | ds-privilege-name: config-read | ||
| 533 | ds-privilege-name: password-reset | ||
| 534 | ds-privilege-name: unindexed-search | ||
| 535 | {{/code}} | ||
| 536 | |||
| 537 | (% start="12" %) | ||
| 538 | 1. Generate an administrator password and remember it for later: | ||
| 539 | |||
| 540 | {{code language="shell"}} | ||
| 541 | sudo /opt/opendj/bin/ldappasswordmodify --port 389 --bindDN "cn=Directory Manager" --bindPassword "adminOpenDJ1" --authzID "uid=admin,ou=default,dc=digdash,dc=com" | ||
| 542 | {{/code}} | ||
| 543 | |||
| 544 | (% class="box infomessage" %) | ||
| 545 | ((( | ||
| 546 | 💡 If you want to set your own password for the admin user, you need to use a variation of the previous command: | ||
| 547 | |||
| 548 | {{code language="shell"}} | ||
| 549 | sudo /opt/opendj/bin/ldappasswordmodify --port 389 --bindDN "cn=Directory Manager" --bindPassword "adminOpenDJ1" --authzID "uid=admin,ou=default,dc=digdash,dc=com" --newPassword "mdpAdmin" | ||
| 550 | {{/code}} | ||
| 551 | ))) | ||
| 552 | |||
| 553 | === Useful option === | ||
| 554 | |||
| 555 | (% class="wikigeneratedid" %) | ||
| 556 | The operation below is not part of the installation. | ||
| 557 | However, it may be useful to know it for later use. | ||
| 558 | |||
| 559 | ==== Extending the limit for LDAP searches ==== | ||
| 560 | |||
| 561 | It is possible to extend the LDAP search limit to more than 1000 users with the “extend_search_limit.ldif” file below. | ||
| 562 | |||
| 563 | {{code language="c"}} | ||
| 564 | ldapmodify.bat --port 389 --bindDN "cn=Directory Manager" --bindPassword adminOpenDJ1 "C:\Users\digdash\Downloads\extend_search_limit.ldif" | ||
| 565 | {{/code}} | ||
| 566 | |||
| 567 | {{code language="c"}} | ||
| 568 | dn: uid=admin,ou=default,dc=digdash,dc=com | ||
| 569 | changetype: modify | ||
| 570 | add: ds-rlim-size-limit | ||
| 571 | ds-rlim-size-limit: 10000 | ||
| 572 | {{/code}} | ||
| 573 | |||
| 574 | == Installing MariaDB{{id name="DB_windows"/}} == | ||
| 575 | |||
| 576 | The MariaDB database will be used to store the following elements: comments, audit data and data entry. | ||
| 577 | |||
| 578 | This database is more durable than an H2 database, that is why we recommend its use. If you already have a database that Digdash can write to and read from then proceed to the configuration step. | ||
| 579 | |||
| 580 | PostgreSQL and MySQL are also compatible. | ||
| 581 | |||
| 582 | (% style="font-size:20px; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; text-wrap:wrap" %)Running the installer | ||
| 583 | |||
| 584 | 1. Access the website [[(% style="-webkit-text-decoration-skip:none; color:#1155cc; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration-skip-ink:none; text-decoration:underline; white-space:pre-wrap" %)__https:~~/~~/mariadb.com/downloads/__>>url:https://mariadb.com/downloads/||style="text-decoration:none"]](%%) and download the latest version of the software for OS: MS Windows (64-bit). | ||
| 585 | [[image:MariaDB.png]] | ||
| 586 | |||
| 587 | 1. (% style="font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)Run the .msi file to start the installation and click **Next**.(%%) | ||
| 588 | [[image:MariaDB2.png]] | ||
| 589 | |||
| 590 | 1. (% style="font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)Choose the database root password: | ||
| 591 | [[image:MariaSettings.png]](%%) | ||
| 592 | |||
| 593 | 1. (% style="font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)Click **Next** and install MariaDB.(%%) | ||
| 594 | [[image:MariaDB4.png]] | ||
| 595 | |||
| 596 | 1. Check the security of the C:/Program Files/MariaDB 10.10 folder to only give the following rights to users: Read and execute; List folder contents; Read. | ||
| 597 | [[image:MariaDB5b_en.png]] | ||
| 598 | |||
| 599 | === Database configuration === | ||
| 600 | |||
| 601 | 1. (% style="font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)Open command prompt as administrator and launch MariaDB. | ||
| 602 | |||
| 603 | {{code language="c"}} | ||
| 604 | cd "C:/Program Files/MariaDB 10.9/bin" | ||
| 605 | mariadb.exe -u root -p | ||
| 606 | {{/code}} | ||
| 607 | |||
| 608 | [[image:MariaDB6.png||queryString="width=704&height=215" height="215" width="704"]] | ||
| 609 | |||
| 610 | (% start="2" %) | ||
| 611 | 1. (% style="font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)Create the necessary databases domain_module (domain examples: default, dev, prod) | ||
| 612 | |||
| 613 | {{code language="shell"}} | ||
| 614 | CREATE DATABASE default_ddaudit; | ||
| 615 | CREATE DATABASE default_comment; | ||
| 616 | CREATE DATABASE default_ddentry; | ||
| 617 | {{/code}} | ||
| 618 | |||
| 619 | (% class="wikigeneratedid" %) | ||
| 620 | [[image:MariaDB7.png]] | ||
| 621 | |||
| 622 | === Creating users and assigning rights === | ||
| 623 | |||
| 624 | 1. (% style="font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)Create a user for each database domaine_user_module: | ||
| 625 | |||
| 626 | {{code language="shell"}} | ||
| 627 | #The password “mynewpassword” must be changed | ||
| 628 | |||
| 629 | CREATE USER 'default_user_ddaudit'@'localhost' IDENTIFIED BY 'mynewpassword'; | ||
| 630 | CREATE USER 'default_user_comment'@'localhost' IDENTIFIED BY 'mynewpassword'; | ||
| 631 | CREATE USER 'default_user_ddentry'@'localhost' IDENTIFIED BY 'mynewpassword'; | ||
| 632 | {{/code}} | ||
| 633 | |||
| 634 | (% start="2" %) | ||
| 635 | 1. (% style="font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)Assign rights to the user on databases: | ||
| 636 | |||
| 637 | {{code language="shell"}} | ||
| 638 | GRANT ALL PRIVILEGES ON default_comment.* TO 'default_user_comment'@'localhost'; | ||
| 639 | GRANT ALL PRIVILEGES ON default_ddaudit.* TO 'default_user_ddaudit'@'localhost'; | ||
| 640 | GRANT ALL PRIVILEGES ON default_ddentry.* TO 'default_user_ddentry'@'localhost'; | ||
| 641 | {{/code}} | ||
| 642 | |||
| 643 | === MariaDB Update === | ||
| 644 | |||
| 645 | For a minor update (for example, 10.10.1 to 10.10.2), you have to : | ||
| 646 | |||
| 647 | 1. Read the release note of the new version to ensure that there is no need to worry about the data. | ||
| 648 | 1. Download the new version (example: 10.10.2) and run it : the update should be done automatically. | ||
| 649 | 1. Restart MariaDB server. | ||
| 650 | |||
| 651 | (% style="line-height: 1.2; margin-bottom: 4px;" %) | ||
| 652 | = Configuring DigDash after installation = | ||
| 653 | |||
| 654 | ((( | ||
| 655 | == Starting Digdash == | ||
| 656 | |||
| 657 | 1. Restart the Tomcat Service. | ||
| 658 | 1. Open the Tomcat installation directory: | ||
| 659 | 1*. Tomcat 9 : \Apache Software Foundation\Tomcat 9.0\bin\Tomcat9w.exe | ||
| 660 | 1*. Tomcat 10 : \Apache Software Foundation\Tomcat 10.1\bin\Tomcat9w.e | ||
| 661 | 1. Then double click the Tomcat9w.exe file, click Stop and Start. | ||
| 662 | 1. Check the war deployment in the installation folder E:/digdash/webapps/default. | ||
| 663 | [[image:Vérif_déploiement_war.png||alt="Déploiement war"]] | ||
| 664 | ))) | ||
| 665 | |||
| 666 | (% start="4" %) | ||
| 667 | 1. Access DigDash homepage at the following address : [[http:~~/~~/localhost:8080/adminconsole>>url:http://localhost:8080/adminconsole]] | ||
| 668 | The login/password is admin/admin. | ||
| 669 | |||
| 670 | == Connecting Digdash to the installed OpenDJ server == | ||
| 671 | |||
| 672 | (% style="line-height:1.2; text-indent:0.15354330708661657pt; text-align:justify" %) | ||
| 673 | Open [[http:~~/~~/localhost:8080/adminconsole/>>http://localhost:8080/adminconsole/]], **Configuration -> Server settings -> Servers -> LDAP Server**. | ||
| 674 | |||
| 675 | * Port: 389 | ||
| 676 | * User: uid=admin, ou=default,dc=digdash,dc=com | ||
| 677 | * Password: OpenDJ admin password | ||
| 678 | |||
| 679 | [[image:LDAP_server_EN.png||height="407" width="1104"]] | ||
| 680 | |||
| 681 | (% style="line-height:1.2; text-indent:0.15354330708661657pt; text-align:justify" %) | ||
| 682 | Then click the **LDAP Queries** button and fill in the fields as below: | ||
| 683 | |||
| 684 | (% style="line-height:1.2; text-indent:0.15354330708661657pt; text-align:justify" %) | ||
| 685 | [[image:LDAP_queries_EN.png||alt="LDAP queries" height="702" width="1105"]] | ||
| 686 | |||
| 687 | |||
| 688 | (% id="cke_bm_3931S" style="display:none" %) | ||
| 689 | |||
| 690 | == Changing the supervisor password and creating the LDAP account == | ||
| 691 | |||
| 692 | === Changing the supervisor password === | ||
| 693 | |||
| 694 | Open **Configuration -> Server settings > Servers -> Enterprise Server **and enter a new password in the **Supervisor Password** field. | ||
| 695 | |||
| 696 | [[image:Admin_password_EN.png||alt="Password" height="537" width="1105"]] | ||
| 697 | |||
| 698 | |||
| 699 | === Creating the LDAP account === | ||
| 700 | |||
| 701 | 1. Open **Configuration -> User management -> Users**. | ||
| 702 | 1. Create a new admin user and assign him all roles and authorizations groups. | ||
| 703 | 1. In the **Password** field, enter the new supervisor password defined above. | ||
| 704 | |||
| 705 | [[image:Admin_password_user_EN.png||alt="User password" height="542" width="1104"]] | ||
| 706 | |||
| 707 | == Database configuration == | ||
| 708 | |||
| 709 | === Audit data database === | ||
| 710 | |||
| 711 | Open **Configuration -> Server settings -> Databases -> Audit data **and enter the URL, user and password. | ||
| 712 | |||
| 713 | **URL **: //jdbc:mariadb:~/~/localhost:3306/default_ddaudit// | ||
| 714 | |||
| 715 | This solution makes it possible to secure access to the audit database. | ||
| 716 | [[image:Audit_DB_EN.png||height="391" width="1240"]] | ||
| 717 | |||
| 718 | === Comments database === | ||
| 719 | |||
| 720 | Open **Configuration -> Server settings -> Databases -> Audit data **and enter the URL, user and password. | ||
| 721 | |||
| 722 | **URL** ~:// jdbc:mariadb:~/~/localhost:3306/default_comment// | ||
| 723 | |||
| 724 | This solution makes it possible to secure access to the comment database. | ||
| 725 | |||
| 726 | [[image:Comments_DB_EN.png]] | ||
| 727 | |||
| 728 | === Data entry database === | ||
| 729 | |||
| 730 | Open **Configuration -> Server settings -> Databases -> Data entry **and enter the URL, user and password. | ||
| 731 | |||
| 732 | Select the **Enable data entry** checkbox and select a database in the drop-down list below. | ||
| 733 | |||
| 734 | [[image:DataEntry_DB_EN.png]] | ||
| 735 | |||
| 736 | You must first have created a connection to the database from the Data connection manager in the Studio. | ||
| 737 | Enter default.user.ddentry for the user and password defined in the previous step. | ||
| 738 | The name defined in the **Login Name** field is the one that will appear in the database selection drop-down list. | ||
| 739 | |||
| 740 | (% style="line-height: 1.2; margin-bottom: 4px;" %) | ||
| 741 | == DigDash Services == | ||
| 742 | |||
| 743 | (% class="wikigeneratedid" style="line-height: 1.2; margin-bottom: 4px;" %) | ||
| 744 | Open the Server status page : [[__http:~~/~~/localhost:8080/ddenterpriseapi/serverstatus?adminDomain=adminconsole&serverDomain=ddenterpriseapi__>>url:http://localhost:8080/ddenterpriseapi/serverstatus?adminDomain=adminconsole&serverDomain=ddenterpriseapi||style="text-align: justify; text-indent: 0.153543pt; background-color: rgb(255, 255, 255); font-size: 14px;"]]. | ||
| 745 | |||
| 746 | Check that the DigDash services are activated and that the maximum memory is well adapted to the capacity of the server, you must leave at least 4 GB for the system. | ||
| 747 | |||
| 748 | [[image:Server_status_EN.png]] | ||
| 749 | ))) |