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