changeset 7770:57c47ab81a30

merged.
author Raimund Renkert <rrenkert@intevation.de>
date Mon, 03 Mar 2014 11:46:45 +0100
parents 887795bbe854 (diff) 754ed00963d6 (current diff)
children e2102c4b7b07 afa0ffc3a708
files
diffstat 3 files changed, 465 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/contrib/make_flys_release/h2/createArtifacts.sh	Thu Feb 27 18:09:39 2014 +0100
+++ b/contrib/make_flys_release/h2/createArtifacts.sh	Mon Mar 03 11:46:45 2014 +0100
@@ -2,8 +2,9 @@
 
 mkdir -p artifactsdb
 
-DIR=`dirname $0`
-DIR=`readlink -f "$DIR"`
+#DIR=`dirname $0`
+#DIR=`readlink -f "$DIR"`
+DIR=`pwd`
 
 CLASSPATH=
 for l in `find "$DIR" -name \*.jar -print`; do
--- a/contrib/make_flys_release/h2/createDatacage.sh	Thu Feb 27 18:09:39 2014 +0100
+++ b/contrib/make_flys_release/h2/createDatacage.sh	Mon Mar 03 11:46:45 2014 +0100
@@ -2,8 +2,9 @@
 
 mkdir -p datacagedb
 
