rrenkert@7769: =============================================================================== rrenkert@7769: Installation Dive4Elements-river rrenkert@7769: =============================================================================== rrenkert@7769: rrenkert@7769: Diese Anleitung geht davon aus, dass ein Benutzer 'd4euser' existiert, der tom@8797: angemeldet ist und mit dem die Installation begonnen werden kann. tom@8797: Kommandos, die mit dem Prefix '#' angegeben sind, müssen als Nutzer 'root' tom@8797: ausgeführt werden, solche mit dem Prefix '$' als Nutzer 'd4euser' oder 'd4e'. rrenkert@7769: tom@8797: Die Installationsanleitung wurde mit Debian jessie getestet. rrenkert@7769: rrenkert@7769: Erforderliche Pakete zum Installieren von D4E-river rrenkert@7769: =================================================== rrenkert@7769: $ su root tom@8797: # apt-get install tomcat7 postgresql-9.4-postgis-2.1 postgis \ rrenkert@7812: apache2 cgi-mapserver ttf-freefont libapache2-mod-jk rrenkert@7769: rrenkert@7769: rrenkert@7769: Benutzer und Verzeichnis für die Serverkomponente anlegen rrenkert@7769: ========================================================= teichmann@7814: # useradd -d /home/d4e d4e teichmann@7814: # cd /opt/ teichmann@7814: # mkdir d4e-river teichmann@7814: # chown d4e d4e-river/ rrenkert@7769: rrenkert@7769: rrenkert@7769: Benutzer und Gruppe für das Logging anlegen rrenkert@7769: =========================================== teichmann@7814: # groupadd d4e_log teichmann@7814: # usermod -a -G d4e_log d4e tom@8797: # usermod -a -G d4e_log tomcat7 teichmann@7814: # usermod -a -G d4e_log www-data rrenkert@7769: rrenkert@7769: rrenkert@7769: Anlegen des Logging Verzeichnisses rrenkert@7769: ================================== teichmann@7814: # mkdir /var/log/d4e-river teichmann@7814: # chgrp d4e_log /var/log/d4e-river teichmann@7814: # chmod 775 /var/log/d4e-river teichmann@7814: # exit rrenkert@7769: rrenkert@7769: tom@7786: Installation von D4E-river aus Binärpaket tom@7786: ========================================= tom@7786: tom@8797: Installation der Intevationszertifikate für den Download von Wald tom@8797: ----------------------------------------------------------------- tom@8797: Installation der Serverzertifikate von Intevation tom@8797: (siehe auch https://ssl.intevation.de) tom@8797: tom@8797: # apt-get install gnutls-bin tom@8797: # wget -O - https://ssl.intevation.de/Intevation-Root-CA-2010.crt | \ tom@8797: certtool -i | awk '/^-----BEGIN CERTIFICATE-----$/ , 0' > \ tom@8797: /usr/local/share/ca-certificates/Intevation-Root-CA-2010.crt tom@8797: # update-ca-certificates tom@8797: tom@8797: Als Nutzer 'd4e' herunterladen von tom@8743: - d4e-river-VERSION.tar.bz2 tom@8797: - d4eriver-VERSION.war tom@8743: VERSION ist hier und im Folgenden durch die entsprechende tom@8743: Versionsbezeichnung im Paketnamen zu ersetzen. teichmann@7874: tom@8797: $ cd /opt/d4e-river tom@8797: $ tar xvjf d4e-river-VERSION.tar.bz2 teichmann@7874: teichmann@7874: In das Verzeichnis /opt/d4e-river/dgm/ müssen noch die DGMs der teichmann@7874: Demo-Daten kopiert werden. (s.u.) teichmann@7874: tom@8797: # mv d4eriver-VERSION.war /var/lib/tomcat7/webapps/d4e-river.war teichmann@7874: teichmann@7874: Der Tomcat muss wie unten dokumentiert konfiguriert werden. teichmann@7874: Gleiches gilt für die MapServer-Installation. rrenkert@7769: rrenkert@7769: Erfolgt die Installation von D4E-river aus den Binärpaketen, können die rrenkert@7769: folgenden Schritte übersprungen werden. rrenkert@7769: Die weiteren Schritte sind ab dem Abschnitt 'Backenddatenbanken' rrenkert@7769: beschrieben. rrenkert@7769: rrenkert@7769: tom@7786: Installation von D4E-river aus den Quellen tom@7786: ========================================== tom@7786: rrenkert@7769: Pakete zum Bauen von D4E-river rrenkert@7769: ------------------------------ tom@7786: $ su root tom@8798: # apt-get install openjdk-7-jdk maven2 mercurial rrenkert@7769: rrenkert@7769: tom@7785: Installation der Intevationszertifikate für den Checkout von Wald tom@7785: ----------------------------------------------------------------- tom@8511: Installation der Serverzertifikate von Intevation tom@7785: (siehe auch https://ssl.intevation.de) rrenkert@7769: tom@8797: # apt-get install gnutls-bin tom@8797: # wget -O - https://ssl.intevation.de/Intevation-Root-CA-2010.crt | \ rrenkert@7769: certtool -i | awk '/^-----BEGIN CERTIFICATE-----$/ , 0' > \ rrenkert@7769: /usr/local/share/ca-certificates/Intevation-Root-CA-2010.crt teichmann@7814: # update-ca-certificates rrenkert@7769: tom@7786: #. Mercurial beibringen die Zertifikate zu nutzen: tom@7786: # hierzu kann beispielsweise die Systemweite mercurial Konfiguration tom@7786: # editiert werden, z.B. mit dem Editor nano: tom@7786: $ nano /etc/mercurial/hgrc rrenkert@7769: rrenkert@7769: # Folgendes einfügen (siehe https://intranet.intevation.de/Mercurial#https) rrenkert@7769: [web] rrenkert@7769: cacerts = /etc/ssl/certs/ca-certificates.crt rrenkert@7769: teichmann@7814: # exit # d4euser werden rrenkert@7769: rrenkert@7769: rrenkert@7769: Checkout der D4E-Quellen rrenkert@7769: ------------------------ rrenkert@7769: $ mkdir d4e-river rrenkert@7769: $ cd d4e-river rrenkert@7769: $ hg clone https://scm.wald.intevation.org/hg/dive4elements/framework/ rrenkert@7769: $ hg clone https://scm.wald.intevation.org/hg/dive4elements/http-client/ rrenkert@7769: $ hg clone https://scm.wald.intevation.org/hg/dive4elements/river/ rrenkert@7769: rrenkert@7769: rrenkert@7769: Anpassen der Clientkonfiguration rrenkert@7769: -------------------------------- rrenkert@7769: $ cd river/gwt-client/src/main/webapp/WEB-INF/ rrenkert@7769: rrenkert@7769: #. Mapfishprint config.yaml anpassen rrenkert@7769: tom@7786: $ nano config.yaml rrenkert@7769: tom@7788: Folgenden Eintrag im Abschnitt 'the list of allowed hosts' hinzufügen tom@7788: (darauf achten, dass die Einrückung mit den bestehenden Einträgen übereinstimmt): rrenkert@7769: rrenkert@7769: - !dnsMatch teichmann@7814: host: localhost # Hier den Hostnamen verwenden auf dem der MapServer läuft. rrenkert@7769: port: 8081 # Den entsprechenden Port eintragen. rrenkert@7769: rrenkert@7769: rrenkert@7769: Konfigurieren des Logging rrenkert@7769: ------------------------- tom@8511: # Anpassungen des Loggings können für den Client in tom@7783: # river/gwt-client/src/main/webapp/WEB-INF/log4j.properties tom@7783: # und für den Server in river/artifacts/doc/conf/log4j.properties tom@7783: # vorgenommen werden rrenkert@7769: rrenkert@7769: rrenkert@7769: Bauen der Server- und Clientkomponenten rrenkert@7769: --------------------------------------- tom@7788: $ cd ~/d4e-river/framework tom@7788: $ mvn install rrenkert@7769: $ cd ../http-client/ tom@7788: $ mvn install rrenkert@7769: $ cd ../river/backend/ tom@7788: $ mvn install rrenkert@7769: $ cd ../artifacts/ tom@7788: $ mvn package dependency:copy-dependencies rrenkert@7769: $ cd ../gwt-client/ rrenkert@7769: $ curl -O http://openlayers.org/download/OpenLayers-2.11.tar.gz rrenkert@7769: $ tar xvfz OpenLayers-2.11.tar.gz rrenkert@7769: $ mv OpenLayers-2.11 src/main/webapp/ tom@7788: $ mvn package rrenkert@7769: rrenkert@7769: rrenkert@7769: Kopieren der Serverkomponenten rrenkert@7769: ------------------------------ rrenkert@7769: $ su root teichmann@7814: # su d4e rrenkert@7769: $ cd /opt/d4e-river/ rrenkert@7769: $ mkdir -p bin/lib rrenkert@7769: $ cp /home/d4euser/d4e-river/river/artifacts/target/river-artifacts-1.0-SNAPSHOT.jar bin/lib/ rrenkert@7769: $ cp /home/d4euser/d4e-river/river/artifacts/target/dependency/* bin/lib/ rrenkert@7769: $ mkdir conf tom@7788: $ cp -R /home/d4euser/d4e-river/river/artifacts/doc/conf/* conf/ rrenkert@7769: rrenkert@7769: rrenkert@7769: Artefaktdatenbank erstellen rrenkert@7769: =========================== rrenkert@7769: $ /home/d4euser/d4e-river/river/contrib/make_flys_release/h2/createArtifacts.sh \ rrenkert@7769: /home/d4euser/d4e-river/framework/artifact-database/doc/schema-h2.sql rrenkert@7769: rrenkert@7769: rrenkert@7769: Datenkorbdatenbank erstellen rrenkert@7769: ============================ rrenkert@7769: $ /home/d4euser/d4e-river/river/contrib/make_flys_release/h2/createDatacage.sh \ rrenkert@7769: /home/d4euser/d4e-river/river/artifacts/doc/conf/datacage.sql rrenkert@7769: $ exit rrenkert@7769: rrenkert@7769: tom@8797: Client in Tomcat Servlet-Container ablegen tom@8797: ========================================== tom@8797: # mv /home/d4euser/d4e-river/river/gwt-client/target/gwt-client-1.0-SNAPSHOT.war \ tom@8797: /var/lib/tomcat7/webapps/d4e-river.war tom@8797: tom@8797: rrenkert@7769: Backenddatenbanken (Fachdatenbank und Seddb) rrenkert@7769: ============================================ rrenkert@7769: rrenkert@7769: Anlegen und befüllen der Datenbanken rrenkert@7769: ------------------------------------ rrenkert@7769: #. Einspielen des Schemas für die Backenddatenbank teichmann@7814: # su postgres rrenkert@7769: $ cd /home/d4euser/d4e-river/river/backend/doc/schema/ tom@8797: $ ./postgresql-setup.sh rrenkert@7769: tom@8743: #. bzw. bei Installation aus den Binaries: tom@8743: # su postgres tom@8743: $ cd /opt/d4e-river/schema tom@8797: $ ./postgresql-setup.sh tom@8743: rrenkert@7769: #. Einspielen der Daten in die erstellte DB tom@7788: # Demodaten von www.dive4elements.org herunterladen und entpacken tom@7788: $ psql -d d4e -f /home/d4euser/d4e-river/demodaten/d4e_demodata.dump.sql rrenkert@7769: tom@7788: #. Erstellen der SedDB tom@7788: $ createuser -S -D -R seddb rrenkert@7769: $ createdb seddb tom@8797: $ psql -c "ALTER USER seddb WITH PASSWORD 'seddb'" tom@7788: $ psql -U seddb -h localhost -f /home/d4euser/d4e-river/demodaten/seddb_demodata.dump.sql rrenkert@7769: rrenkert@7769: rrenkert@7769: Kopieren der DGMs rrenkert@7769: ================= teichmann@7814: # su d4e rrenkert@7769: $ mkdir /opt/d4e-river/dgm tom@7788: $ cp /home/d4euser/d4e-river/demodaten/dem* /opt/d4e-river/dgm rrenkert@7769: rrenkert@7769: rrenkert@7769: Einrichten von WSPLGEN rrenkert@7769: ====================== rrenkert@7769: WSPLGEN kann als ausführbare Datei heruntergeladen werden tom@7797: (https://wald.intevation.org/projects/wsplgen/). Die Datei muss rrenkert@7769: dann nur noch in das 'bin' Verzeichnis des D4E-river Servers kopiert werden. rrenkert@7769: teichmann@7814: # su d4euser tom@7797: $ cd ~/d4e-river teichmann@7814: teichmann@7814: Für 64bit Systeme: teichmann@7814: tom@7797: $ wget https://wald.intevation.org/frs/download.php/1496/wsplgen-linux-64bit-static.gz tom@7797: $ gunzip wsplgen-linux-64bit-static.gz tom@7797: $ echo "16d60047aa114d69e9435dbbe56b6981b4e1c445 wsplgen-linux-64bit-static" | \ tom@7797: sha1sum -c rrenkert@7769: $ su root teichmann@7814: # su d4e tom@8797: $ cp /home/d4euser/d4e-river/wsplgen-linux-64bit-static \ tom@8797: /opt/d4e-river/bin/wsplgen teichmann@7814: $ chmod +x /opt/d4e-river/bin/wsplgen teichmann@7814: $ exit teichmann@7814: teichmann@7814: Für 32bit Systeme: teichmann@7814: teichmann@7814: $ wget https://wald.intevation.org/frs/download.php/1498/wsplgen-linux-32bit-static.gz teichmann@7814: $ gunzip wsplgen-linux-32bit-static.gz teichmann@7814: $ echo "aafd2b770ff8293d452ad3eb3321f2ed04f3f371 wsplgen-linux-32bit-static" | \ teichmann@7814: sha1sum -c teichmann@7814: $ su root teichmann@7814: # su d4e tom@8797: $ cp /home/d4euser/d4e-river/wsplgen-linux-32bit-static \ tom@8797: /opt/d4e-river/bin/wsplgen teichmann@7814: $ chmod +x /opt/d4e-river/bin/wsplgen tom@7802: $ exit rrenkert@7769: rrenkert@7769: rrenkert@7769: Einrichten des Mapserver und Apache rrenkert@7769: =================================== rrenkert@7769: #. Anlegen der cgi-Skripte für die WMS-Dienste rrenkert@7769: teichmann@7814: # cd /usr/lib/cgi-bin/ teichmann@7814: # cat > user-wms < river-wms < rrenkert@7812: tom@8797: einkommentiert bzw. aktiviert werden. rrenkert@7769: tom@8797: # /etc/init.d/tomcat7 restart teichmann@7814: rrenkert@7769: Einrichtung der D4E-Benutzer und -Rollen rrenkert@7769: ======================================== rrenkert@7769: #. Authentifizierung über lokale Datei tom@8511: # Die Datei enthält durch Leerzeichen getrennt je Zeile tom@7786: # Benutzer, Passwort und Gruppe tom@8797: # cd /usr/share/tomcat7/ teichmann@7814: # cat > flys_user_file <