# HG changeset patch # User Dustin Demuth # Date 1437573714 -7200 # Node ID c63ecb95dffb281b19d419b7369f6d1f72eb0c9e # Parent 729bfea7e8b1c1c9fac43b993eb6a85a45dfc0cf move INSTALL to a markdown File diff -r 729bfea7e8b1 -r c63ecb95dffb INSTALL --- a/INSTALL Tue Jul 21 12:05:19 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,135 +0,0 @@ -Installation Lada-Client -======================== -Für allgemeine Informationen schauen Sie in die README Datei. - -Installation ------------- -Für den Betrieb des Lada-Clients muss dieser innerhalb einer Webserver-Umgebung -installiert werden. Die folgenden Hinweise geben eine Kurze Anleitung zur -Installation eines Apache-Webserver. - -Hinweis: Für den Betrieb einer vollständigen Installation ist neben dem -Klienten auch die Installation eines Servers und entsprechender Datenbank -notwendig. Für die Installation des Servers folgen Sie bitte den Hinweisen in -der README Datei des Server-Pakets. Siehe Projektwebseite. Optional: Die -Authentifizierung kann gegen einen LDAP-Server durchgeführt werden. Beispiele -finde sich in dem Installationbeispiel. - -Die folgenden Hinweise beziehen sich auf die Installation und Einrichtung auf -Basis eines Oracle-RedHat Linux Systems. - -Compilieren und Minifizieren der Anwendung -`````````````````````````````````````````` -Zum Compilieren der Anwendung kommt das Tool Sencha Cmd 4.0.x zum Einsatz. -Mit Hilfe dieses Tools kann der Quellcode in eine einzelne Datei zusammengefasst -und minifiziert werden. -Der Befehl hierzu lautet: - - sencha --sdk /home/rrenkert/lib/ext-4.2.1.883 compile \ - --classpath=app,resources/datetime,resources/i18n page -str -cla lada.js \ - -yui -i index.html -o build/index.html - -Das Verzeichnis 'build' enthält dann eine Datei 'index.html' und eine Datei -'lada.js'. Die Datei 'lada.js' ist eine komprimierte Version der Anwendung und -enthält alle benötigteten Klassen. -Für die Produktivversion müssen die folgenden Dateien zusätzlich in das -Verzeichnis 'build' kopiert werden: - - Quelldatei Zieldatei - ---------- --------- -extjs/resources/css/ext-all-gray.css build/extjs/resources/css/ext-all-gray.css -extjs/resources/ext-theme-gray/ext-theme-gray-all.css build/extjs/resources/ext-theme-gray/ext-theme-gray-all.css -resources/Lada.properties build/resources/Lada.properties -resources/Lada_de-DE.properties build/resources/Lada_de-DE.properties -gfx/* build/gfx/ - - -Installation Apache -``````````````````` -Zunächst wird der Apache Webserver aus dem Repository installiert: - - yum install httpd mod_ssl - service httpd start - -Aktivierung der Apache Module -````````````````````````````` - -Die Konfiguration, welche Module beim Start des Apache geladen werden, erfolgt -in der Datei "/etc/httpd/conf". Die zu ladende Module sind in dieser Datei mit -der Option "LoadModule" angegeben. Folgende Module werden benötigt: - - * ldap_module: Authenitfizierung gegen den LDAP - * headers_module: Setzten der Header nach der Authenitifizierung - * proxy_module: Reverse Proxy des Apache zum Jboss-Server - -Einrichtung der Anwendung -````````````````````````` -Zunächst hinterlegen wir die Anwendung in dem Server. Hierzu verwenden wir die -gebaute Version, welche sich im "build" Ordner befindet (Siehe Build). - -cd /var/www/html -mkdir lada -cp -r build/* lada - -# Wichtig um SELinux dazu zu überreden das neue Verzeichnis auch zu -# servieren: -restorecon -Rv /var/www/html/ - -Die Anwendung sollte nun bereits unter der Adresse http://localhost/lada -erreichbar sein. - -Konfiguration Proxy Server -`````````````````````````` -Damit der Client eine Verbindung zu dem Server aufbauen kann, um von dort -Daten laden zu können, ist es notwendig den Server weiter zu konfigurieren. - - togglesebool httpd_can_network_connect - service httpd restart - -Dies erlaubt dem Apache grundsätzlich sich mit einem anderen Dienst zu verbinden. -Nun muss noch ein Reverse-Proxy eingerichtet werden. Dieser ist nur für -bestimmte Adressen aktiv - -Folgende Datei sollte unter "/etc/httpd/conf.d/lada.conf" angelegt werden: - - - ServerAdmin webmaster@localhost - #ServerName dummy-host.example.com - ErrorLog logs/lada-error_log - CustomLog logs/lada-access_log common - - # Set multiple Proxys - ProxyPass /lada/server http://localhost:8080/lada - ProxyPassReverse /lada/server http://localhost:8080/lada - - -Alle Anfragen an die Adresse "/lada/service", werden nun an den Server weitergeleitet. - -Authentifizierung -````````````````` -Die Authentifizierung geschieht gegen einen LDAP-Server. - - - AuthType basic - AuthName "test" - AuthBasicProvider ldap - AuthLDAPURL "ldap://ike.polyhedra.intevation.de:389/cn=users,dc=icosahedron,dc=polyhedra,dc=intevation,dc=de?uid,memberof??(&(objectClass=inetOrgPerson)(memberOf=*))" - Require valid-user - - - - RequestHeader unset Authorization - RequestHeader set X-LDAP-User "%{AUTHENTICATE_uid}e" - RequestHeader set X-LDAP-Groups "%{AUTHENTICATE_memberof}e" - - -Sofern gewünscht, kann die Authentifizierung für Testzwecke zu deaktivieren -werden. Trotz allem müssen die entsprechenden Header gesetzt werden, da der -Server zur Authentifizierung und Authorisierung erwartet. - -# Set Headers to simulate Authentification. - - RequestHeader set X-LDAP-User "mst_06010" - 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" - - diff -r 729bfea7e8b1 -r c63ecb95dffb INSTALL.markdown --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/INSTALL.markdown Wed Jul 22 16:01:54 2015 +0200 @@ -0,0 +1,133 @@ +# Installation Lada-Client + +Für allgemeine Informationen schauen Sie in die README Datei. + +## Installation + +Für den Betrieb des Lada-Clients muss dieser innerhalb einer Webserver-Umgebung +installiert werden. Die folgenden Hinweise geben eine Kurze Anleitung zur +Installation eines Apache-Webserver. + +Hinweis: Für den Betrieb einer vollständigen Installation ist neben dem +Klienten auch die Installation eines Servers und entsprechender Datenbank +notwendig. Für die Installation des Servers folgen Sie bitte den Hinweisen in +der README Datei des Server-Pakets. Siehe Projektwebseite. Optional: Die +Authentifizierung kann gegen einen LDAP-Server durchgeführt werden. Beispiele +finde sich in dem Installationbeispiel. + +Die folgenden Hinweise beziehen sich auf die Installation und Einrichtung auf +Basis eines Oracle-RedHat Linux Systems. + +### Compilieren und Minifizieren der Anwendung + +Zum Compilieren der Anwendung kommt das Tool Sencha Cmd 4.0.x zum Einsatz. +Mit Hilfe dieses Tools kann der Quellcode in eine einzelne Datei zusammengefasst +und minifiziert werden. Dies beschleunigt das Laden der Anwendung im Browser erheblich + +Sencha bietet Sencha Cmd zum [Download](https://www.sencha.com/products/extjs/cmd-download/) +an. Beachten Sie: Sencha Cmd ist keine freie Software. + +Die Fa. Sencha beschreibt die Installation von Sencha Cmd in der +[Dokumentation von ExtJs](http://docs.sencha.com/extjs/4.2.1/#!/guide/command) + +Zur Installation werden Ruby und Java benötigt. + + + + + +Der Befehl hierzu lautet: + +``` + sencha --sdk $PATHTOEXT compile \ + --classpath=app,resources/datetime,resources/i18n page -str -cla lada.js \ + -yui -i index.html -o build/index.html +``` + +Das Verzeichnis `build` enthält dann eine Datei `index.html` und eine Datei +`lada.js`. Die Datei `lada.js` ist eine komprimierte Version der Anwendung und +enthält alle benötigten Klassen. +Für die Produktivversion müssen die folgenden Dateien zusätzlich in das +Verzeichnis `build` kopiert werden: + +| Quelldatei | Zieldatei | +|--------------------------------------------------------|-------------------------------------------------------------| +| extjs/resources/css/ext-all-gray.css | build/extjs/resources/css/ext-all-gray.css | +| extjs/resources/ext-theme-gray/ext-theme-gray-all.css | build/extjs/resources/ext-theme-gray/ext-theme-gray-all.css | +| resources/Lada.properties | build/resources/Lada.properties | +| resources/Lada_de-DE.properties | build/resources/Lada_de-DE.properties | +| gfx/* | build/gfx/ | + + +### Installation Apache +Zunächst wird der Apache Webserver aus dem Repository installiert: + +``` + yum install httpd mod_ssl + service httpd start +``` + +### Aktivierung der Apache Module + +Die Konfiguration, welche Module beim Start des Apache geladen werden, erfolgt +in der Datei `/etc/httpd/conf`. Die zu ladende Module sind in dieser Datei mit +der Option `LoadModule` angegeben. Folgende Module werden benötigt: + + * ldap_module: Authentifizierung gegen den LDAP + * headers_module: Setzten der Header nach der Authentifizierung + * proxy_module: Reverse Proxy des Apache zum Jboss-Server + +### Einrichtung der Anwendung + +Zunächst hinterlegen wir die Anwendung in dem Server. Hierzu verwenden wir die +gebaute Version, welche sich im `build` Ordner befindet. + +``` +cd /var/www/html +mkdir lada +cp -r build/* lada +``` + +*Wichtig um SELinux dazu zu überreden das neue Verzeichnis auch zu servieren:* + +``` +restorecon -Rv /var/www/html/ +``` + +Die Anwendung sollte nun bereits unter der Adresse `http://localhost/lada` +erreichbar sein. + +### Konfiguration Proxy Server + +Damit der Client eine Verbindung zu dem Server aufbauen kann, um von dort +Daten laden zu können, ist es notwendig den Server weiter zu konfigurieren. + +``` + togglesebool httpd_can_network_connect + service httpd restart +``` + +Dies erlaubt dem Apache grundsätzlich sich mit einem anderen Dienst zu verbinden. +Nun muss noch ein Reverse-Proxy eingerichtet werden. Dieser ist nur für +bestimmte Adressen aktiv. + +Folgende Datei sollte unter `/etc/httpd/conf.d/lada.conf` angelegt werden: +``` + + ServerAdmin webmaster@localhost + #ServerName dummy-host.example.com + ErrorLog logs/lada-error_log + CustomLog logs/lada-access_log common + + # Set multiple Proxys + ProxyPass /lada/server http://localhost:8080/lada + ProxyPassReverse /lada/server http://localhost:8080/lada + +``` +Alle Anfragen an die Adresse `/lada/service`, werden nun an den Server weitergeleitet. + +### Authentifizierung + +Die Authentifizierung geschieht gegen einen OpenID-Server. + +Der Lada-Client leitet in Zusammenarbeit mit dem Server automatisch an diesen weiter.