Mercurial > dive4elements > river
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.