# HG changeset patch # User Raimund Renkert # Date 1393843569 -3600 # Node ID 887795bbe854085a351720b8be51f70c507e7b94 # Parent 19472d3877d618482990550b58223a8fd736dca3 Added german INSTALL. diff -r 19472d3877d6 -r 887795bbe854 doc/INSTALL_DE --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/INSTALL_DE Mon Mar 03 11:46:09 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: + + + + + module:winfo + module:minfo + module:new_map + module:new_chart + module:fixanalysis + river:Beispielfluss + + + module:winfo + module:minfo + river:Beispielfluss + + + +#. Ändern der Authentifizierung von GGinA auf plain (lokal) + + $ vi web.xml + + Ändern der Konfiguration von: + + + authentication + GGinA + + + in: + + + authentication + plain + + +#. Die Print-URL anpassen + + $ vi web.xml + + + + MapPrintService + org.dive4elements.river.client.server.MapPrintServiceImpl + + config + WEB-INF/config.yaml + + + print-url + + http://localhost:8080/d4e/flys/mapfish-print + + + +#. 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 + ${artifacts.config.dir}/../dgm/ + +#. Einstellen der WMS Urls + # Anstatt mennippe:8081 den korrekten Host eintragen! + $ vi rivermap.xml + # Den Inhalt durch folgendes ersetzen + + + + + + + + + + + + + + + + + + + + + + + $ vi floodmap.xml + # Den Inhalt durch folgendes ersetzen + + + + + + + + + + + + + + + + + + + + + + + +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.