-DIR=`dirname $0`
-DIR=`readlink -f "$DIR"`
+#DIR=`dirname $0`
+#DIR=`readlink -f "$DIR"`
+DIR=`pwd`
 
 CLASSPATH=
 for l in `find "$DIR" -name \*.jar -print`; do
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/INSTALL_DE	Mon Mar 03 11:46:45 2014 +0100
@@ -0,0 +1,459 @@
+===============================================================================
+Installation Dive4Elements-river
+===============================================================================
+
+Diese Anleitung geht davon aus, dass ein Benutzer 'd4euser' existiert, der
+angemeldet ist und mit dem die Schritte der Installation durchgeführt werden.
+
+@TODO: auf Debian wheezy hinweisen
+
+
+Erforderliche Pakete zum Installieren von D4E-river
+===================================================
+    $ su root
+    $ apt-get install openjdk-7-jdk # installiert openjdk-7 7u25-2.3.10-1
+    $ apt-get install tomcat6 # installiert tomcat 6.0.35-6
+    $ apt-get install postgresql # installiert PostgreSQL 9.1
+    $ apt-get install postgis # installiert PostGIS 1.5.3 gemeinsame Dateien
+    $ apt-get install postgresql-9.1-postgis # installiert Postgis
+    $ apt-get install apache2 # installiert Apache 2.2.22-13
+    $ apt-get install cgi-mapserver # installiert cgi-mapserver 6.0.1
+    $ apt-get install ttf-freefont
+
+
+Benutzer und Verzeichnis für die Serverkomponente anlegen
+=========================================================
+    $ useradd d4e
+    $ cd /opt/
+    $ mkdir d4e-river
+    $ chown d4e d4e-river/
+
+
+Benutzer und Gruppe für das Logging anlegen
+===========================================
+    $ su root
+    $ groupadd d4e_log
+    $ usermod -a -G d4e_log d4e
+    $ usermod -a -G d4e_log tomcat6
+    $ usermod -a -G d4e_log www-data
+
+
+Anlegen des Logging Verzeichnisses
+==================================
+    $ mkdir /var/log/d4e-river
+    $ chgrp d4e_log /var/log/d4e-river
+    $ chmod 775 /var/log/d4e-river
+    $ exit
+
+
+Entpacken des Dive4Elements-river Installer-Pakets
+==================================================
+    $ tar -xzf d4e-river.tar.gz
+    @TODO: eventuell anpassen
+
+
+Installation von D4E-river aus den Quellen
+==========================================
+Erfolgt die Installation von D4E-river aus den Binärpaketen, können die
+folgenden Schritte übersprungen werden.
+Die weiteren Schritte sind ab dem Abschnitt 'Backenddatenbanken'
+beschrieben.
+
+
+Pakete zum Bauen von D4E-river
+------------------------------
+    $ apt-get install maven2 # installiert maven 2.2.1-12
+    $ apt-get install mercurial # installiert mercurial 2.2.2-3
+
+
+Pakete zum Bauen von WSPLGEN
+----------------------------
+    $ apt-get install subversion # installiert subversion 1.6.17dfsg-4+deb7u4
+    $ apt-get install build-essential # Zum bauen von wsplgen
+
+
+Installation der Intevationszertifikate für den Checkout von Wald.
+------------------------------------------------------------------
+Die Serverzertifikate von Intevation müssen für die Kommunikation mit
+wald.intevation.org installiert werden, da sonst ein checkout der
+hg-Repositories nicht möglich ist.
+Siehe auch Anleitung im Intranet:
+  https://intranet.intevation.de/SSL-Zertifikate#system
+
+    $ apt-get install ca-certificates curl gnutls-bin
+    $ curl https://ssl.intevation.de/Intevation-Root-CA-2010.crt | \
+        certtool -i |   awk '/^-----BEGIN CERTIFICATE-----$/ , 0' > \
+        /usr/local/share/ca-certificates/Intevation-Root-CA-2010.crt
+    $ update-ca-certificates
+
+#. Mercurial beibringen die Zertifikate zu nutzen
+    $ vi /etc/mercurial/hgrc
+
+    # Folgendes einfügen (siehe https://intranet.intevation.de/Mercurial#https)
+    [web]
+    cacerts = /etc/ssl/certs/ca-certificates.crt
+
+    $ exit (d4euser werden)
+
+
+Checkout der D4E-Quellen
+------------------------
+    $ mkdir d4e-river
+    $ cd d4e-river
+    $ hg clone https://scm.wald.intevation.org/hg/dive4elements/framework/
+    $ hg clone https://scm.wald.intevation.org/hg/dive4elements/http-client/
+    $ hg clone https://scm.wald.intevation.org/hg/dive4elements/river/
+
+
+Anpassen der Clientkonfiguration
+--------------------------------
+#. Rollen und Berechtigungen
+
+    $ cd river/gwt-client/src/main/webapp/WEB-INF/
+    $ vi features.xml
+
+    Den Inhalt mit folgendem ersetzen:
+
+    <?xml version="1.0" encoding="UTF-8"?>
+    <ftr:features xmlns:ftr="http://www.intevation.de/2012/flys/features">
+        <ftr:role name="d4e_demo_all">
+            <ftr:feature>module:winfo</ftr:feature>
+            <ftr:feature>module:minfo</ftr:feature>
+            <ftr:feature>module:new_map</ftr:feature>
+            <ftr:feature>module:new_chart</ftr:feature>
+            <ftr:feature>module:fixanalysis</ftr:feature>
+            <ftr:feature>river:Beispielfluss</ftr:feature>
+        </ftr:role>
+        <ftr:role name="d4e_demo_extern">
+            <ftr:feature>module:winfo</ftr:feature>
+            <ftr:feature>module:minfo</ftr:feature>
+            <ftr:feature>river:Beispielfluss</ftr:feature>
+        </ftr:role>
+    </ftr:features>
+
+#. Ändern der Authentifizierung von GGinA auf plain (lokal)
+
+    $ vi web.xml
+
+    Ändern der Konfiguration von:
+
+    <context-param>
+        <param-name>authentication</param-name>
+        <param-value>GGinA</param-value>
+    </context-param>
+
+    in:
+
+    <context-param>
+        <param-name>authentication</param-name>
+        <param-value>plain</param-value>
+    </context-param>
+
+#. Die Print-URL anpassen
+
+    $ vi web.xml
+
+    <!-- Servlet to bridge between MapFish Print and FLYS3 -->
+    <servlet>
+      <servlet-name>MapPrintService</servlet-name>
+      <servlet-class>org.dive4elements.river.client.server.MapPrintServiceImpl</servlet-class>
+      <init-param>
+        <param-name>config</param-name>
+        <param-value>WEB-INF/config.yaml</param-value>
+      </init-param>
+      <init-param>
+        <param-name>print-url</param-name>
+        <!-- Hier die URL zu dem Tomcat6 Container angeben. -->
+        <param-value>http://localhost:8080/d4e/flys/mapfish-print</param-value>
+      </init-param>
+    </servlet>
+
+#. Mapfishprint config.yaml anpassen
+
+    $ vi config.yaml
+
+    Folgenden Eintrag im Abschnitt 'the list of allowed hosts' hinzufügen:
+
+    - !dnsMatch
+      host: menippe # Hier den Hostnamen verwenden auf dem der MapServer läuft.
+      port: 8081 # Den entsprechenden Port eintragen.
+
+
+Anpassen der Serverkonfiguration
+--------------------------------
+    $ cd ~/de4-river/river/artifacts/doc/conf/
+
+#. Pfad zu den DGMs anpassen:
+    $ vi conf.xml
+        <dgm-path>${artifacts.config.dir}/../dgm/</dgm-path>
+
+#. Einstellen der WMS Urls
+    # Anstatt mennippe:8081 den korrekten Host eintragen!
+    $ vi rivermap.xml
+    # Den Inhalt durch folgendes ersetzen
+
+    <?xml version="1.0" encoding="UTF-8" ?>
+    <!--// configuration fragment for static river WMS //-->
+    <rivermap>
+        <mapserver>
+            <server path="http://menippe:8081/cgi-bin/"/>
+            <mapfile path="${artifacts.config.dir}/../rivers.map"/>
+            <templates path="${artifacts.config.dir}/mapserver/"/>
+            <map-template path="river-mapfile.vm"/>
+        </mapserver>
+
+        <velocity>
+            <logfile path="${artifacts.config.dir}/../rivermap_velocity.log"/>
+        </velocity>
+
+        <river name="Beispielfluss">
+            <srid value="31467"/>
+            <river-wms url="http://menippe:8081/cgi-bin/river-wms" layers="Beispielfluss"/>
+            <background-wms url="http://osm.intevation.de/bfg/service?" layers="OSM-WMS-Dienst"/>
+        </river>
+    </rivermap>
+
+    $ vi floodmap.xml
+    # Den Inhalt durch folgendes ersetzen
+
+    <?xml version="1.0" encoding="UTF-8" ?>
+    <floodmap>
+        <shapefile-path value="${artifacts.config.dir}/../shapefiles"/>
+        <mapserver>
+            <server path="http://menippe:8081/cgi-bin/"/>
+            <mapfile path="${artifacts.config.dir}/../flys.map"/>
+            <templates path="${artifacts.config.dir}/mapserver/"/>
+            <map-template path="mapfile.vm"/>
+        </mapserver>
+
+        <velocity>
+            <logfile path="${artifacts.config.dir}/../velocity.log"/>
+        </velocity>
+
+        <river name="Beispielfluss">
+            <srid value="31467"/>
+            <river-wms url="http://menippe:8081/cgi-bin/river-wms" layers="Beispielfluss"/>
+            <background-wms url="http://osm.intevation.de/bfg/service?" layers="OSM-WMS-Dienst"/>
+        </river>
+    </floodmap>
+
+
+Konfigurieren des Logging
+-------------------------
+#. Pfade in den log4j.properties anpassen
+
+    $ vi river/gwt-client/src/main/webapp/WEB-INF/log4j.properties
+
+    # Die Zeile
+
+    log4j.appender.FLYS.File=/tmp/flys-client.log
+
+    # ändern in:
+
+    log4j.appender.FLYS.File=/var/log/d4e-river/d4e-client.log
+
+    $ vi river/artifacts/doc/conf/log4j.properties
+
+    # Den Inhalt mit folgendem ersetzen:
+
+    # Set root logger level to DEBUG and its only appender to A1.
+    log4j.rootLogger=DEBUG, A1
+
+    # A1 uses PatternLayout.
+    log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+    log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
+
+    log4j.appender.A1=org.apache.log4j.RollingFileAppender
+    log4j.appender.A1.File=/var/log/d4e-river/d4e-server.log
+    log4j.appender.A1.MaxFileSize=5000KB
+    log4j.appender.A1.MaxBackupIndex=3
+
+
+Bauen der Server- und Clientkomponenten
+---------------------------------------
+    $ cd framework/
+    $ mvn clean compile package install
+    $ cd ../http-client/
+    $ mvn clean compile package install
+    $ cd ../river/backend/
+    $ mvn clean compile package install
+    $ cd ../artifacts/
+    $ mvn clean compile package dependency:copy-dependencies
+    $ cd ../gwt-client/
+    $ curl -O http://openlayers.org/download/OpenLayers-2.11.tar.gz
+    $ tar xvfz OpenLayers-2.11.tar.gz
+    $ mv OpenLayers-2.11 src/main/webapp/
+    $ mvn clean compile package
+    $ cd ../../
+
+
+Kopieren der Serverkomponenten
+------------------------------
+    $ su root
+    $ su d4e
+    $ cd /opt/d4e-river/
+    $ mkdir -p bin/lib
+    $ cp /home/d4euser/d4e-river/river/artifacts/target/river-artifacts-1.0-SNAPSHOT.jar bin/lib/
+    $ cp /home/d4euser/d4e-river/river/artifacts/target/dependency/* bin/lib/
+    $ mkdir conf
+    $ cp /home/d4euser/d4e-river/framework/artifact-database/doc/example-conf/log4j.properties conf/
+    $ cp -R ../river/artifacts/doc/conf/* conf/
+
+
+Artefaktdatenbank erstellen
+===========================
+    $ su root
+    $ su d4e
+    $ cd /opt/d4e-river/
+    $ /home/d4euser/d4e-river/river/contrib/make_flys_release/h2/createArtifacts.sh \
+      /home/d4euser/d4e-river/framework/artifact-database/doc/schema-h2.sql
+    $ exit
+    $ exit
+
+
+Datenkorbdatenbank erstellen
+============================
+    $ su root
+    $ su d4e
+    $ cd /opt/d4e-river/
+    $ /home/d4euser/d4e-river/river/contrib/make_flys_release/h2/createDatacage.sh \
+      /home/d4euser/d4e-river/river/artifacts/doc/conf/datacage.sql
+    $ exit
+    $ exit
+
+
+Backenddatenbanken (Fachdatenbank und Seddb)
+============================================
+
+Anlegen und befüllen der Datenbanken
+------------------------------------
+#. Einspielen des Schemas für die Backenddatenbank
+    $ su root
+    $ su postgres
+    $ cd /home/d4euser/d4e-river/river/backend/doc/schema/
+    $ ./postgresql-setup.sh d4e . localhost
+
+#. Einspielen der Daten in die erstellte DB
+    $ psql -d d4e -f /home/d4euser/d4e-river/d4e_demodata.dump.sql
+
+#. Erstellen der Seddb
+    $ createuser -S -D -R sedb
+    $ createdb seddb
+    $ psql -d seddb -c "ALTER USER sedb WITH PASSWORD 'sedb';"
+    $ psql -d seddb -U sedb -h localhost -f /home/d4euser/d4e-river/seddb.dump.sql
+
+#. wieder d4euser werden
+    $ exit
+    $ exit
+
+
+Konfiguration der Datenbankverbindungen
+---------------------------------------
+#. Anpassen des Benutzers und des Datenbanknames
+    $ su root
+    $ su d4e
+    $ cd /opt/d4e-river/conf/
+    $ sed -i s@flys@d4e@ backend-db.xml
+
+
+Kopieren der DGMs
+=================
+    $ su root
+    $ su d4e
+    $ mkdir /opt/d4e-river/dgm
+    $ cp /home/d4euser/d4e-river/dgm/* /opt/d4e-river/dgm
+
+
+Einrichten von WSPLGEN
+======================
+
+Bauen von WSPLGEN aus den Quellen
+---------------------------------
+Die Quellen und die Dokumentation von WSPLGEN sind zu finden unter
+
+  https://wald.intevation.org/projects/wsplgen/
+
+Das nach der Anleitung erstellte Binary muss in das 'bin' Verzeichnis des
+D4E-river Servers kopiert werden.
+
+    $ su root
+    $ su d4e
+    $ cp /path/to/wsplgen.exe /opt/d4e-river/bin
+
+
+WSPLGEN Binary
+--------------
+WSPLGEN kann als ausführbare Datei heruntergeladen werden
+(https://wald.intevation.org/projects/wsplgen/). Die Datei 'wsplgen.exe' muss
+dann nur noch in das 'bin' Verzeichnis des D4E-river Servers kopiert werden.
+
+    $ su root
+    $ su d4e
+    $ cp /path/to/wsplgen.exe /opt/d4e-river/bin
+
+
+Einrichten des Mapserver und Apache
+===================================
+#. Anlegen der cgi-Skripte für die WMS-Dienste
+
+    $ su root
+    $ cd /usr/lib/cgi-bin/
+    $ touch user-wms
+    $ vi user-wms
+    # folgendes einfügen:
+        #!/bin/sh
+        export MS_MAPFILE=/opt/d4e-river/flys.map
+        ./mapserv
+    $ touch river-wms
+    $ vi river-wms
+    # folgendes einfügen:
+        #!/bin/sh
+        export MS_MAPFILE=/home/d4e-river/rivers.map
+        ./mapserv
+    $ chmod 755 user-wms
+    $ chmod 755 river-wms
+    $ exit
+
+#. Der Apache ist vorkonfiguriert und braucht keine weitere Anpassung.
+
+
+Einrichtung der D4E-Benutzer und -Rollen
+========================================
+#. Authentifizierung über lokale Datei
+    $ su root
+    $ cd /usr/share/tomcat6/
+    $ touch flys_user_file
+    $ vi flys_user_file
+    # folgendes einfügen:
+        d4e_demo demo d4e_demo_all
+        d4e_demo1 demo
+        d4e_demo_extern demo d4e_demo_extern
+    $ exit
+
+Anlegen des Start-Skripts
+============================
+    $ su root
+    $ su d4e
+    $ cp /home/d4euser/d4e-river/river/contrib/make_flys_release/bin/run.sh /opt/d4e-river/bin/
+    $ exit
+    $ exit
+
+Client in Tomcat Servlet-Container ablegen
+==========================================
+    $ su root
+    $ cp /home/d4euser/d4e-river/river/gwt-client/target/gwt-client-1.0-SNAPSHOT.war /var/lib/tomcat6/webapps/d4e-river.war
+    $ chown tomcat6 /var/lib/tomcat6/webapps/d4e-river.war
+    $ exit
+
+Starten der Serverkomponente
+============================
+    $ su root
+    $ su d4e
+    $ cd /opt/d4e-river
+    $ bin/run.sh
+
+Die Anwendung ist dann im Browser unter
+
+    http://servername:8080/d4e-river
+
+erreichbar.

http://dive4elements.wald.intevation.org