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