7769
|
1 ===============================================================================
|
|
2 Installation Dive4Elements-river
|
|
3 ===============================================================================
|
|
4
|
|
5 Diese Anleitung geht davon aus, dass ein Benutzer 'd4euser' existiert, der
|
|
6 angemeldet ist und mit dem die Schritte der Installation durchgeführt werden.
|
|
7
|
|
8 @TODO: auf Debian wheezy hinweisen
|
|
9
|
|
10
|
|
11 Erforderliche Pakete zum Installieren von D4E-river
|
|
12 ===================================================
|
|
13 $ su root
|
|
14 $ apt-get install openjdk-7-jdk # installiert openjdk-7 7u25-2.3.10-1
|
|
15 $ apt-get install tomcat6 # installiert tomcat 6.0.35-6
|
|
16 $ apt-get install postgresql # installiert PostgreSQL 9.1
|
|
17 $ apt-get install postgis # installiert PostGIS 1.5.3 gemeinsame Dateien
|
|
18 $ apt-get install postgresql-9.1-postgis # installiert Postgis
|
|
19 $ apt-get install apache2 # installiert Apache 2.2.22-13
|
|
20 $ apt-get install cgi-mapserver # installiert cgi-mapserver 6.0.1
|
|
21 $ apt-get install ttf-freefont
|
|
22
|
|
23
|
|
24 Benutzer und Verzeichnis für die Serverkomponente anlegen
|
|
25 =========================================================
|
|
26 $ useradd d4e
|
|
27 $ cd /opt/
|
|
28 $ mkdir d4e-river
|
|
29 $ chown d4e d4e-river/
|
|
30
|
|
31
|
|
32 Benutzer und Gruppe für das Logging anlegen
|
|
33 ===========================================
|
|
34 $ su root
|
|
35 $ groupadd d4e_log
|
|
36 $ usermod -a -G d4e_log d4e
|
|
37 $ usermod -a -G d4e_log tomcat6
|
|
38 $ usermod -a -G d4e_log www-data
|
|
39
|
|
40
|
|
41 Anlegen des Logging Verzeichnisses
|
|
42 ==================================
|
|
43 $ mkdir /var/log/d4e-river
|
|
44 $ chgrp d4e_log /var/log/d4e-river
|
|
45 $ chmod 775 /var/log/d4e-river
|
|
46 $ exit
|
|
47
|
|
48
|
|
49 Entpacken des Dive4Elements-river Installer-Pakets
|
|
50 ==================================================
|
|
51 $ tar -xzf d4e-river.tar.gz
|
|
52 @TODO: eventuell anpassen
|
|
53
|
|
54
|
|
55 Installation von D4E-river aus den Quellen
|
|
56 ==========================================
|
|
57 Erfolgt die Installation von D4E-river aus den Binärpaketen, können die
|
|
58 folgenden Schritte übersprungen werden.
|
|
59 Die weiteren Schritte sind ab dem Abschnitt 'Backenddatenbanken'
|
|
60 beschrieben.
|
|
61
|
|
62
|
|
63 Pakete zum Bauen von D4E-river
|
|
64 ------------------------------
|
|
65 $ apt-get install maven2 # installiert maven 2.2.1-12
|
|
66 $ apt-get install mercurial # installiert mercurial 2.2.2-3
|
|
67
|
|
68
|
|
69 Pakete zum Bauen von WSPLGEN
|
|
70 ----------------------------
|
|
71 $ apt-get install subversion # installiert subversion 1.6.17dfsg-4+deb7u4
|
|
72 $ apt-get install build-essential # Zum bauen von wsplgen
|
|
73
|
|
74
|
|
75 Installation der Intevationszertifikate für den Checkout von Wald.
|
|
76 ------------------------------------------------------------------
|
|
77 Die Serverzertifikate von Intevation müssen für die Kommunikation mit
|
|
78 wald.intevation.org installiert werden, da sonst ein checkout der
|
|
79 hg-Repositories nicht möglich ist.
|
|
80 Siehe auch Anleitung im Intranet:
|
|
81 https://intranet.intevation.de/SSL-Zertifikate#system
|
|
82
|
|
83 $ apt-get install ca-certificates curl gnutls-bin
|
|
84 $ curl https://ssl.intevation.de/Intevation-Root-CA-2010.crt | \
|
|
85 certtool -i | awk '/^-----BEGIN CERTIFICATE-----$/ , 0' > \
|
|
86 /usr/local/share/ca-certificates/Intevation-Root-CA-2010.crt
|
|
87 $ update-ca-certificates
|
|
88
|
|
89 #. Mercurial beibringen die Zertifikate zu nutzen
|
|
90 $ vi /etc/mercurial/hgrc
|
|
91
|
|
92 # Folgendes einfügen (siehe https://intranet.intevation.de/Mercurial#https)
|
|
93 [web]
|
|
94 cacerts = /etc/ssl/certs/ca-certificates.crt
|
|
95
|
|
96 $ exit (d4euser werden)
|
|
97
|
|
98
|
|
99 Checkout der D4E-Quellen
|
|
100 ------------------------
|
|
101 $ mkdir d4e-river
|
|
102 $ cd d4e-river
|
|
103 $ hg clone https://scm.wald.intevation.org/hg/dive4elements/framework/
|
|
104 $ hg clone https://scm.wald.intevation.org/hg/dive4elements/http-client/
|
|
105 $ hg clone https://scm.wald.intevation.org/hg/dive4elements/river/
|
|
106
|
|
107
|
|
108 Anpassen der Clientkonfiguration
|
|
109 --------------------------------
|
|
110 #. Rollen und Berechtigungen
|
|
111
|
|
112 $ cd river/gwt-client/src/main/webapp/WEB-INF/
|
|
113 $ vi features.xml
|
|
114
|
|
115 Den Inhalt mit folgendem ersetzen:
|
|
116
|
|
117 <?xml version="1.0" encoding="UTF-8"?>
|
|
118 <ftr:features xmlns:ftr="http://www.intevation.de/2012/flys/features">
|
|
119 <ftr:role name="d4e_demo_all">
|
|
120 <ftr:feature>module:winfo</ftr:feature>
|
|
121 <ftr:feature>module:minfo</ftr:feature>
|
|
122 <ftr:feature>module:new_map</ftr:feature>
|
|
123 <ftr:feature>module:new_chart</ftr:feature>
|
|
124 <ftr:feature>module:fixanalysis</ftr:feature>
|
|
125 <ftr:feature>river:Beispielfluss</ftr:feature>
|
|
126 </ftr:role>
|
|
127 <ftr:role name="d4e_demo_extern">
|
|
128 <ftr:feature>module:winfo</ftr:feature>
|
|
129 <ftr:feature>module:minfo</ftr:feature>
|
|
130 <ftr:feature>river:Beispielfluss</ftr:feature>
|
|
131 </ftr:role>
|
|
132 </ftr:features>
|
|
133
|
|
134 #. Ändern der Authentifizierung von GGinA auf plain (lokal)
|
|
135
|
|
136 $ vi web.xml
|
|
137
|
|
138 Ändern der Konfiguration von:
|
|
139
|
|
140 <context-param>
|
|
141 <param-name>authentication</param-name>
|
|
142 <param-value>GGinA</param-value>
|
|
143 </context-param>
|
|
144
|
|
145 in:
|
|
146
|
|
147 <context-param>
|
|
148 <param-name>authentication</param-name>
|
|
149 <param-value>plain</param-value>
|
|
150 </context-param>
|
|
151
|
|
152 #. Die Print-URL anpassen
|
|
153
|
|
154 $ vi web.xml
|
|
155
|
|
156 <!-- Servlet to bridge between MapFish Print and FLYS3 -->
|
|
157 <servlet>
|
|
158 <servlet-name>MapPrintService</servlet-name>
|
|
159 <servlet-class>org.dive4elements.river.client.server.MapPrintServiceImpl</servlet-class>
|
|
160 <init-param>
|
|
161 <param-name>config</param-name>
|
|
162 <param-value>WEB-INF/config.yaml</param-value>
|
|
163 </init-param>
|
|
164 <init-param>
|
|
165 <param-name>print-url</param-name>
|
|
166 <!-- Hier die URL zu dem Tomcat6 Container angeben. -->
|
|
167 <param-value>http://localhost:8080/d4e/flys/mapfish-print</param-value>
|
|
168 </init-param>
|
|
169 </servlet>
|
|
170
|
|
171 #. Mapfishprint config.yaml anpassen
|
|
172
|
|
173 $ vi config.yaml
|
|
174
|
|
175 Folgenden Eintrag im Abschnitt 'the list of allowed hosts' hinzufügen:
|
|
176
|
|
177 - !dnsMatch
|
|
178 host: menippe # Hier den Hostnamen verwenden auf dem der MapServer läuft.
|
|
179 port: 8081 # Den entsprechenden Port eintragen.
|
|
180
|
|
181
|
|
182 Anpassen der Serverkonfiguration
|
|
183 --------------------------------
|
|
184 $ cd ~/de4-river/river/artifacts/doc/conf/
|
|
185
|
|
186 #. Pfad zu den DGMs anpassen:
|
|
187 $ vi conf.xml
|
|
188 <dgm-path>${artifacts.config.dir}/../dgm/</dgm-path>
|
|
189
|
|
190 #. Einstellen der WMS Urls
|
|
191 # Anstatt mennippe:8081 den korrekten Host eintragen!
|
|
192 $ vi rivermap.xml
|
|
193 # Den Inhalt durch folgendes ersetzen
|
|
194
|
|
195 <?xml version="1.0" encoding="UTF-8" ?>
|
|
196 <!--// configuration fragment for static river WMS //-->
|
|
197 <rivermap>
|
|
198 <mapserver>
|
|
199 <server path="http://menippe:8081/cgi-bin/"/>
|
|
200 <mapfile path="${artifacts.config.dir}/../rivers.map"/>
|
|
201 <templates path="${artifacts.config.dir}/mapserver/"/>
|
|
202 <map-template path="river-mapfile.vm"/>
|
|
203 </mapserver>
|
|
204
|
|
205 <velocity>
|
|
206 <logfile path="${artifacts.config.dir}/../rivermap_velocity.log"/>
|
|
207 </velocity>
|
|
208
|
|
209 <river name="Beispielfluss">
|
|
210 <srid value="31467"/>
|
|
211 <river-wms url="http://menippe:8081/cgi-bin/river-wms" layers="Beispielfluss"/>
|
|
212 <background-wms url="http://osm.intevation.de/bfg/service?" layers="OSM-WMS-Dienst"/>
|
|
213 </river>
|
|
214 </rivermap>
|
|
215
|
|
216 $ vi floodmap.xml
|
|
217 # Den Inhalt durch folgendes ersetzen
|
|
218
|
|
219 <?xml version="1.0" encoding="UTF-8" ?>
|
|
220 <floodmap>
|
|
221 <shapefile-path value="${artifacts.config.dir}/../shapefiles"/>
|
|
222 <mapserver>
|
|
223 <server path="http://menippe:8081/cgi-bin/"/>
|
|
224 <mapfile path="${artifacts.config.dir}/../flys.map"/>
|
|
225 <templates path="${artifacts.config.dir}/mapserver/"/>
|
|
226 <map-template path="mapfile.vm"/>
|
|
227 </mapserver>
|
|
228
|
|
229 <velocity>
|
|
230 <logfile path="${artifacts.config.dir}/../velocity.log"/>
|
|
231 </velocity>
|
|
232
|
|
233 <river name="Beispielfluss">
|
|
234 <srid value="31467"/>
|
|
235 <river-wms url="http://menippe:8081/cgi-bin/river-wms" layers="Beispielfluss"/>
|
|
236 <background-wms url="http://osm.intevation.de/bfg/service?" layers="OSM-WMS-Dienst"/>
|
|
237 </river>
|
|
238 </floodmap>
|
|
239
|
|
240
|
|
241 Konfigurieren des Logging
|
|
242 -------------------------
|
|
243 #. Pfade in den log4j.properties anpassen
|
|
244
|
|
245 $ vi river/gwt-client/src/main/webapp/WEB-INF/log4j.properties
|
|
246
|
|
247 # Die Zeile
|
|
248
|
|
249 log4j.appender.FLYS.File=/tmp/flys-client.log
|
|
250
|
|
251 # ändern in:
|
|
252
|
|
253 log4j.appender.FLYS.File=/var/log/d4e-river/d4e-client.log
|
|
254
|
|
255 $ vi river/artifacts/doc/conf/log4j.properties
|
|
256
|
|
257 # Den Inhalt mit folgendem ersetzen:
|
|
258
|
|
259 # Set root logger level to DEBUG and its only appender to A1.
|
|
260 log4j.rootLogger=DEBUG, A1
|
|
261
|
|
262 # A1 uses PatternLayout.
|
|
263 log4j.appender.A1.layout=org.apache.log4j.PatternLayout
|
|
264 log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
|
|
265
|
|
266 log4j.appender.A1=org.apache.log4j.RollingFileAppender
|
|
267 log4j.appender.A1.File=/var/log/d4e-river/d4e-server.log
|
|
268 log4j.appender.A1.MaxFileSize=5000KB
|
|
269 log4j.appender.A1.MaxBackupIndex=3
|
|
270
|
|
271
|
|
272 Bauen der Server- und Clientkomponenten
|
|
273 ---------------------------------------
|
|
274 $ cd framework/
|
|
275 $ mvn clean compile package install
|
|
276 $ cd ../http-client/
|
|
277 $ mvn clean compile package install
|
|
278 $ cd ../river/backend/
|
|
279 $ mvn clean compile package install
|
|
280 $ cd ../artifacts/
|
|
281 $ mvn clean compile package dependency:copy-dependencies
|
|
282 $ cd ../gwt-client/
|
|
283 $ curl -O http://openlayers.org/download/OpenLayers-2.11.tar.gz
|
|
284 $ tar xvfz OpenLayers-2.11.tar.gz
|
|
285 $ mv OpenLayers-2.11 src/main/webapp/
|
|
286 $ mvn clean compile package
|
|
287 $ cd ../../
|
|
288
|
|
289
|
|
290 Kopieren der Serverkomponenten
|
|
291 ------------------------------
|
|
292 $ su root
|
|
293 $ su d4e
|
|
294 $ cd /opt/d4e-river/
|
|
295 $ mkdir -p bin/lib
|
|
296 $ cp /home/d4euser/d4e-river/river/artifacts/target/river-artifacts-1.0-SNAPSHOT.jar bin/lib/
|
|
297 $ cp /home/d4euser/d4e-river/river/artifacts/target/dependency/* bin/lib/
|
|
298 $ mkdir conf
|
|
299 $ cp /home/d4euser/d4e-river/framework/artifact-database/doc/example-conf/log4j.properties conf/
|
|
300 $ cp -R ../river/artifacts/doc/conf/* conf/
|
|
301
|
|
302
|
|
303 Artefaktdatenbank erstellen
|
|
304 ===========================
|
|
305 $ su root
|
|
306 $ su d4e
|
|
307 $ cd /opt/d4e-river/
|
|
308 $ /home/d4euser/d4e-river/river/contrib/make_flys_release/h2/createArtifacts.sh \
|
|
309 /home/d4euser/d4e-river/framework/artifact-database/doc/schema-h2.sql
|
|
310 $ exit
|
|
311 $ exit
|
|
312
|
|
313
|
|
314 Datenkorbdatenbank erstellen
|
|
315 ============================
|
|
316 $ su root
|
|
317 $ su d4e
|
|
318 $ cd /opt/d4e-river/
|
|
319 $ /home/d4euser/d4e-river/river/contrib/make_flys_release/h2/createDatacage.sh \
|
|
320 /home/d4euser/d4e-river/river/artifacts/doc/conf/datacage.sql
|
|
321 $ exit
|
|
322 $ exit
|
|
323
|
|
324
|
|
325 Backenddatenbanken (Fachdatenbank und Seddb)
|
|
326 ============================================
|
|
327
|
|
328 Anlegen und befüllen der Datenbanken
|
|
329 ------------------------------------
|
|
330 #. Einspielen des Schemas für die Backenddatenbank
|
|
331 $ su root
|
|
332 $ su postgres
|
|
333 $ cd /home/d4euser/d4e-river/river/backend/doc/schema/
|
|
334 $ ./postgresql-setup.sh d4e . localhost
|
|
335
|
|
336 #. Einspielen der Daten in die erstellte DB
|
|
337 $ psql -d d4e -f /home/d4euser/d4e-river/d4e_demodata.dump.sql
|
|
338
|
|
339 #. Erstellen der Seddb
|
|
340 $ createuser -S -D -R sedb
|
|
341 $ createdb seddb
|
|
342 $ psql -d seddb -c "ALTER USER sedb WITH PASSWORD 'sedb';"
|
|
343 $ psql -d seddb -U sedb -h localhost -f /home/d4euser/d4e-river/seddb.dump.sql
|
|
344
|
|
345 #. wieder d4euser werden
|
|
346 $ exit
|
|
347 $ exit
|
|
348
|
|
349
|
|
350 Konfiguration der Datenbankverbindungen
|
|
351 ---------------------------------------
|
|
352 #. Anpassen des Benutzers und des Datenbanknames
|
|
353 $ su root
|
|
354 $ su d4e
|
|
355 $ cd /opt/d4e-river/conf/
|
|
356 $ sed -i s@flys@d4e@ backend-db.xml
|
|
357
|
|
358
|
|
359 Kopieren der DGMs
|
|
360 =================
|
|
361 $ su root
|
|
362 $ su d4e
|
|
363 $ mkdir /opt/d4e-river/dgm
|
|
364 $ cp /home/d4euser/d4e-river/dgm/* /opt/d4e-river/dgm
|
|
365
|
|
366
|
|
367 Einrichten von WSPLGEN
|
|
368 ======================
|
|
369
|
|
370 Bauen von WSPLGEN aus den Quellen
|
|
371 ---------------------------------
|
|
372 Die Quellen und die Dokumentation von WSPLGEN sind zu finden unter
|
|
373
|
|
374 https://wald.intevation.org/projects/wsplgen/
|
|
375
|
|
376 Das nach der Anleitung erstellte Binary muss in das 'bin' Verzeichnis des
|
|
377 D4E-river Servers kopiert werden.
|
|
378
|
|
379 $ su root
|
|
380 $ su d4e
|
|
381 $ cp /path/to/wsplgen.exe /opt/d4e-river/bin
|
|
382
|
|
383
|
|
384 WSPLGEN Binary
|
|
385 --------------
|
|
386 WSPLGEN kann als ausführbare Datei heruntergeladen werden
|
|
387 (https://wald.intevation.org/projects/wsplgen/). Die Datei 'wsplgen.exe' muss
|
|
388 dann nur noch in das 'bin' Verzeichnis des D4E-river Servers kopiert werden.
|
|
389
|
|
390 $ su root
|
|
391 $ su d4e
|
|
392 $ cp /path/to/wsplgen.exe /opt/d4e-river/bin
|
|
393
|
|
394
|
|
395 Einrichten des Mapserver und Apache
|
|
396 ===================================
|
|
397 #. Anlegen der cgi-Skripte für die WMS-Dienste
|
|
398
|
|
399 $ su root
|
|
400 $ cd /usr/lib/cgi-bin/
|
|
401 $ touch user-wms
|
|
402 $ vi user-wms
|
|
403 # folgendes einfügen:
|
|
404 #!/bin/sh
|
|
405 export MS_MAPFILE=/opt/d4e-river/flys.map
|
|
406 ./mapserv
|
|
407 $ touch river-wms
|
|
408 $ vi river-wms
|
|
409 # folgendes einfügen:
|
|
410 #!/bin/sh
|
|
411 export MS_MAPFILE=/home/d4e-river/rivers.map
|
|
412 ./mapserv
|
|
413 $ chmod 755 user-wms
|
|
414 $ chmod 755 river-wms
|
|
415 $ exit
|
|
416
|
|
417 #. Der Apache ist vorkonfiguriert und braucht keine weitere Anpassung.
|
|
418
|
|
419
|
|
420 Einrichtung der D4E-Benutzer und -Rollen
|
|
421 ========================================
|
|
422 #. Authentifizierung über lokale Datei
|
|
423 $ su root
|
|
424 $ cd /usr/share/tomcat6/
|
|
425 $ touch flys_user_file
|
|
426 $ vi flys_user_file
|
|
427 # folgendes einfügen:
|
|
428 d4e_demo demo d4e_demo_all
|
|
429 d4e_demo1 demo
|
|
430 d4e_demo_extern demo d4e_demo_extern
|
|
431 $ exit
|
|
432
|
|
433 Anlegen des Start-Skripts
|
|
434 ============================
|
|
435 $ su root
|
|
436 $ su d4e
|
|
437 $ cp /home/d4euser/d4e-river/river/contrib/make_flys_release/bin/run.sh /opt/d4e-river/bin/
|
|
438 $ exit
|
|
439 $ exit
|
|
440
|
|
441 Client in Tomcat Servlet-Container ablegen
|
|
442 ==========================================
|
|
443 $ su root
|
|
444 $ cp /home/d4euser/d4e-river/river/gwt-client/target/gwt-client-1.0-SNAPSHOT.war /var/lib/tomcat6/webapps/d4e-river.war
|
|
445 $ chown tomcat6 /var/lib/tomcat6/webapps/d4e-river.war
|
|
446 $ exit
|
|
447
|
|
448 Starten der Serverkomponente
|
|
449 ============================
|
|
450 $ su root
|
|
451 $ su d4e
|
|
452 $ cd /opt/d4e-river
|
|
453 $ bin/run.sh
|
|
454
|
|
455 Die Anwendung ist dann im Browser unter
|
|
456
|
|
457 http://servername:8080/d4e-river
|
|
458
|
|
459 erreichbar.
|