Mercurial > dive4elements > river
view doc/INSTALL_DE @ 7774:2a5cc260c492
Replace FLYS-specific features.xml.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Tue, 04 Mar 2014 15:23:50 +0100 |
parents | 887795bbe854 |
children | b972c7e1bfbe |
line wrap: on
line source
=============================================================================== 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.