Last modified by Aurelie Bertrand on 2024/07/10 16:28

Show last authors
1 This guide provides installation and configuration instructions for a production environment on Ubuntu 20.04 and Ubuntu 22.04 with Tomcat 9.
2
3 There are separate DigDash Enterprise installation archives for Tomcat 9 and Tomcat 10. In this case, you must use the Tomcat 9-specific archives named digdash_enterprise_2025R1_64.zip or digdash_enterprise_2025R1_numpatch_64.zip.
4
5 ----
6
7 {{toc/}}
8
9 ----
10
11 This document describes how to install DigDash on Linux.
12
13 To install DigDash on Ubuntu 20.04 or 22.04, please refer to page[[ Installation on Ubuntu 24.04 with Tomcat 10>>doc:Digdash.deployment.installation.install_guide_ubuntu.Ubuntu24.WebHome]].
14
15 To install DigDash on Windows, please refer to the [[Installation Guide for Windows>>doc:Digdash.deployment.installation.install_guide_windows.WebHome]].
16
17 To update an existing installation, please refer to the [[Upgrade Guide>>doc:Digdash.deployment.installation.upgrade_dde.WebHome]].
18
19 = Supported versions =
20
21 The following versions are supported :
22
23 * Tomcat 9 : last patch
24 * Java : OpenJDK 17
25 * OpenDJ (recommended) : version 4.8.0 and later
26 * MariaDB : OS version or last patch of last LTS version
27 * Nginx : system version
28
29 (((
30 = Digdash =
31 )))
32
33 == OpenJDK ==
34
35 (% class="box warningmessage" %)
36 (((
37 Java is required to launch DigDash. Only **JDK 17** is supported.
38 )))
39
40 {{code language="shell"}}
41 # Install last version of openjdk
42 sudo apt install default-jdk
43
44 # Check the installation
45 java -version
46 {{/code}}
47
48 == Tomcat 9 ==
49
50 === Installation ===
51
52 {{code language="shell"}}
53 sudo apt install tomcat9
54 {{/code}}
55
56 === Creating the file tree ===
57
58 {{code language="shell"}}
59 # Location of webapps
60 sudo mkdir -p /home/digdash/webapps/default/
61 # Working directory
62 sudo mkdir -p /home/digdash/appdata/default/
63 # Location of the .properties file
64 sudo mkdir -p /etc/digdash/
65 # Location of logs
66 sudo mkdir -p /var/log/digdash/
67 {{/code}}
68
69 Changing folder rights
70
71 {{code language="shell"}}
72 sudo chown -R tomcat:tomcat /home/digdash
73 sudo chown -R tomcat:tomcat /var/log/digdash
74 sudo chmod a+w /var/log/digdash
75 {{/code}}
76
77 === Configuring server.xml ===
78
79 (% class="wikigeneratedid" %)
80 Location : /etc/tomcat9/server.xml
81
82 ==== Location of webapps ====
83
84 {{code language="shell"}}
85 # Replace the appBase value
86 <Host name="localhost" appBase="webapps"
87
88 # by this one
89 <Host name="localhost" appBase="/home/digdash/webapps/default"
90 {{/code}}
91
92 ==== Connector Valve ====
93
94 {{code language="shell"}}
95 # Complete the Connector valve
96 <Connector port="8080" protocol="HTTP/1.1"
97 connectionTimeout="20000"
98 redirectPort="8443" ></Connector>
99
100 # as follows
101 <Connector port="8080" protocol="HTTP/1.1"
102 connectionTimeout="20000"
103 maxConnections="30000"
104 maxParameterCount="100000"
105 maxThreads="10000" maxPostSize="62914560"
106 redirectPort="8443" compression="on" ></Connector>
107 {{/code}}
108
109 ==== Reverse Proxy Valve ====
110
111 (% class="box warningmessage" %)
112 (((
113 ❗In case of SSO authentications (SAML or OpenID), the valve below must be placed before the SSO valve.
114 )))
115
116 {{code language="shell"}}
117 # Add this valve in the Host element near the end of the file
118 <Valve className="org.apache.catalina.valves.RemoteIpValve"
119 internalProxies="127\.0\.[0-1]\.1"
120 remoteIpHeader="X-Forwarded-For"
121 requestAttributesEnabled="true"
122 protocolHeader="X-Forwarded-Proto"
123 protocolHeaderHttpsValue="https"></Valve>
124 {{/code}}
125
126 In the case of an IPv6 server, use:
127
128 {{code language="shell"}}
129 <Valve className="org.apache.catalina.valves.RemoteIpValve"
130 internalProxies="127\.0\.[0-1]\.1|0:0:0:0:0:0:0:1|::1"
131 remoteIpHeader="X-Forwarded-For"
132 requestAttributesEnabled="true"
133 protocolHeader="X-Forwarded-Proto"
134 protocolHeaderHttpsValue="https"></Valve>
135 {{/code}}
136
137 (% class="box warningmessage" %)
138 (((
139 In very rare cases, the reverse proxy is not installed on the machine. Then replace the value "127\.0\.[0-1]\.1" with the IP address of the reverse proxy.
140 ❗Attention: the use of “.*” should only be done as a last resort.
141 )))
142
143 ==== Log Valve ====
144
145 {{code language="shell"}}
146 # Add this valve in the Host element near the end of the file
147 <Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" ></Valve>
148 {{/code}}
149
150 ==== Limiting the localhost_access_log file (optional) ====
151
152 To limit the size of the localhost_access_log file, add the //maxDays// parameter to the Access Log Valve and give it the value of the desired number of days.
153
154 {{code language="shell"}}
155 # For example
156 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
157                prefix="localhost_access_log" suffix=".txt"
158                pattern="%h %l %u %t &quot;%r&quot; %s %b" maxDays="10" ></Valve>
159
160 {{/code}}
161
162 === Editing the context.xml file ===
163
164 (% class="wikigeneratedid" id="HEmplacement:2Fetc2Ftomcat92Fcontext.xml" %)
165 Location: /etc/tomcat9/context.xml
166
167 {{code language="shell"}}
168 # Add the following line in the <Context> tag
169 <Resources cachingAllowed="true" cacheMaxSize="500000"></Resources>
170 {{/code}}
171
172 [[image:edit_context_file.png]]
173
174 === Changing RAM ===
175
176 {{code language="shell"}}
177 # Edit the following file
178 sudo vi /etc/default/tomcat9
179
180 # Replace the existing JAVA_OPTS by
181 JAVA_OPTS="-Djava.awt.headless=true -Xms6G -Xmx6G -Djava.security.egd=file:/dev/urandom -Dfile.encoding=UTF-8 -DPROP_MAX_CONCURRENT_TOTAL=5000 -DPROP_MAX_CONCURRENT_CON_PER_HOST=5000 --add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED --add-opens=java.base/sun.security.ssl=ALL-UNNAMED --add-opens=java.base/sun.security.util=ALL-UNNAMED"
182
183 # Change the 6G parameter depending on the capacity of the machine, leaving at least 2G for the OS.
184 # In the example above, the machine has 8G of RAM.
185 # It is recommended to use the same value for Xms and Xmx.
186 {{/code}}
187
188 === Activating log write permission for tomcat ===
189
190 {{code language="shell"}}
191 # Create the folder in /etc/systemd/system/
192 sudo mkdir -p /etc/systemd/system/tomcat9.service.d
193
194 # Create the file
195 sudo vi /etc/systemd/system/tomcat9.service.d/logging-allow.conf
196
197 # Add the following lines
198 [Service]
199 ReadWritePaths=/var/log/digdash/ /home/digdash/
200
201 # Reload the "daemon" configuration
202 sudo systemctl daemon-reload
203
204 sudo systemctl restart tomcat9.service
205 {{/code}}
206
207 === Enabling automatic service start on startup ===
208
209 {{code language="shell"}}
210 sudo systemctl enable tomcat9
211 {{/code}}
212
213 == Deploying Digdash Version 2025 R1 ==
214
215 {{warning}}
216 Download Digdash version.
217
218 Unzip the version you have just downloaded.
219 {{/warning}}
220
221 === Properties files ===
222
223 Place the digdash.properties file (located at the root of the unzipped folder) in the folder// /etc/digdash//.
224
225 Create the following file in the folder /etc/digdash :
226
227 * [[log4j2_api.properties>>attach:log4j2_api.properties]]
228 * [[log4j2_dash.properties>>attach:log4j2_dash.properties]]
229 * [[log4j2_studio.properties>>attach:log4j2_studio.properties]]
230
231 Edit the digdash.properties file previously copied.
232
233 {{code language="shell"}}
234 # Add these lines at the beginning of the file
235
236 # Log files location
237 ddenterpriseapi.ddlog4j.properties.file=/etc/digdash/log4j2_api.properties
238 studio.ddlog4j.properties.file=/etc/digdash/log4j2_studio.properties
239 digdash_dashboard.ddlog4j.properties.file=/etc/digdash/log4j2_dash.properties
240
241 # Appadata location
242 ddenterpriseapi.AppDataPath=/home/digdash/appdata/default
243 digdash_dashboard.AppDataPath=/home/digdash/appdata/default
244 studio.AppDataPath=/home/digdash/appdata/default
245 adswrapper.ads.instance.name=/home/digdash/appdata/default/ldapdigdash
246
247 adminconsole.adminconsole_domain=adminconsole
248 adminconsole.webstudio_domain=studio
249 adminconsole.server_domain_list=ddenterpriseapi
250 adminconsole.dashboard_domain=digdash_dashboard
251
252 studio.DOMAIN=ddenterpriseapi
253 studio.FORCEDOMAIN=true
254 studio.SERVERURL=http://localhost:8080
255 studio.FORCESERVERURL=true
256 studio.adminconsole_domain=adminconsole
257
258 digdash_dashboard.DOMAIN=ddenterpriseapi
259 digdash_dashboard.FORCEDOMAIN=true
260 digdash_dashboard.SERVERURL=http://localhost:8080
261 digdash_dashboard.FORCESERVERURL=true
262 digdash_dashboard.adminconsole_domain=adminconsole
263
264 # IODS scripts location
265 studio.iods_exe_path=path/to/IODS/scripts
266 ddenterpriseapi.iods_exe_path=path/to/IODS/scripts
267
268 # NodeJS export
269 ddenterpriseapi.DDAPIFORNODEJSURL=http://localhost:8080
270 ddenterpriseapi.NODEJSURL=http://localhost:4000 #Random value between 4000 and 3000 different for each environment hosted on the same Tomcat
271
272 ########### Nettoyage automatique des fichiers programmé
273 ########### Scheduled automatic file cleaning
274 ddenterpriseapi.startCleaner=true
275
276 ########### Nettoyage des fichiers inutilisés au démarrage du serveur
277 ########### Clean up unused files on server startup
278 ddenterpriseapi.cleanOnStart=false
279
280 ########### Sauvegarde automatique programmée
281 ########### Scheduled automatic backup
282 ddenterpriseapi.autoBackup=true
283 ddenterpriseapi.autoBackupKeepDays=20
284 digdash_dashboard.CANCHANGEPASSWORD=true
285
286 {{/code}}
287
288 === Location of WebApps ===
289
290 Place the following (contained in the <DD Install>\apache-tomcat\webapps directory) in the folder ///home/digdash/webapps/default ~://
291
292 * adminconsole.war
293 * ddenterpriseapi.war
294 * digdash_dashboard.war
295 * studio.war
296 * ROOT/ folder
297
298 {{include reference="Digdash.deployment.installation.install_guide_ubuntu.OpenDJ.WebHome"/}}
299
300 {{include reference="Digdash.deployment.installation.install_guide_ubuntu.MariaDB.WebHome"/}}
301
302 {{include reference="Digdash.deployment.installation.install_guide_ubuntu.NGINX.WebHome"/}}
303
304
305 = (% id="cke_bm_868S" style="display:none" %) (%%)Configuring DigDash after installation =
306
307 == Starting Digdash ==
308
309 1. Restart Tomcat service.
310
311 {{code language="shell"}}
312 sudo service tomcat9 restart
313 {{/code}}
314
315 (% start="2" %)
316 1. Check the war deployment in the installation folder home/digdash/webapps/default.
317 1. Access DigDash homepage at the following address : [[http:~~/~~/localhost:8080/adminconsole>>url:http://localhost:8080/adminconsole]]
318 The login/password is admin/admin.
319
320 {{include reference="Digdash.deployment.installation.install_guide_ubuntu.connect_DigDash.WebHome"/}}