comparison README @ 469:9ba41a46f6e5

README added hints for installation, license etc.
author Torsten Irländer <torsten.irlaender@intevation.de>
date Tue, 14 Jan 2014 15:08:35 +0100
parents 067ecffac15d
children dd2b468dc1c2
comparison
equal deleted inserted replaced
468:59f8a9a20e44 469:9ba41a46f6e5
1 Lada-Client 1 Lada-Client
2 =========== 2 ===========
3 Dies ist die Prototypversion eines EXTJS basierten Klienten für die
4 Verarbeitung von Labordaten (Lada) zur Überwachung der Umweltradioaktivität.
5
6 Die Software bietet grundlegende Funktionalität zur Erfassung und Bearbeitung
7 von Messdaten. Weitere Informationen finden sich auf der Projektwebseite unter
8 der Adresse:
9
10 https://wald.intevation.org/projects/lada/
11
12 Die Software entstand im Rahmen einer Software Entwicklung durch die
13 Intevation GmbH im Auftrag des Bundesamt für Strahlenschutz im Jahre 2013.
14
15 Lizenz
16 ------
17 Die Software unter der GPL Affero Lizenz verfügbar.
18
19 Quellen
20 -------
21 Die Quelldateien lassen sich wie folgt auschecken:
22 hg clone https://scm.wald.intevation.org/hg/lada/lada-client
23
24 Dokumentation
25 -------------
26 Die Dokumentation wird mit dem Tool JSDuck erzeugt.
27 Im Wurzelordner lässt sich nach der Installation von JSDuck dann mit dem
28 Befehl "jsduck" die Dokumentation für den Lada-Clienten erzeugen.
29 Die Dokumentation findet sich nach der Generierung in dem Order "doc".
30 Einstiegseite ist die Seite template.html.
31
32 JSDuck ist unter der Adresse
33
34 https://github.com/senchalabs/jsduck
35
36 zu finden und muss installiert werden.
37
38 Einstellung bezüglich der Generierung der Dokumentation ist in der Datei
39 jsduck.json hinterlegt.
3 40
4 Entwicklung 41 Entwicklung
5 ----------- 42 -----------
6 Für die Entwicklung ist es notwenig in dem Wurzelordner die ExtJS-Bibliothek 43 Für die Entwicklung ist es notwenig in dem Wurzelordner die ExtJS-Bibliothek
7 in der Version >=4.2.0 unter dem Namen "extjs" zur Verfügung zu stellen. 44 in der Version >=4.2.0 unter dem Namen "extjs" zur Verfügung zu stellen.
24 verfügbar ist, verwendet. 61 verfügbar ist, verwendet.
25 Diese muss in dem Ordner 'src' der vorher zur Verfügung gestellten ExtJS 62 Diese muss in dem Ordner 'src' der vorher zur Verfügung gestellten ExtJS
26 Bibliothek eingebunden werden. Dazu wird der Ordner 'i18n' in den Ordner 'src' kopiert 63 Bibliothek eingebunden werden. Dazu wird der Ordner 'i18n' in den Ordner 'src' kopiert
27 oder verlinkt. 64 oder verlinkt.
28 65
29 Installation 66 Build
30 ------------ 67 -----
31 Die Anwendung wird mit Hilfe des von Sencha bereitgestellten Tools 'Sencha Cmd' 68 Die Anwendung wird mit Hilfe des von Sencha bereitgestellten Tools 'Sencha Cmd'
32 compiliert und minifiziert. Vorbedingung für den Compilevorgang ist die unter 69 compiliert und minifiziert. Vorbedingung für den Compilevorgang ist die unter
33 Entwicklung beschriebene Verzeichnisstruktur. 70 Entwicklung beschriebene Verzeichnisstruktur.
34 71
35 Sencha Cmd kann unter der URL 72 Sencha Cmd kann unter der URL
46 83
47 Dies erzeugt in dem Ordner 'build' die minifizierte Version der Anwendung, die 84 Dies erzeugt in dem Ordner 'build' die minifizierte Version der Anwendung, die
48 alle benötigten Klassen der ExtJS Bibliothek beinhaltet und eine entsprechende 85 alle benötigten Klassen der ExtJS Bibliothek beinhaltet und eine entsprechende
49 index.html, die zur Auslieferung in einem Webserver verwendet werden kann. 86 index.html, die zur Auslieferung in einem Webserver verwendet werden kann.
50 87
51 Dokumentation 88 Installation
52 ------------- 89 ------------
53 Die Dokumentation wird mit dem Tool JSDuck erzeugt. 90 Für den Betrieb des Lada-Clients muss dieser innerhalb einer Webserver-Umgebung
54 Im Wurzelordner lässt sich nach der Installation von JSDuck dann mit dem 91 installiert werden. Die folgenden Hinweise geben eine Kurze Anleitung zur
55 Befehl "jsduck" die Dokumentation für den Lada-Clienten erzeugen. 92 Installation eines Apache-Webserver.
56 Die Dokumentation findet sich nach der Generierung in dem Order "doc".
57 Einstiegseite ist die Seite template.html.
58 93
59 JSDuck ist unter der Adresse 94 Hinweis: Für den Betrieb einer vollständigen Installation ist neben dem
95 Klienten auch die Installation eines Servers und entsprechender Datenbank
96 notwendig. Für die Installation des Servers folgen Sie bitte den Hinweisen in
97 der README Datei des Server-Pakets. Siehe Projektwebseite. Optional: Die
98 Authentifizierung kann gegen einen LDAP-Server durchgeführt werden. Beispiele
99 finde sich in dem Installationbeispiel.
60 100
61 https://github.com/senchalabs/jsduck 101 Die folgenden Hinweise beziehen sich auf die Installation und Einrichtung auf
102 Basis eines Oracle-RedHat Linux Systems.
62 103
63 zu finden und muss installiert werden. 104 Installation Apache
105 ```````````````````
106 Zunächst wird der Apache Webserver aus dem Repository installiert:
64 107
65 Einstellung bezüglich der Generierung der Dokumentation ist in der Datei 108 yum install httpd mod_ssl
66 jsduck.json hinterlegt. 109 service httpd start
110
111 Aktivierung der Apache Module
112 `````````````````````````````
113
114 Die Konfiguration, welche Module beim Start des Apache geladen werden, erfolgt
115 in der Datei "/etc/httpd/conf". Die zu ladende Module sind in dieser Datei mit
116 der Option "LoadModule" angegeben. Folgende Module werden benötigt:
117
118 * ldap_module: Authenitfizierung gegen den LDAP
119 * headers_module: Setzten der Header nach der Authenitifizierung
120 * proxy_module: Reverse Proxy des Apache zum Jboss-Server
121
122 Einrichtung der Anwendung
123 `````````````````````````
124 Zunächst hinterlegen wir die Anwendung in dem Server.
125
126 cd /var/www/html
127 hg clone https://scm.wald.intevation.org/hg/lada/lada-client/ lada
128 cd lada
129 git clone https://github.com/elmasse/Ext.i18n.Bundle.git
130 curl -O http://cdn.sencha.com/ext/gpl/ext-4.2.0-gpl.zip
131 unzip ext-4.2.0-gpl.zip
132 ln -s ext-4.2.0.663 extjs
133 rm ext-4.2.0-gpl.zip
134 cd extjs/src
135 ln -s ../../Ext.i18n.Bundle/i18n i18n
136
137 # Wichtig um SELinux dazu zu überreden das neue Verzeichnis auch zu
138 # servieren:
139 restorecon -Rv /var/www/html/
140
141 Die Anwendung sollte nun bereits unter der Adresse http://localhost/lada
142 erreichbar sein.
143
144 Konfiguration Proxy Server
145 ``````````````````````````
146 Damit der Client eine Verbindung zu dem Server aufbauen kann, um von dort
147 Daten laden zu können, ist es notwendig den Server weiter zu konfigurieren.
148
149 togglesebool httpd_can_network_connect
150 service httpd restart
151
152 Dies erlaubt dem Apache grundsätzlich sich mit einem anderen Dienst zu verbinden.
153 Nun muss noch ein Reverse-Proxy eingerichtet werden. Dieser ist nur für
154 bestimmte Adressen aktiv
155
156 Folgende Datei sollte unter "/etc/httpd/conf.d/lada.conf" angelegt werden:
157
158 <VirtualHost *:80>
159 ServerAdmin webmaster@localhost
160 #ServerName dummy-host.example.com
161 ErrorLog logs/lada-error_log
162 CustomLog logs/lada-access_log common
163
164 # Set multiple Proxys
165 ProxyPass /lada/server http://localhost:8080/lada
166 ProxyPassReverse /lada/server http://localhost:8080/lada
167 </VirtualHost>
168
169 Alle Anfragen an die Adresse "/lada/service", werden nun an den Server weitergeleitet.
170
171 Authentifizierung
172 `````````````````
173 Die Authentifizierung geschieht gegen einen LDAP-Server.
174
175 <Location /lada>
176 AuthType basic
177 AuthName "test"
178 AuthBasicProvider ldap
179 AuthLDAPURL "ldap://ike.polyhedra.intevation.de:389/cn=users,dc=icosahedron,dc=polyhedra,dc=intevation,dc=de?uid,memberof??(&(objectClass=inetOrgPerson)(memberOf=*))"
180 Require valid-user
181 </Location>
182
183 <Location /lada/server>
184 RequestHeader unset Authorization
185 RequestHeader set X-LDAP-User "%{AUTHENTICATE_uid}e"
186 RequestHeader set X-LDAP-Groups "%{AUTHENTICATE_memberof}e"
187 </Location>
188
189 Sofern gewünscht, kann die Authentifizierung für Testzwecke zu deaktivieren
190 werden. Trotz allem müssen die entsprechenden Header gesetzt werden, da der
191 Server zur Authentifizierung und Authorisierung erwartet.
192
193 # Set Headers to simulate Authentification.
194 <Location /lada/server>
195 RequestHeader set X-LDAP-User "mst_06010"
196 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"
197 </Location>

http://lada.wald.intevation.org