Wiki source code of Guide d'installation Windows
Last modified by Aurelie Bertrand on 2025/05/26 09:15
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 | ))) |