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: