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