Prodat Mobile Installieren » Historie » Revision 31
Revision 30 ([E] Rocco Kreutz, 28.07.2023 10:04) → Revision 31/32 ([E] Rocco Kreutz, 28.07.2023 10:08)
h1. FredaV2 Installieren (Prodat Mobile Web-Server[ProdatMobileServiceModule])
Momentan wird FredaV2 als ZIP und nicht als Setup ausgerollt.
* FredaV2 ist ein Windows Service, ein Web-Server
* Er muss daher auf einem Rechner installiert werden, welcher von allen Geräten erreicht werden kann, welche den Dienst benutzen wollen (Browser)
* Vorzugsweise, sollte dies mittels Domain im Intranet möglich sein
* _Y:\ProdatSQL\FredaV2Install_
h3. Beispiel
* !clipboard-202307271516-psygs.png!
* Windows-Account _ProdatMobileService_ hinzufpügen, Der Service sollte unter diesem Account laufen ("keine Rechte", keine Gruppenmitgliedschaften)
* Im Beispiel wird FredaV2 auf Laufwerk _D:_ installiert (Konform zu Prodat InstallationsStruktur) unter _D:\ProdatERP\Mobile\ProdatMobile-TESTEST_
** Sencha/ExtJS Komponente unter _D:\ProdatERP\Mobile\ext-7.5.1_
** UniGUI Komponente unter _D:\ProdatERP\Mobile\uni-1.90.0.1563_ , _D:\ProdatERP\Mobile\unim-1.90.0.1563_ , _D:\ProdatERP\Mobile\unipackages-7.5.1_
* Die aktuellsten ZIP's entpacken:
** *FredaV2Installation-COMPONENTS_2023-03-07_12-00-00.zip* -> _D:\ProdatERP\Mobile_
** *FredaV2Installation-SVC_2023-07-27_11-58-00.zip* -> _D:\ProdatERP\Mobile\ProdatMobile-TESTEST_
** *FredaV2Installation-SVC-DelphiBPL_2023-03-07_12-00-00.zip* -> _D:\ProdatERP\Mobile\ProdatMobile-TESTEST_
* Unter files/dms/ werden die aus dem DMS geholten Dokumente gesichert, damit nicht jedesmal beim DMS angefragt werden muss
* Rechte setzen auf den Installations-Ordner (später mittels Setup automatisch)
* Da im Mobile Ordner JavaScript Datein liegen, welche vom Service an die Client-Browser ausgeliefert werden und diese viel leichter zu manipuluieren sind als binare Dateien, sollte NIEMAND Zugriff auf diesen Ordner haben, welcher nicht wirklich Zugriff haben muss
** _D:\ProdatERP\Mobile\_
*** Alle ACL's entfernen
*** _Adminstratoren_ ACL hinzufügen mit Vollzugriff
*** _ProdatMobileService_ ACL hinzufügen mit Lesezugriff
*** Dannach alle Kind-Objekt ACL's mit vererbten ersetzen
** _D:\ProdatERP\Mobile\ProdatMobile-TESTEST\cache_ _D:\ProdatERP\Mobile\ProdatMobile-TESTEST\log_ _D:\ProdatERP\Mobile\ProdatMobile-TESTEST\temp_ _D:\ProdatERP\Mobile\ProdatMobile-TESTEST\root\files\dms_
*** _ProdatMobileService_ ACL hinzufügen mit Vollzugriff
* Alle anderen (originären) Ordner sind Bibliotheken
** Auch wenn es möglich ist die Dateien unter ext-7.5.1, uni-1.90.0.1563, unipackages-7.5.1, unim-1.90.0.1563 selber zu bearbeiten, um eigene Anpassungen am Layout zu erzielen, ist davon STRIKT abzuraten
** Dasselbe gilt für alle mitgelieferten CSS/JS Dateien im Ordner files
** In der Config ist es möglich eigene CSS/JS Dateien einzubinden
*** Diese müssen im Ordner files liegen oder in einem darunter liegenden Ordner
* Konfigurieren:
** Die rot umrandeten Einträge müssen auf die eigenen Werte konfiguriert werden
** Die blauen sind wahrscheinlich OK, könnten aber ebenfalls nötig sein
*** Falls der Server mehr als 1 NIC besitzt und der Freda-Service nur auf einer bestimmten NIC/IP laufen soll
** {{collapse(manifest.json)
!clipboard-202303071047-gl92i.png!
}}
** {{collapse(server.config.json)
!clipboard-202307271649-gboua.png!
}}
*** Die mitgelieferten cert.key, cert.pem, chain.cer Dateien sind reine Dummy-Dateien (zur Veranschaulichung)
*** Siehe dazu "Zertifikate für das eigene Intranet":https://redmine.prodat-sql.de/projects/prodat-v12-public/wiki/Zertifikate_f%C3%BCr_das_eigene_Intranet
*** DefaultLoginConnection liefert die Werte die im LoginForm (nicht BDE) voreingetragen werden
**** Die Werte müssen konfiguriert sein, können aber auf leere Strings gesetzt werden
* Wenn alles konfiguriert wurde und die Zertifikats-Dateien vorhanden sind, kann der Dienst installiert werden
** cmd öffnen
** Nach _D:\ProdatERP\Mobile\ProdatMobile-TESTEST_ wechseln
** FredaService.exe /INSTALL {{collapse(ausführen)
!clipboard-202303071116-ukau5.png!
}}
** Für Silent Installationen (Batch/CMD): FredaService.exe /INSTALL /SILENT
** Service deinstallieren: FredaService.exe /UNINSTALL
** Im Service Manager unter Windows erscheint der Service dann folgendermassen (jedoch NOCH NICHT gestartet !)
** Im Bild wurde der Service nicht unter _D:\ProdatERP\Mobile\ProdatMobile-TESTEST_ installiert ! {{collapse(Aufklappen)
!clipboard-202303071121-evhjr.png!
}}
*** Diese 'Default' Installation benutzt server.config.json als Konfigurations-Datei und benutzt 'Default' DisplayName
*** Wenn mehrere Varianten installiert werden sollen, welche eigene DisplayName's im Service-Manager anzeigen sollen und eigene Konfigurations-Dateien benutzen sollen:
**** FredaService.exe /install /instance mobiledev /instancedisplayname [DEV]prodat-dev-23-mobile
**** {{collapse(Aufklappen)
!clipboard-202307271713-axijq.png!
}}
**** Dieses 'Instanziieren' funktioniert auch innerhalb eines Verzeichnisses
**** Im Falle von 'LIVE', 'TESTTEST' und 'TESTLIVE' wird jedoch in jeweils eigene Ordner installiert
***** Hier wird die Instanziierung einzig dazu benutzt, im Service-Manager die unterschiedlichen Installationen des Services für den Benutzer unterscheidbar zu machen
**** Instanzen @/instance <name>@ müssen Unique auf dem Rechner sein !!!
***** Es ist nicht möglich FredaService.exe mehrfach mit demselben /instance Parameter zu installieren auf ein und demselben Rechner
* Die mitgelieferte Freda.Exe ist eine normale Anwendung, kein Service
** Damit lässt sich schnell die Konfiguration testen, ohne dass man jedesmal erst den Service stoppen und wieder starten muss
** Dazu einfach die Exe ausführen
** Logs/Brwoser checken
** Rechts unten in der Taskleiste (evtl. im Versteckten Bereich) auf das schwarze Prodat-Logo rechtsklicken und Shutdown wählen
** Damit ist der WebServer wieder beendet
** Wenn alles passt, den Service wieder starten (über die Windows-Service Verwaltung)
h4. Info
* Um neue Zertifikats-Dateien zu laden, muss der Service neu gestartet werden
** Ein austauschen der Zertifakts-Dateien während das Betriebes ist möglich, wird aber vom laufenden Service ignoriert
* Das automatische aufräumen von bestimmten Verzeichnissen wird nur beim neustarten des internen WebServerModuls des Service ausgelöst
* In naher Zukunft wird es eine zusätzliche Konfigurations-Option geben, mit welcher man das interne Neustarten des WebServerModuls automatisieren kann
** Damit wären dann auch ständig wechselnde (LetsEncrypt) Zertifikate einfacher zu benutzen
h4. Der Service legt verschiedene Ordner während der Laufzeit an:
* {{collapse(Aufklappen)
!clipboard-202303071133-ryao7.png!
}}
* /files
** Config: Paths/FilesFolder
* /files/dms/<dms-dokument-id>/
** Liegt IMMER unter <Config: Paths/FilesFolder>/dms
** DMS-Dokumente
** Dieser Ordner wird speziell behandelt, Zugriff für die Clients (Browser) ist nur innerhalb einer gültigen Session und gültigem Login möglich
** Alle Dateien in diesem Ordner werden als DMS-Dokumente behandelt und unterliegen damit der Prodat-Rechte Überprüfung
** Daher mqacht es keinen Sinn hier eigene Bilder abzulegen, welche evtl. über eigene CSS/JS Dateien aufgerufen werden
* /Administration
** FredaV2 benutzt intern denselben Code (Daten-Klassen, Backend) wie Prodat, daher wird dieser Ordner angelegt aber nicht benutzt
* /cache/*
** Config: Paths/CacheFolder
** Hier legt der Service verschiedene (per Sesssion) Dateien ab, welche innerhalb einer Session oder global zwischen Sessions gemeinsam genutzt werden
** Beim normalen beenden wird der komplette Ordner sofort aufgeräumt
* /log
** Log des Services/Anwendung (Freda.exe)
** Im Moment wird da noch zuviel reingeschrieben, das wird in Zukunft weit weniger
** Wird nicht automatisch aufgeräumt
* /temp
** Config: ProdatPaths/* wird derzeit noch nicht berücksichtigt
** Hier wird für jede Session ein Verzeichniss angelegt, welches dem @<DESKTOP-Prodat-Installationsverzeichniss>\Temp@m entspricht {{collapse(Aufklappen)
!clipboard-202303071159-rczbu.png!
}}
** Das Verzeichniss wird automatisch aufgeräumt, bei jedem Start des internen WebServerModules des Service oder der Anwendung (Freda.exe)
** Alle Eintrage (Sessions, mit allen Unterordnern und Dateien) älter als 1 Monat werden automatisch gelöscht
h5. Sicherstellen das Berechtigungen stimmen (ACL)
* https://blog.netwrix.de/2020/05/22/die-fuenf-besten-kostenlosen-berichts-tools-fuer-ntfs-berechtigungen/