Mercurial > lada > lada-client
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> |