comparison INSTALL @ 411:f7fa401563ee

Added INSTALL file.
author Raimund Renkert <rrenkert@intevation.de>
date Mon, 20 Jan 2014 12:43:55 +0100
parents
children dfe537458afb
comparison
equal deleted inserted replaced
410:81c27c533060 411:f7fa401563ee
1 Einrichtung der Anwendung LADA
2 ==============================
3
4 Dies ist die Prototypversion der Serverkomponente für die Anwendung LADA zur
5 Verarbeitung und Erfassung von Labordaten.
6
7 Die Software bietet grundlegende Funktionalität zur Erfassung und Bearbeitung
8 von Messdaten. Weitere Informationen finden sich auf der Projektwebseite unter
9 der Adresse:
10
11 https://wald.intevation.org/projects/lada/
12
13 Die Software entstand im Rahmen einer Software Entwicklung durch die
14 Intevation GmbH im Auftrag des Bundesamt für Strahlenschutz im Jahre 2013.
15
16 Lizenz
17 ------
18 Die Software unter der GNU GPL v>=3 Lizenz verfügbar. Details siehe die Datei
19 COPYING.
20
21 Quelltext
22 ---------
23 Die Quelldateien lassen sich wie folgt auschecken:
24 hg clone https://scm.wald.intevation.org/hg/lada/lada-server
25
26
27 Installation
28 ============
29
30 Die Installation der Serverkomponente erfordert folgende Vorraussetzungen:
31
32 * PostgreSQL-9.2/PostGIS-2.0 Datenbank inklusive Testdaten
33 * JBoss-AS
34
35
36 Datenbank
37 ---------
38 Die LADA Anwendung basiert auf einer PostgreSQL/PostGIS Datenbank in den
39 Versionen PostgreSQL 9.2/PostGIS 2.0.
40 Beipieldaten sind in dem Datenbankdump lada-db.zip verfügbar und können
41 in eine PostgreSQL/PostGIS Datenbank importiert werden.
42 Der dadurch verfügbare Testdatensatz enthält zusätzlich Daten zu Gemeinden und
43 Verwaltungen in Deutschland, die vom BKG zur Verfügung gestellt werden.
44
45 Einrichtung der Datenbankverbindung im JBoss AS
46 -----------------------------------------------
47 Die Datenbankverbindung wird im Application Server eingerichtet. Hierzu muss der
48 entsprechende Treiber zunächst als Modul eingefügt werden. Die folgenden
49 Schritte setzen vorraus, dass der JBoss AS in dem Ordner
50 /opt/jboss-as-7.1.1-Final installiert ist.
51
52 1. Anlegen des Verzeichnisses und herunterladen der Treiber.
53
54 $cd /opt/jboss-as-7.1.1.Final/modules/org
55 $mkdir -p postgresql/main/
56 $cd postgresql/main
57 $curl -O "http://jdbc.postgresql.org/download/postgresql-9.2-1002.jdbc4.jar"
58 $curl -O "http://www.hibernatespatial.org/repository/org/postgis/postgis-jdbc/1.5.2/postgis-jdbc-1.5.2.jar"
59
60 2. In dem Ordner /opt/jboss-as-7.1.1.Final/modules/org/postgresql/main/ eine
61 Datei module.xml mit folgendem Inhalt anlegen.
62
63 <?xml version="1.0" encoding="UTF-8"?>
64 <module xmlns="urn:jboss:module:1.0" name="org.postgresql">
65 <resources>
66 <resource-root path="postgresql-9.2-1002.jdbc4.jar"/>
67 <resource-root path="postgis-jdbc-1.5.2.jar"/>
68 </resources>
69 <dependencies>
70 <module name="javax.api"/>
71 <module name="javax.transaction.api"/>
72 </dependencies>
73 </module>
74
75 3. Einfügen der Hibernate-Spatial Komponenten.
76
77 $cd /opt/jboss-as-7.1.1.Final/modules/org/hibernate/main
78 $curl -O "http://www.hibernatespatial.org/repository/org/hibernate/hibernate-spatial/4.0/hibernate-spatial-4.0.jar"
79 $curl -O "http://repo1.maven.org/maven2/com/vividsolutions/jts/1.13/jts-1.13.jar"
80
81 4. Eintragen der Hibernate-Spatial Komponenten in
82 /opt/jboss-as-7.1.1.Final/modules/org/hibernate/main/module.xml
83
84 <resources>
85 ...
86 <resource-root path="hibernate-spatial-4.0.jar"/>
87 <resource-root path="jts-1.13.jar"/>
88 </resources>
89 <dependencies>
90 ...
91 <module name="org.postgresql"/>
92 </dependencies>
93
94 5. Einfügen des PostgreSQL Moduls als Treiber in die JBoss Konfiguration.
95
96 In den Abschnitt <datasources> folgenden Block einfügen:
97
98 <driver name="postgis" module="org.postgresql">
99 <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
100 </driver>
101
102
103 Nun kann man eine neue Datenbankverbindung mit dem neuen Treiber einrichten.
104 Dazu verbindet man sich mit dem soeben angelegten Management-Nutzer mit der
105 Administrations-Webinterface unter der Adresse: http://localhost:9990
106
107 1. Datesources auswählen. Hier werden alle derzeit eingerichteten Datenquellen
108 angzeigt. Wir wollen eine neue einrichten. Hierzu
109 2. Oben rechts von "Runtime" auf "Profile" wechseln.
110 3. "Add" wählen.
111 4. Name: Lada, JNDI: java:/jboss/Lada
112 5. Treiber Wählen: postgis
113 6. Weitere Verbindungsparameter angeben.
114 a) connection url: jdbc:postgresql_postGIS://localhost:5432/lada
115 b) Nutzer
116 c) Password
117
118 7.Da während dieser Einrichtung die Standard PostgreSQL Treiberklasse gewählt
119 wird, muss diese noch in der Datei
120 /opt/jboss-as-7.1.1.Final/standalone/configuration/standalone.xml
121 geändert werden:
122 Hierzu wird im Abschnitt <datasources> für die neu angelegte Datenquelle
123 <driver-class>org.postgresql.Driver</driver-class> gegen
124 <driver-class>org.postgis.DriverWrapper</driver-class> ausgetauscht.
125
126 Installation der LADA Anwendung
127 ===============================
128 Zur Installation der LADA Anwendung müssen folgende Schritte unternommen werden:
129
130 $cd /opt/jboss-as-7.1.1.Final/standalone/deployments
131 $cp /path/where/the/war/file/is/lada.war .
132 $touch lada.war.dodeploy
133
134 Zum Aktualisieren der Anwendung genügt es, wenn die lada.war Datei aktualisiert
135 wird.
136
137 Die Anwendung ist dann unter dem Pfad "/lada" (abhängig vom Archivnamen)
138 erreichbar.
139
140 Konfiguration der LADA Anwendung
141 ================================
142 Die Konfigurationsdateien sind Dateien im JSON-Format und können an einer
143 beliebigen Stelle im System abgelegt werden, solang diese Dateien für den
144 Nutzer, mit dem JBoss-Server gestartet wird, gelesen werden kann.
145
146 Bei Änderungen an der Konfigurationsdatei muss der Server nicht neu gestartet
147 werden. Es reicht ein erneutes Laden der Anwendung durch den Client.
148 Vorbereitete und vollständige Konfigurationsdateien sind in dem Ordner
149 'config' zu finden.
150
151 Importer
152 --------
153 Der Pfad an dem diese Konfigurationsdatei zu finden ist wird in einer JBoss
154 Konfigurationsdatei "standalone.xml" abgelegt. Diese Datei findet sich im JBoss
155 Ordner ($JBOSSHOME/standalone/configuration/standalone.xml).
156
157 In dieser Datei wird der Pfad in Form einer Property abgelegt:
158
159 <server xmlns="urn:jboss:domain:1.2">
160 ...
161
162 <system-properties>
163 <property name="de.intevation.lada.importconfig"
164 value="/pfad/zur/konfigurations/datei/des/importers.json"/>
165 </system-properties>
166
167 ...
168 </server>
169
170 Flexible Suche
171 --------------
172 Der Pfad an dem diese Konfigurationsdatei zu finden ist wird in einer JBoss
173 Konfigurationsdatei "standalone.xml" abgelegt. Diese Datei findet sich im JBoss
174 Ordner ($JBOSSHOME/standalone/configuration/standalone.xml).
175
176 In dieser Datei wird der Pfad in Form einer Property abgelegt:
177
178 <server xmlns="urn:jboss:domain:1.2">
179 ...
180
181 <system-properties>
182 ...
183 <property name="de.intevation.lada.sqlconfig"
184 value="/pfad/zur/konfigurations/datei/der/abfragen.json"/>
185 </system-properties>
186
187 ...
188 </server>
189
190 Einrichtung des Webservers (Apache)
191 ===================================
192 Die folgenden Module des Apache Webserver sind nötig, um die LADA Anwendung zu
193 betreiben:
194 * ldap_module: Authenitfizierung gegen den LDAP
195 * headers_module: Setzten der Header nach der Authenitifizierung
196 * proxy_module: Reverse Proxy des Apache zum Jboss-Server
197
198 Damit der Client eine Verbindung zu dem Server aufbauen kann, um von dort Daten
199 laden zu können ist es notwendig den Server weiter zu konfigurieren.
200
201 togglesebool httpd_can_network_connect
202 service httpd restart
203
204 Dies erlaubt dem Apache grundsätzlich sich an einen anderen Dienst zu verbinden.
205
206 Nun muss noch ein Reverse-Proxy eingerichtet werden. Dieser ist nur für
207 bestimmte Adressen aktiv
208
209 Folgende Datei sollte unter "/etc/httpd/conf.d/lada.conf" angelegt werden:
210
211 <VirtualHost *:80>
212 ServerAdmin webmaster@localhost
213 #ServerName dummy-host.example.com
214 ErrorLog logs/lada-error_log
215 CustomLog logs/lada-access_log common
216
217 # Set multiple Proxys
218 ProxyPass /lada/server http://localhost:8080/lada
219 ProxyPassReverse /lada/server http://localhost:8080/lada
220 </VirtualHost>
221
222 Alles Anfragen an die Adresse "/lada/service" werden nun an den JBoss
223 weitergeleitet.
224
225 Authentifizierung
226
227 Die Authentifizierung geschieht gegen einen LDAP-Server.
228
229 <Location /lada>
230 AuthType basic
231 AuthName "test"
232 AuthBasicProvider ldap
233 AuthLDAPURL "ldap://ike.polyhedra.intevation.de:389/cn=users,dc=icosahedron,dc=polyhedra,dc=intevation,dc=de?uid,memberof??(&(objectClass=inetOrgPerson)(memberOf=*))"
234 Require valid-user
235 </Location>
236
237 <Location /lada/server>
238 RequestHeader unset Authorization
239 RequestHeader set X-LDAP-User "%{AUTHENTICATE_uid}e"
240 RequestHeader set X-LDAP-Groups "%{AUTHENTICATE_memberof}e"
241 </Location>
242
243 Sofern gewünscht ist die Authentifizierung für Testzwecke zu deaktivieren muss
244 trotz allem die entsprechenden Header gesetzt werden, da der Server diese
245 derzeit erwartet.
246
247 # Set Headers to simulate Authentification.
248 <Location /lada/server>
249 RequestHeader set X-LDAP-User "mst_06010"
250 RequestHeader set X-LDAP-Groups "cn=Imis_world,cn=groups,dc=icosahedron,dc=polyhedra,dc=intevation,dc=de;cn=mst_06010,cn=groups,dc=icosahedron,dc=polyhedra,dc=intevation,dc=de;cn=mst_11010,cn=groups,dc=icosahedron,dc=polyhedra,dc=intevation,dc=de"
251 </Location>
252
253 Dokumentation
254 =============
255 Eine HTML-Dokumenation des Quellcodes(Javadoc) ist in dem Ordner 'doc' hinterlegt und
256 kann über einen Webserver (z.B. Apache WebServer) bereitgestellt werden.
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)