Mercurial > dive4elements > river
view artifacts/doc/installation_de.rst @ 8367:16dc2da05aef
Overwriting the current km in context gives unexpected results if artifacts from different km have been loaded.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Thu, 02 Oct 2014 11:46:44 +0200 |
parents | 9cf5fd49837a |
children |
line wrap: on
line source
.. header:: ###Title### - ###Section### .. footer:: Seite ###Page### / ###Total### ================= FLYS Installation ================= Übersicht --------- Dieses Dokument beschreibt die Installation des Fachdienstes FLYS. Abgehandelt werden die Installation der Server-Anwendung (D4E-River), der Web-Anwendung, die Einrichtung der Datenbanken sowie die Einrichtung des Moin-Wikis. Als Basis dient ein SUSE Linux Enterprise Server in Version 11.2. .. contents:: Inhalt .. raw:: pdf PageBreak Vorbereitung des Systems --------------------------- Die Vorbereitung des Systems ist als Root auf dem Zielsystem durchzuführen. Je nach OpenSUSE Version müssen noch weitere Repositories hinzugefügt werden. Unter ``10.140.90.89/wiki`` können durch eine Suche nach ``repos`` weitere repositories hinzugefügt werden. #. Einloggen als root nutzer:: su #. Hinzufügen des OBS Repositorys von Intevation:: zypper addrepo -f \ http://download.opensuse.org/repositories/home:/intevation:/bfg/ SLE_11_SP1/home:intevation:bfg.repo #. Zusätzlich muss noch das SLES 11 SDK repo hinzgefügt werden:: zypper ar -t YUM http://voss-update/repo/\$RCE/ SLE11-SDK-Pool/sle-11-x86_64 SLE11-SDK-POOL #. Installieren der benötigten Pakete:: zypper install python-devel python-setuptools libxslt-devel libxml2-devel \ mozilla-nss-devel apache2 tomcat6 java-1_6_0-ibm libgeos0 netcdf \ proj xerces-c FastCGI php MyODBC-unixODBC postgresql-libs gd Sollte es Probleme mit der Abhängikeitsauflösung von xerces-c geben kann darauf verzichtet werden xerces-c 2.x zu installieren. Dies sollte als Optionsfrage zur Auswahl stehen. #. Anlegen der Logger Gruppe:: gropadd flys_log #. Anlegen des Flys Nutzers (sofern noch nicht vorhanden):: useradd -G users,flys_log,www -m flys #. Flys Nutzer der Gruppe flys_log hinzufügen (wenn nutzer bereits vorhanden):: usermod -A flys_log flys #. Tomcat und Apache zur flys_log Gruppe hinzufügen:: usermod -A flys_log tomcat usermod -A flys_log wwwrun #. Logging Verzeichnis anlegen:: mkdir /var/log/flys chgrp flys_log /var/log/flys chmod 775 /var/log/flys #. Betriebsordner anlegen:: mkdir /opt/flys chown flys /opt/flys #. Firewall ausschalten:: SuSEfirewall2 off Der Key-Fingerprint des Intevations Repositorys ist: ``18F8 A017 6DFB 7FD1 22BC 20D6 A73E 24AF BC5A 7BAC`` Nun sollte der weitere Inhalt der beiliegenden CD nach /opt/flys kopiert und dem Benutzer flys zugänglich gemacht werden. (z.B.: cp -r /media/UDF\ Volume/* /opt/flys) .. raw:: pdf PageBreak Oracle Client installieren -------------------------- #. Instantclient entpacken (als root):: cd /opt tar -xf /opt/flys/instantclient_11_2.tar.gz chown -R flys /opt/instantclient_11_2 #. Library loader konfigurieren:: cp /opt/flys/oci.conf /etc/ld.so.conf.d/oci.conf Datenbank initialisieren ------------------------ ``Datenbank erstellen`` ~~~~~~~~~~~~~~~~~~~~~~~ Das Erstellen der Datenbank sollte vom zuständigen DB-Admin bereits durchgeführt worden sein. Wichtig ist insbesondere, dass der Nutzer Zugriff auf die Spatial-Tabellen besitzt. Im folgenden ein Beispiel:: --CREATE TABLESPACE for user CREATE TABLESPACE "flys3" DATAFILE '/u01/app/oracle/oradata/XE/flys3.dbf' SIZE 1G AUTOEXTEND ON NEXT 100M MAXSIZE 10G LOGGING ONLINE PERMANENT BLOCKSIZE 16384 EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT NOCOMPRESS SEGMENT SPACE MANAGEMENT AUTO; --CREATE USER CREATE USER flys3 IDENTIFIED BY flys3; -- USER SQL ALTER USER flys3 DEFAULT TABLESPACE "flys3" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK ; -- QUOTA for user on TABLESPACE ALTER USER flys3 QUOTA UNLIMITED ON "flys3"; GRANT ALL on "MDSYS"."ALL_SDO_GEOM_METADATA" to flys3 ; GRANT CREATE SESSION TO flys3 ; GRANT CREATE VIEW TO flys3; GRANT CONNECT TO flys3; Dieses Beispiel soll nur zur groben Orientieren dienen welche Rechte FLYS benötigt. Speziellere Konfiguration ist mit dem zuständigen DB-Admin zu klären. ``Tabellen anlegen`` ~~~~~~~~~~~~~~~~~~~~ Abweichend von der hier beschriebenen Vorgehensweise kann natürlich ein alternativer Client verwendet werden. Die SQL-Skripte liegen im Unterordner DB-Schema. Wichtig ist, dass die folgenden SQL-Skripte in dieser Reihenfolge und in einer UTF-8 Umgebung ausgeführt werden: #. oracle.sql #. oracle-minfo.sql #. oracle-spatial.sql #. oracle-spatial_idx.sql Wechseln in den db-schema Ordner (als flys nutzer):: cd /opt/flys/db-schema SQLPlus aufrufen (mit passendem Encoding zu den scripten):: NLS_LANG=.AL32UTF8 /opt/instantclient_11_2/sqlplus <user>/<pass>@<ip>:<port>/<service> Dann im sqlplus client:: @oracle.sql @oracle-minfo.sql @oracle-spatial.sql @oracle-spatial_idx.sql ``Schema löschen`` ~~~~~~~~~~~~~~~~~~ Zum Löschen der im Schritt Schema importieren importierten Schemata liegen entsprechende drop Skripte bereit. Diese sollten bei Bedarf in folgender Reihenfolge ausgeführt werden:: @oracle-drop-spatial.sql @oracle-drop-minfo.sql @oracle-drop.sql .. raw:: pdf PageBreak D4E-River Server Installieren ----------------------------- Neue Versionen des gesamten FLYS Pakets werden üblicherweise als GZIP komprimierter Tarball mit dem Namensschema flys-VERSION.tar.gz zur Verfügung gestellt. Als Beispiel wird hier die Version 3.0.16 angenommen. ``Passende Java Version installieren`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ D4E-River benötigt ein Sun oder OpenJDK Java. Dieses muss extra installiert werden:: cd /opt/flys sh ./jdk-6u26-linux-x64-rpm.bin update-alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_26/bin/java 5 update-alternatives --install /etc/alternatives/jre jre /usr/java/jdk1.6.0_26/jre 5 update-alternatives --config java In dem folgenden Menü sollte als option die Java Version auswählen, welche unter /usr/java liegt. ``Server entpacken`` ~~~~~~~~~~~~~~~~~~~~ #. Als Nutzer flys einloggen:: su - flys #. Tarball entpacken:: cd /opt/flys tar -xf flys-3.0.16.tar.gz #. Symlink für die aktuelle Version anlegen:: ln -s flys-3.0.16 current ``Server konfigurieren`` ~~~~~~~~~~~~~~~~~~~~~~~~ Die externen Datenbanken von Dive4Element River werden in den folgenden Dateien konfiguriert.:: /opt/flys/flys-3.0.16/server/conf/backend-db.xml /opt/flys/flys-3.0.16/server/conf/seddb-db.xml In diesen sind Nutzername, Passwort und URL entsprechend den passenden Werten anzupassen. Die URL ist dabei nach folgendem Schema aufgebaut: jdbc:oracle:thin:@//<hostname>:<port>/<service> Mithilfe des Eintrags:: <connection-init-sqls>ALTER SESSION SET CURRENT_SCHEMA=$SCHEMA;</connection-init-sqls> kann man den initalen Schema Präfix der Datenbank ändern. Wobei $SCHEMA ein Platzhalter für das zu verwendende Schema ist. z.B.:: <connection-init-sqls>ALTER SESSION SET CURRENT_SCHEMA=SEDDB;</connection-init-sqls> #. URL für Kartendienste Sollte der Host-Name des neuen Servers nicht flys3-devel.bafg.de lauten, muss man noch die entsprechenden Verweise auf den Kartendienst anpassen:: cd /opt/flys/flys-3.0.16/server/conf sed -i s@flys3-devel.bafg.de@<neue_url>@ rivermap.xml floodmap.xml #. URL für das Wiki: Die URL unter welcher das Flys-Wiki erwartet wird ist in server/conf/conf.xml im Eintrag <help-url> konfiguriert. Dies muss auch ggf. auf den neuen Host-Namen angepasst werden. Standard ist: https://flys3-devel.bafg.de/wiki #. Gewässerdaten auf das System kopieren: Die Gewässerdaten müssen auf das System übertragen werden und #. Gewässerdaten: Zur Berechnung von Überschwemmungsflächen werden digitale Geländemodelle benötigt. Der Ort an dem diese Daten liegen ist in der Datei server/conf/conf.xml als <dgm-path> zu konfigurieren. z.B.:: <dgm-path>/opt/gewaesser<dgm-path> ``Server starten`` ~~~~~~~~~~~~~~~~~~ #. Zurück auf root wechseln:: exit #. Startskript hinterlegen:: cp /opt/flys/d4e-river /etc/init.d chmod u+x /etc/init.d/d4e-river cd /etc/init.d/rc3.d ln -s ../d4e-river S10d4e-river ln -s ../d4e-river K10d4e-river cd /etc/init.d/rc5.d ln -s ../d4e-river S10d4e-river ln -s ../d4e-river K10d4e-river #. Server starten:: /etc/init.d/d4e-river start Nun kann man sich mit einem Blick in /var/log/flys/server-3.0.16.log vergewissern, dass der Server korrekt gestartet wurde. In diesem Fall wäre die letze Zeile des Logs in der Art:: INFO Standalone - Starting org.dive4elements.artifactdatabase.rest.Standalone HTTP server on localhost:18989 .. raw:: pdf PageBreak Kartendienste einrichten ------------------------ In SuSE Linux Enterprise ist kein Paket für den benötigten Mapserver vorhanden. Dieses muss manuell installiert werden (root):: cd /opt/flys/mapserver-pakete rpm -i --nodeps *.rpm Ob die Installation erfolgreich war kann man durch Abfrage der Mapserver Version testen:: /srv/www/cgi-bin/mapserv -v Nun können die Kartendienste (river-wms, user-wms) von Flys eingerichtet werden (als root):: cp /opt/flys/*-wms /srv/www/cgi-bin/ chmod a+x /srv/www/cgi-bin/*-wms Apache konfigurieren -------------------- Eine Beispielkonfiguration für den Apache Webserver ist die Datei flys.conf auf der beigelegten CD. Diese kann in das Apache vhosts.d Verzeichnis kopiert werden. In dieser muss ggf. der Redirect für das Geoportal angepasst werden, da in diesem die URL enthalten ist. Apache Konfiguration kopieren:: cp /opt/flys/flys.conf /etc/apache2/vhosts.d In der Konfigurationsdatei ``/etc/apache2/vhosts.d/flys.conf`` muss ggf. der redirect auf einen anderen Host geändert werden. Apache neu starten:: /etc/init.d/apache2 restart ``HTTPS einrichten`` ~~~~~~~~~~~~~~~~~~~~ Um verschlüsselten Zugriff über https einzurichten kann man o.g. Konfiguration entsprechend anpassen. Wie dies zu geschehen hat ist der Apache Dokumentation zu entnehmen und soll nicht Teil dieser Anleitung sein. Allerdings ist zu bemerken, dass darauf geachtet werden sollte, es weiterhin zu ermöglichen Kartendienste über http abzurufen. Dies kann man durch einen bedingten Redirect in der Konfiguration des VirtualHosts auf Port 80 erreichen:: RewriteEngine on RewriteCond %{REQUEST_URI} !^/cgi-bin/ RewriteRule (.*) https://flys3-devel.bafg.de/$1 [R=301,L] .. raw:: pdf PageBreak Web Client Installieren ----------------------- Der Web Client läuft als Tomcat Webapp. Damit Tomcat diesen startet muss der Client nur an die richtige Stelle kopiert werden. (als root):: /etc/init.d/tomcat6 stop cp /opt/flys/flys-3.0.16/client/flys-3.0.16.war /usr/share/tomcat6/webapps /etc/init.d/tomcat6 start Das Neustarten des Tomcat Servers ist hierbei optional, kann aber dazu dienen die Stabilität des Tomcat Servers zu verbessern. Ggf. ist noch der Eintrag print-url in der Datei ``/usr/share/tomcat/webapps/flys-3.0.16/WEB-INF/web.xml`` anzupassen insbesondere wenn man zwischen https und http wechselt. Default ist https. In der Datei ``/var/log/tomcat6/catalina.out`` kann man nachsehen ob der Start erfolgreich war. Gab es Probelme mit Java muss man ggf. die verwendete Java Version in /etc/tomcat6/tomcat6.conf anpassen indem man den Eintrag JAVA_HOME ändert:: JAVA_HOME="/usr/java/jdk1.6.0_26/jre" Wiki installieren ----------------- Das Wiki für den Fachdienst Flys ist so konfiguriert, dass es unter /home/flys/wiki erwartet wird. Wiki entpacken:: su - flys cd /home/flys tar -xf /opt/flys/flys-wiki.tar.gz exit Rechte für wwwrun setzen:: cd /home/flys/wiki/moin-2013-02-01/wiki/ chown -R wwwrun data underlay .. raw:: pdf PageBreak FLYS-Importer ------------- Um den Flys Importer nach /opt/flys zu installieren reicht es Diesen zu entpacken (als Nutzer flys).:: cd /opt/flys tar -xf /opt/flys-importer_201310251707.tar.gz Dieser liegt anschließend unter /opt/flys-importer bereit. Die Konfiguration und Verwendung ist der Importer Dokumentation zu entnehmen. Diese liegt nun unter:: /opt/flys/flys-importer/importer-manual.pdf AFT-DIPS -------- AFT Dips nach /opt/flys installieren:: cd /opt/flys/ tar -xf aft-dips-etl.tar.gz Ggf. muss nun noch die Konfiguration der Datenbanken angepasst werden. Die zugehörige Konfigurationsdatei ist:: /opt/flys/aft-dips-etl/conf/conf.xml Der Prozess kann nun ausgeführt werden:: /opt/flys/aft-dips-etl/bin/run.sh Logs des AFT/DIPS synchronisationsprozesses werden unter ``/opt/flys/aft-dips-etl/logs`` abgelegt.