Mercurial > dive4elements > river
view doc/INSTALL_DE @ 8412:17db08570637
SCHEMA CHANGE: removed superfluous columns station and river_id from measurement_stations and adapted other components accordingly.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Wed, 15 Oct 2014 19:20:26 +0200 |
parents | 553829e7666a |
children | 522c46c53861 |
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. Die Installationsanleitung wurde mit Debian wheezy getestet. Die Versionen der im nächsten Schritt installierten Pakete waren zu diesem Zeitpunkt: _ openjdk-7-jdk 7u25-2.3.10-1~deb7u1 _ tomcat6 6.0.35-6+deb7u1 _ postgresql-9.1-postgis 1.5.3-2 _ apache2 2.2.22-13+deb7u1 _ cgi-mapserver 6.0.1-3.2+deb7u2 _ ttf-freefont 20120503-1 _ libapache2-mod-jk 1.2.37-1 Für die Installation aus den Quellen: _ maven2 2.2.1-12 _ mercurial 2.2.2-3 _ subversion 1.6.17dfsg-4+deb7u4 _ build-essential 11.5 Erforderliche Pakete zum Installieren von D4E-river =================================================== $ su root # apt-get install openjdk-7-jdk # apt-get install tmux # apt-get install tomcat6 postgresql-9.1-postgis \ apache2 cgi-mapserver ttf-freefont libapache2-mod-jk Benutzer und Verzeichnis für die Serverkomponente anlegen ========================================================= # useradd -d /home/d4e d4e # cd /opt/ # mkdir d4e-river # chown d4e d4e-river/ Benutzer und Gruppe für das Logging anlegen =========================================== # 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 Installation von D4E-river aus Binärpaket ========================================= Herunterladen von - d4e-river-3.1.2.tar.bz2 - d4river-3.1.2.war Als root-User: # cd /opt/ # tar xvjf d4e-river-3.1.2.tar.bz2 # chown -R d4e d4e-river In das Verzeichnis /opt/d4e-river/dgm/ müssen noch die DGMs der Demo-Daten kopiert werden. (s.u.) # mv d4river-3.1.2.war /var/lib/tomcat6/webapps/d4e-river.war Der Tomcat muss wie unten dokumentiert konfiguriert werden. Gleiches gilt für die MapServer-Installation. 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. Installation von D4E-river aus den Quellen ========================================== Pakete zum Bauen von D4E-river ------------------------------ $ su root # apt-get install maven2 mercurial Installation der Intevationszertifikate für den Checkout von Wald ----------------------------------------------------------------- Installation der Serverzertifikate von Intevation (siehe auch https://ssl.intevation.de) # 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: # hierzu kann beispielsweise die Systemweite mercurial Konfiguration # editiert werden, z.B. mit dem Editor nano: $ nano /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 -------------------------------- $ cd river/gwt-client/src/main/webapp/WEB-INF/ #. Mapfishprint config.yaml anpassen $ nano config.yaml Folgenden Eintrag im Abschnitt 'the list of allowed hosts' hinzufügen (darauf achten, dass die Einrückung mit den bestehenden Einträgen übereinstimmt): - !dnsMatch host: localhost # Hier den Hostnamen verwenden auf dem der MapServer läuft. port: 8081 # Den entsprechenden Port eintragen. Anpassen der Serverkonfiguration -------------------------------- $ cd ~/d4e-river/river/artifacts/doc/conf/ #. Pfad zu den DGMs anpassen: $ nano conf.xml <dgm-path>/opt/d4e-river/dgm/</dgm-path> #. Einstellen der WMS Urls # Anstatt yourhost:8081 in rivermap.xml und floodmap.xml den korrekten # Host eintragen auf dem der MapServer läuft Konfigurieren des Logging ------------------------- # Anpassungen des Loggings können für den Client in # river/gwt-client/src/main/webapp/WEB-INF/log4j.properties # und für den Server in river/artifacts/doc/conf/log4j.properties # vorgenommen werden Bauen der Server- und Clientkomponenten --------------------------------------- $ cd ~/d4e-river/framework $ mvn install $ cd ../http-client/ $ mvn install $ cd ../river/backend/ $ mvn install $ cd ../artifacts/ $ mvn 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 package 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 -R /home/d4euser/d4e-river/river/artifacts/doc/conf/* conf/ Artefaktdatenbank erstellen =========================== $ /home/d4euser/d4e-river/river/contrib/make_flys_release/h2/createArtifacts.sh \ /home/d4euser/d4e-river/framework/artifact-database/doc/schema-h2.sql Datenkorbdatenbank erstellen ============================ $ /home/d4euser/d4e-river/river/contrib/make_flys_release/h2/createDatacage.sh \ /home/d4euser/d4e-river/river/artifacts/doc/conf/datacage.sql $ exit Backenddatenbanken (Fachdatenbank und Seddb) ============================================ Anlegen und befüllen der Datenbanken ------------------------------------ #. Einspielen des Schemas für die Backenddatenbank # su postgres $ cd /home/d4euser/d4e-river/river/backend/doc/schema/ $ ./postgresql-setup.sh d4e . localhost #. Einspielen der Daten in die erstellte DB # Demodaten von www.dive4elements.org herunterladen und entpacken $ psql -d d4e -f /home/d4euser/d4e-river/demodaten/d4e_demodata.dump.sql #. Erstellen der SedDB $ createuser -S -D -R seddb $ createdb seddb $ psql -c "ALTER USER seddb WITH PASSWORD 'seddb';" $ psql -U seddb -h localhost -f /home/d4euser/d4e-river/demodaten/seddb_demodata.dump.sql #. wieder root werden $ exit Kopieren der DGMs ================= # su d4e $ mkdir /opt/d4e-river/dgm $ cp /home/d4euser/d4e-river/demodaten/dem* /opt/d4e-river/dgm $ exit $ exit Einrichten von WSPLGEN ====================== WSPLGEN kann als ausführbare Datei heruntergeladen werden (https://wald.intevation.org/projects/wsplgen/). Die Datei muss dann nur noch in das 'bin' Verzeichnis des D4E-river Servers kopiert werden. # su d4euser $ cd ~/d4e-river Für 64bit Systeme: $ wget https://wald.intevation.org/frs/download.php/1496/wsplgen-linux-64bit-static.gz $ gunzip wsplgen-linux-64bit-static.gz $ echo "16d60047aa114d69e9435dbbe56b6981b4e1c445 wsplgen-linux-64bit-static" | \ sha1sum -c $ su root # su d4e $ cp /home/d4euser/d4e-river/wsplgen-linux-64bit-static /opt/d4e-river/bin/wsplgen $ chmod +x /opt/d4e-river/bin/wsplgen $ exit Für 32bit Systeme: $ wget https://wald.intevation.org/frs/download.php/1498/wsplgen-linux-32bit-static.gz $ gunzip wsplgen-linux-32bit-static.gz $ echo "aafd2b770ff8293d452ad3eb3321f2ed04f3f371 wsplgen-linux-32bit-static" | \ sha1sum -c $ su root # su d4e $ cp /home/d4euser/d4e-river/wsplgen-linux-32bit-static /opt/d4e-river/bin/wsplgen $ chmod +x /opt/d4e-river/bin/wsplgen $ exit Einrichten des Mapserver und Apache =================================== #. Anlegen der cgi-Skripte für die WMS-Dienste # cd /usr/lib/cgi-bin/ # cat > user-wms <<EOF #!/bin/sh export MS_MAPFILE=/opt/d4e-river/flys.map exec ./mapserv EOF # cat > river-wms <<EOF #!/bin/sh export MS_MAPFILE=/opt/d4e-river/rivers.map exec ./mapserv EOF # chmod 755 user-wms # chmod 755 river-wms Der Apache wird für den Mapserver, sowie als Proxy für den im Tomcat laufenden d4e-river Client eingerichtet. Eine Beispielkonfiguration befindet sich in doc/d4e-apache.conf. Diese kann in den Ordner /etc/apache2/sites-available/ kopiert werden. Folgende Schritte sind zusätzlich notwendig: # cp /home/d4euser/d4e-river/river/doc/d4e-apache.conf /etc/apache2/sites-available/ # a2ensite d4e-apache.conf # a2enmod proxy_ajp # sed -i s/80/8081/ /etc/apache2/ports.conf # service apache2 restart In der Datei /var/lib/tomcat6/conf/server.xml muss die Zeile <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> einkommentiert werden. # /etc/init.d/tomcat6 restart Einrichtung der D4E-Benutzer und -Rollen ======================================== #. Authentifizierung über lokale Datei # Die Datei enthält durch Leerzeichen getrennt je Zeile # Benutzer, Passwort und Gruppe # cd /usr/share/tomcat6/ # cat > flys_user_file <<EOF d4e_demo demo d4e_demo_all d4e_demo1 demo d4e_demo_extern demo d4e_demo_extern EOF # Die Konfiguration der je Gruppe freigeschalteten Module und Gewässer # befindet sich in river/gwt-client/src/main/webapp/WEB-INF/features.xml Anlegen des Start-Skripts ============================ # su d4e $ cp /home/d4euser/d4e-river/river/contrib/make_flys_release/bin/run.sh /opt/d4e-river/bin/ $ exit Client in Tomcat Servlet-Container ablegen ========================================== # 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 Starten der Serverkomponente ============================ # su d4e $ cd /opt/d4e-river $ tmux new -s SERVER bin/run.sh Die Anwendung ist dann im Browser unter http://yourhost:8081/d4e-river erreichbar.