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