changeset 56:f027204baf5d

Added HOWTO to setup the environment artifacts/trunk@325 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 11 Nov 2009 16:25:26 +0000 (2009-11-11)
parents 9a29899b31e5
children cf9848c85755
files ChangeLog HOWTO
diffstat 2 files changed, 282 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Nov 04 14:38:37 2009 +0000
+++ b/ChangeLog	Wed Nov 11 16:25:26 2009 +0000
@@ -1,3 +1,8 @@
+2009-11-11  Ingo Weinzierl <ingo.weinzierl@intevation.de>
+
+	* HOWTO: Added HOWTO describing the setup of the environment (apache, 
+	  tomcat, gnv).
+
 2009-11-04	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
 
 	* artifacts/src/main/java/de/intevation/artifacts/Artifact.java: describe() now may
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/HOWTO	Wed Nov 11 16:25:26 2009 +0000
@@ -0,0 +1,277 @@
+-------------------------------------------------------------------------------
+Installation JDK
+
+F�r den Betrieb des Generischen Viewers und der Artefakt-Datenbank wird Java
+ben�tigt. Um Sun Java �ber die Apt-Pakete zu installieren, ist es notwendig die
+'non-free' Quellen in die Apt-Quellen einzutragen. Folgender Eintrag ist in die
+Quellen einzutragen:
+    deb http://hetzner:download@download.hetzner.de/debian/mirror lenny main contrib non-free
+
+Anschlie�end m�ssen folgende Befehle abgesetzt werden, um die Pakete
+sun-java6-jdk zu installieren:
+    aptitude update
+    aptitude install sun-java6-jdk
+
+Der Befehl
+    java -version
+sollte anschlie�end etwas ergeben, was dem folgenden �hnelt. 
+
+    java version "1.6.0_12"
+    Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
+    Java HotSpot(TM) Client VM (build 11.2-b01, mixed mode, sharing)
+
+Die Installation ist erfolgreich abgeschlossen.
+
+
+-------------------------------------------------------------------------------
+Installation/Konfiguration Apache HTTP
+
+F�r eine Installation von Apache wir unter anderem das Paket libapache2-mod-jk2
+ben�tigt. Es stellt Connectoren bereit, um den Apache Webserver mit dem Tomcat
+Server zu verbinden.
+    aptitude install libapache2-mod-jk2
+Dieser Befehl ist f�r eine Installation des Apache Webservers ausreichend. Alle
+weiteren ben�tigten Pakete werden automatisch mit installiert.
+
+Nach der Installation der Pakete m�ssen ein paar kleine Einstellungen
+vorgenommen werden, die den Pfad des Tomcat und des JDKs festlegen. Dazu �ffne
+man die Datei /etc/libapache2-mod-jk/workers.properties mit einem Editor seiner
+Wahl, und �ndere die folgenden Zeilen:
+
+    gvim /etc/libapache2-mod-jk/workers.properties
+
+    - workers.tomcat_home=/usr/share/tomcat5
+    + workers.tomcat_home=/usr/share/tomcat5.5
+
+    - workers.java_home=/usr/lib/jvm/java-gcj
+    + workers.java_home=/usr/lib/jvm/java-6-sun/jre
+
+Des Weiteren sind in der http.conf des Apache2 folgende Eintr�ge hinzuzuf�gen:
+
+    gvim /etc/apache2/http.conf
+
+    + JkWorkersFile "/etc/libapache2-mod-jk/workers.properties"
+    + JkLogFile "/var/log/mod_jk.log"
+
+In der Datei /etc/sites-available/default wird anschlie�end folgender Eintrag
+ben�tigt, um das Forwarding vom Apachen zum Tomcat f�r den GenerischenViewer
+einzurichten:
+
++ JkMount /gnv   ajp13_worker
++ JkMount /gnv/* ajp13_worker
+
++ <Location /gnv>
++     AuthType Basic
++     AuthName "BSH GenViewer"
++     AuthBasicProvider file
++     AuthUserFile /etc/apache2/passwd/genviewer
++     Require valid-user
++
++     # Insert filter
++     SetOutputFilter DEFLATE
++
++     # Netscape 4.x has some problems...
++     BrowserMatch ^Mozilla/4 gzip-only-text/html
++
++     # Netscape 4.06-4.08 have some more problems
++     BrowserMatch ^Mozilla/4\.0[678] no-gzip
++
++     # MSIE masquerades as Netscape, but it is fine
++     BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
++     # Don't compress images
++     SetEnvIfNoCase Request_URI \
++     \.(?:gif|jpe?g|png)$ no-gzip dont-vary
++
++     # Make sure proxies don't deliver the wrong content
++     Header append Vary User-Agent env=!dont-vary
++         </Location>
++
++     <Location /servlets-examples/>
+
+Diese Konfiguration bedarf noch der Aktivierung eines Apache Moduls, was mit
+folgendem Aufruf getan wird:
+
+    a2enmod headers
+
+Die Konfiguration des Apache ist beendet. Starten Sie den Webserver mit
+folgendem Aufruf:
+
+    /etc/init.d/apache2 start
+
+Bei erfolgreicher Installation sollten im Browser bei der Adresse
+http://localhost folgender Text ausgegeben werden:
+
+    It works!
+
+-------------------------------------------------------------------------------
+Installation/Konfiguration Tomcat
+
+F�r den Betrieb des Tomcat Servers werden die Pakete tomcat5.5 und
+tomcat5.5-webapps ben�tigt. Installieren Sie diese �ber die Apt-Quellen mit
+folgendem Befehl:
+    
+    aptitude install tomcat5.5 tomcat5.5-webapps
+
+Anschlie�end deaktivieren wir den Standard-HTTP-Connector des Tomcat. Dieser
+soll nicht direkt angesprochen werden k�nnen, sondern nur �ber den Apache
+erreichbar sein. Dazu wird in der Datei /usr/share/tomcat5.5/conf/server.xml
+folgender Code auskommentiert:
+
+    <!--
+        <Connector port="8180" maxHttpHeaderSize="8192" address="127.0.0.1"
+               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
+               enableLookups="false" redirectPort="8443" acceptCount="100"
+               connectionTimeout="20000" disableUploadTimeout="true" />
+    -->
+
+Damit der AJP-Connector, der zur Verbindung des Apache und des Tomcat dient, nur
+auf die Adresse 127.0.0.1, also auf den localhost, lauscht, wird folgende Zeile
+in der Datei /etc/tomcat5.5/server.xml ausgetauscht:
+
+    - <Connector port="8009"
+    -  enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
+
+    + <Connector port="8009" address="127.0.0.1"
+    +  enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
+
+Die Konfiguration des Tomcat ist nun beendet. Dieser l�sst sich mit folgendem
+Kommando starten:
+
+    /etc/init.d/tomcat5.5 start
+
+-------------------------------------------------------------------------------
+Download/Installation Geo-Backend
+
+Die Installation des Geo-Backends ben�tigt neben dem Repository des Geo-Backends
+selbst noch eine weitere, aus denen Jar-Files f�r ben�tigt werden. Laden Sie sich
+also folgende Quellen herunter (${GNV} steht hier f�r das Verzeichnis, in das
+Sie die Quellen laden):
+
+    svn co /path/to/conterra-repo ${GNV}/conterra-repo
+    svn co /path/to/geo-backend/trunk ${GNV}/geo-backend
+
+Zuerst m�ssen die Bibliotheken installiert werden, von denen das Geo-Backend
+abh�ngig ist. Dazu folgende Befehle, die die Jar-Files in das lokale Maven
+Repository kopiert (in der Regel nach ~/.m2). Diese k�nnen sp�ter von Maven
+automatisch dazugeladen werden, wenn Abh�ngigkeiten zu ihnen bestehen:
+
+    cd ${GNV}/conterra-repo
+    mvn install:install-file -DgroupId=com.esri.sde -DartifactId=jsde_sdk \
+       -Dversion=9.2.5 -Dpackaging=jar -Dfile=conterra-repo/com/esri/sde/jsde_sdk/9.2.5/jsde_sdk-9.2.5.jar
+
+    mvn install:install-file -DgroupId=com.esri.sde -DartifactId=jpe_sdk  \
+       -Dversion=9.2.5 -Dpackaging=jar -Dfile=conterra-repo/com/esri/sde/jpe_sdk/9.2.5/jpe_sdk-9.2.5.jar
+
+    mvn install:install-file -DgroupId=com.ibm -DartifactId=icu4j \
+       -Dversion=3.2 -Dpackaging=jar -Dfile=conterra-repo/com/ibm/icu4j/3.2/icu4j-3.2.jar
+
+Danach wechselt man in das Verzeichnis des Geo-Backends und setzt folgende
+Maven Befehle ab, die die Quellen compilieren und ebenfalls in das lokale Maven
+Repository installieren: 
+
+    cd ${GNV}/geo-backend
+    mvn -Dmaven.test.skip=true clean compile package
+    mvn install:install-file \
+        -DgroupId=de.intevation.bsh.geo-backend \
+        -DartifactId=geo-backend \
+        -Dversion=1.0-SNAPSHOT \
+        -Dpackaging=jar \
+        -Dfile=target/geo-backend-1.0-SNAPSHOT.jar
+
+-------------------------------------------------------------------------------
+Download/Installation Artifact-Server
+
+Laden Sie die Quellen des Artefakt-Servers mit folgendem svn Befehl herunter:
+    
+    svn co /path/to/artifacts/trunk ${GNV}/artifacts
+
+Compilieren Sie die Quellen und installieren sie das Jar-File mit folgendem
+Befehl in das lokale Maven Repository:
+
+    cd ${GNV}/artifacts
+    mvn -Dmaven.test.skip=true clean compile install
+
+Zur Installation des Artefakt-Servers werden die Verzeichnisse
+/opt/artifacts/bin und /opt/artifacts/conf ben�tigt, in die die Start-Scripte
+und Konfigurationen kopiert werden:
+
+    mkdir -p /opt/artifacts/bin             (Ort f�r Startscripte)
+    mkdir /opt/artifacts/bin/lib            (Ort f�r ben�tigte Bibliotheken)
+    mkdir /opt/artifacts/conf               (Ort f�r die Konfiguration der Artefakte)
+    mkdir /opt/artifacts/artifact-database  (Ort der Artefakt-Datenbank)
+
+Kopieren Sie anschlie�end das Start-Script ${GNV}/artifacts/bin/run.sh nach
+/opt/artifacts/bin und geben dem Script Ausf�hrrechte:
+    
+    cp ${GNV}/artifacts/bin/run.sh /opt/artifacts/bin
+    chmod 750 /opt/artifacts/bin
+
+-------------------------------------------------------------------------------
+Download/Installation GNV-Artefakte
+
+Laden Sie die Quellen der GNV-Artefakte folgenderma�en herunter:
+
+    svn co /path/to/gnv-artifacts/trunk ${GNV}/gnv-artifacts
+
+Compilieren Sie die Quellen mit folgendem Befehl (Abh�ngigkeiten werden
+automatisch aus dem lokalen Maven Repo geladen):
+
+    cd ${GNV}/gnv-artifacts
+    mvn -Dmaven.test.skip=true \
+      clean compile \
+      dependency:copy-dependencies \
+      package
+
+Setzen abschlie�end folgenden Befehl ab, der die ben�tigten Bibliotheken zu
+einem Zip-Archiv packt. Diese werden sp�ter im Artefakt-Server ben�tigt:
+
+    find target -name \*.jar -print | zip ${GNV}/libs.zip  -j -@
+
+-------------------------------------------------------------------------------
+Abschlie�ende Konfiguration der Komponenten
+
+Entpacken Sie nun das erstellte Zip-Archiv nach /opt/artifacts/bin/lib :
+
+    unzip ${GNV}/libs.zip -d /opt/artifacts/bin/lib/
+
+Kopieren Sie die Konfiguration der Artefakte nach /opt/artifacts/conf :
+
+    cp -R ${GNV}/gnv-artifacts/doc/* /opt/artifacts/conf/
+
+Am Ende der Konfigurationsdatei /opt/artifacts/conf/conf.xml k�nnen
+Einstellungen der Datenbank vorgenommen werden. �ndern Sie dort den User in
+einen beliebigen Nutzer $USER und das Passwort in ein beliebiges Passwort
+$PASSWORT. Setzen Sie den Pfad der der Datenbank au�erdem auf
+/opt/artifacts/artifact-database: 
+
+    vim /opt/artifacts/conf/conf.xml
+    - <user>USER</user>
+    - <password>PASSWORD</password>
+    - <!-- url>jdbc:h2:/opt/artifacts/artifacts/artifacts.db</url>
+
+    + <user>$USER</user>
+    + <password>$PASSWORD</password>
+    + <!-- url>jdbc:h2:/opt/artifacts/artifact-database/artifacts.db</url>
+
+
+Diese Einstellungen werden nun beim Anlegen der Datenbank ben�tigt. Dazu setzen
+Sie folgende Befehle ab und setzen an Stelle von $USER und $PASSWORD den von 
+ihnen konfigurierte Nutzer und entsprechendes Passwort sowie den Pfad zur 
+Datenbank ein:
+
+    cd /opt/artifacts
+    java -cp bin/lib/h2-1.1.117.jar org.h2.tools.RunScript \
+      -user $USER \
+      -password $PASSWORD \
+      -url jdbc:h2:artifact-database/artifacts.db \
+      -script ${GNV}/artifacts/artifact-database/doc/schema-h2.sql
+
+-------------------------------------------------------------------------------
+Start des GNV
+
+Sollten Sie den Apache2 Webserver bzw den Tomcat Server noch nicht gestartet
+haben, tun Sie dies nun. Desweiteren starten Sie den Artefakt-Server mit
+folgendem Befehl:
+
+    cd /opt/artifacts/bin
+    ./run.sh

http://dive4elements.wald.intevation.org