view artifacts/doc/installation_de.rst @ 7449:5363047c8274

Start installation documentation for specific client installation
author Andre Heinecke <andre.heinecke@intevation.de>
date Sun, 27 Oct 2013 17:30:38 +0100
parents
children b6e954fa8b82
line wrap: on
line source
=================
FLYS Installation
=================

.. contents:: Inhalt

Übersicht
---------

Dieses Dokument beschreibt die Installation des Fachdienstes FLYS.

Abgehandelt werden die Installation der Server Anwendung (D4E-River),
der Webanwendung, die Einrichtung der Datenbanken sowie die Einrichtung
des Moin Wikis.

Als Basis dient ein SUSE Linux Enterprise Server in Version 11.2.

Vorbereitung des Systems
---------------------------

Die Vorbereitung des Systems ist als Root auf dem Zielsystem durchzuführen.

#. Installieren der Benötigten Pakete::

    zypper install python-devel python-setuptools libxslt-devel libxml2-devel \
        mozilla-nss-devel apache2 tomcat6 mapserver

#. Anlegen der Logger Gruppe::

    gropadd flys_log

#. Anlegen des Flys Nutzers::

    useradd -g flys -G users,flys_log,www -m -c "Flys Service User" flys

#. tomcat und apache zur flys_log Gruppe hinzufügen::

    usermod -G flys_log,tomcat tomcat
    usermod -G flys_log,wwwrun,www wwwrun

#. Logging Verzeichnis anlegen::

    mkdir /var/log/flys
    chgrp flys_log /var/log/flys
    chmod 770 /var/log/flys

#. Betriebsordner Anlegen::

    mkdir /opt/flys
    chown flys /opt/flys

Anschließend sollte der weitere Inhalt der beiliegenden CD nach /opt/flys
kopiert werden und dem Benutzer flys zugägnlich gemacht werden.

Datenbank initalisieren
-----------------------

``Datenbank erstellen``
~~~~~~~~~~~~~~~~~~~~~~~

Das erstellen der Datenbank sollte vom zuständigen DB-Admin bereits durchgeführt worden
sein. Wichtig ist insbesondere das der Nutzer zugriff auf die Spatial tabellen besitzt.
Im folgenden ein Beispiel:

.. code:: sql

    --CREATE TABLESPACE for user
    CREATE TABLESPACE "flys3" DATAFILE
        '/u01/app/oracle/oradata/XE/flys3.dbf' SIZE 500M AUTOEXTEND ON NEXT
        100M MAXSIZE 1G LOGGING ONLINE PERMANENT BLOCKSIZE 8192 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, RESOURCE TO flys3;


``Schema importieren``

Abweichend von der hier beschriebenen Vorgehensweise kann natürlich ein
alternativer client verwendet werden. Wichtig ist das die folgenden
SQL scripte in dieser Reihenfolge und in einer UTF-8 Umgebung
ausgeführt werden:

#. oracle.sql
#. oracle-minfo.sql
#. oracle-spatial.sql
#. oracle-spatial_idx.sql


Mit einem vorhandenden sqlplus unter /opt/instantclient_11_2::

    NLS_LANG=.AL32UTF8 rlwrap /opt/instantclient_11_2/sqlplus <user>/<pass>@<ip>:<port>/<dbname>
    @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

D4E-River Server Installieren
-----------------------------

Neue Versionen des gesamten FLYS Pakets werden üblicherweise als
GZIP komprimierter Tarball mit dem Namenschema flys-VERSION.tar.gz
zur verfügung gestellt. Als Beispiel wird hier die Version 3.0.16
angenommen.

``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::

    rm -f flys-current
    ln -s flys-3.0.16 flys-current

``Server konfigurieren``
~~~~~~~~~~~~~~~~~~~~~~~~
#. Datenbank verbindung:

    Die externen Datenbanken von Dive4Element River werden in den Dateien
    server/conf/backend-db.xml und server/conf/seddb-db.xml konfiguriert.

    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>/<backend>

    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 Platzhalterfü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 @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:
    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>/home/teichmann/gewaesser-final/</dgm-path>

``Server starten``
~~~~~~~~~~~~~~~~~~

#. Zurück auf root wechseln::

    exit

#. Startscript hinterlegen::

    cp /opt/flys/d4e-river /etc/init.d
    cd /etc/init.d/rc3.d
    ln -s S10d4e-river ../d4e-river
    ln -s K10d4e-river ../d4e-river
    cd /etc/init.d/rc5.d
    ln -s S10d4e-river ../d4e-river
    ln -s K10d4e-river ../d4e-river

#. Server starten::

    /etc/init.d/d4e-river start

Nun kann sich mit einem Blick in /var/log/server-3.0.16.log
vergewissern das 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

Kartendienste einrichten
------------------------

Nun können die Kartendienste (river-wms, user-wms) von flys eingerichtet
werden (als root)::

    cp /opt/flys/*-wms /srv/www/cgi-bin/

Apache konfigurieren
--------------------

** TODO **

``HTTPS einrichten``
~~~~~~~~~~~~~~~~~~~~

** TODO **

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.::

    /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.

Wiki Installieren
-----------------

** TODO **

``SAML``
~~~~~~~~

** TODO **

http://dive4elements.wald.intevation.org