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