Projekt

Allgemein

Profil

Prodat Mobile Installieren » Historie » Version 32

[E] Rocco Kreutz, 02.08.2023 12:39

1 19 [E] Rocco Kreutz
h1. FredaV2 Installieren (Prodat Mobile Web-Server[ProdatMobileServiceModule])
2 1 [E] Rocco Kreutz
3 2 [E] Rocco Kreutz
Momentan wird FredaV2 als ZIP und nicht als Setup ausgerollt. 
4 1 [E] Rocco Kreutz
5 2 [E] Rocco Kreutz
* FredaV2 ist ein Windows Service, ein Web-Server
6
* Er muss daher auf einem Rechner installiert werden, welcher von allen Geräten erreicht werden kann, welche den Dienst benutzen wollen (Browser)
7
* Vorzugsweise, sollte dies mittels Domain im Intranet möglich sein
8 24 [E] Rocco Kreutz
* _Y:\ProdatSQL\FredaV2Install_
9 2 [E] Rocco Kreutz
10
h3. Beispiel
11
12 20 [E] Rocco Kreutz
* !clipboard-202307271516-psygs.png!
13 27 [E] Rocco Kreutz
14 29 [E] Rocco Kreutz
* Windows-Account _ProdatMobileService_ hinzufpügen, Der Service sollte unter diesem Account laufen ("keine Rechte", keine Gruppenmitgliedschaften)
15 32 [E] Rocco Kreutz
* Im Beispiel wird FredaV2 auf Laufwerk _D:_ installiert (Konform zu Prodat InstallationsStruktur) unter _D:\ProdatERP\Mobile\ProdatMobile-TESTTEST_
16 24 [E] Rocco Kreutz
** Sencha/ExtJS Komponente unter _D:\ProdatERP\Mobile\ext-7.5.1_
17
** 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_
18 27 [E] Rocco Kreutz
19 21 [E] Rocco Kreutz
* Die aktuellsten ZIP's entpacken:
20 24 [E] Rocco Kreutz
** *FredaV2Installation-COMPONENTS_2023-03-07_12-00-00.zip* -> _D:\ProdatERP\Mobile_
21 32 [E] Rocco Kreutz
** *FredaV2Installation-SVC_2023-07-27_11-58-00.zip* -> _D:\ProdatERP\Mobile\ProdatMobile-TESTTEST_
22
** *FredaV2Installation-SVC-DelphiBPL_2023-03-07_12-00-00.zip* -> _D:\ProdatERP\Mobile\ProdatMobile-TESTTEST_
23 27 [E] Rocco Kreutz
24 4 [E] Rocco Kreutz
* Unter files/dms/ werden die aus dem DMS geholten Dokumente gesichert, damit nicht jedesmal beim DMS angefragt werden muss
25 29 [E] Rocco Kreutz
26
* Rechte setzen auf den Installations-Ordner (später mittels Setup automatisch)
27 31 [E] Rocco Kreutz
* 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
28 29 [E] Rocco Kreutz
** _D:\ProdatERP\Mobile\_
29
*** Alle ACL's entfernen
30
*** _Adminstratoren_ ACL hinzufügen mit Vollzugriff
31
*** _ProdatMobileService_ ACL hinzufügen mit Lesezugriff
32
*** Dannach alle Kind-Objekt ACL's mit vererbten ersetzen
33 32 [E] Rocco Kreutz
** _D:\ProdatERP\Mobile\ProdatMobile-TESTTEST\cache_ _D:\ProdatERP\Mobile\ProdatMobile-TESTTEST\log_ _D:\ProdatERP\Mobile\ProdatMobile-TESTTEST\temp_ _D:\ProdatERP\Mobile\ProdatMobile-TESTTEST\root\files\dms_
34 30 [E] Rocco Kreutz
*** _ProdatMobileService_ ACL hinzufügen mit Vollzugriff
35 29 [E] Rocco Kreutz
36 27 [E] Rocco Kreutz
37 4 [E] Rocco Kreutz
* Alle anderen (originären) Ordner sind Bibliotheken
38 5 [E] Rocco Kreutz
** 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
39
** Dasselbe gilt für alle mitgelieferten CSS/JS Dateien im Ordner files
40
** In der Config ist es möglich eigene CSS/JS Dateien einzubinden
41
*** Diese müssen im Ordner files liegen oder in einem darunter liegenden Ordner
42 27 [E] Rocco Kreutz
43 1 [E] Rocco Kreutz
* Konfigurieren:
44 5 [E] Rocco Kreutz
** Die rot umrandeten Einträge müssen auf die eigenen Werte konfiguriert werden
45
** Die blauen sind wahrscheinlich OK, könnten aber ebenfalls nötig sein
46 9 [E] Rocco Kreutz
*** Falls der Server mehr als 1 NIC besitzt und der Freda-Service nur auf einer bestimmten NIC/IP laufen soll
47 5 [E] Rocco Kreutz
** {{collapse(manifest.json)
48 17 [E] Rocco Kreutz
!clipboard-202303071047-gl92i.png!
49 1 [E] Rocco Kreutz
}} 
50 22 [E] Rocco Kreutz
** {{collapse(server.config.json)
51 18 [E] Rocco Kreutz
!clipboard-202307271649-gboua.png!
52 22 [E] Rocco Kreutz
}} 
53 5 [E] Rocco Kreutz
*** Die mitgelieferten cert.key, cert.pem, chain.cer Dateien sind reine Dummy-Dateien (zur Veranschaulichung)
54
*** 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
55 14 [E] Rocco Kreutz
*** DefaultLoginConnection liefert die Werte die im LoginForm (nicht BDE) voreingetragen werden
56 1 [E] Rocco Kreutz
**** Die Werte müssen konfiguriert sein, können aber auf leere Strings gesetzt werden
57 27 [E] Rocco Kreutz
58 5 [E] Rocco Kreutz
* Wenn alles konfiguriert wurde und die Zertifikats-Dateien vorhanden sind, kann der Dienst installiert werden
59
** cmd öffnen
60 32 [E] Rocco Kreutz
** Nach _D:\ProdatERP\Mobile\ProdatMobile-TESTTEST_ wechseln
61 5 [E] Rocco Kreutz
** FredaService.exe /INSTALL {{collapse(ausführen)
62
!clipboard-202303071116-ukau5.png!
63
}} 
64 6 [E] Rocco Kreutz
** Für Silent Installationen (Batch/CMD): FredaService.exe /INSTALL /SILENT
65
** Service deinstallieren: FredaService.exe /UNINSTALL
66 8 [E] Rocco Kreutz
** Im Service Manager unter Windows erscheint der Service dann folgendermassen (jedoch NOCH NICHT gestartet !) 
67 32 [E] Rocco Kreutz
** Im Bild wurde der Service nicht unter _D:\ProdatERP\Mobile\ProdatMobile-TESTTEST_ installiert ! {{collapse(Aufklappen)
68 7 [E] Rocco Kreutz
!clipboard-202303071121-evhjr.png! 
69 1 [E] Rocco Kreutz
}}
70 26 [E] Rocco Kreutz
*** Diese 'Default' Installation benutzt server.config.json als Konfigurations-Datei und benutzt 'Default' DisplayName
71
*** Wenn mehrere Varianten installiert werden sollen, welche eigene DisplayName's im Service-Manager anzeigen sollen und eigene Konfigurations-Dateien benutzen sollen:
72
**** FredaService.exe /install /instance mobiledev /instancedisplayname [DEV]prodat-dev-23-mobile 
73 1 [E] Rocco Kreutz
**** {{collapse(Aufklappen)
74
!clipboard-202307271713-axijq.png!
75 26 [E] Rocco Kreutz
}}
76 27 [E] Rocco Kreutz
**** Dieses 'Instanziieren' funktioniert auch innerhalb eines Verzeichnisses
77 28 [E] Rocco Kreutz
**** Im Falle von 'LIVE', 'TESTTEST' und 'TESTLIVE' wird jedoch in jeweils eigene Ordner installiert
78
***** Hier wird die Instanziierung einzig dazu benutzt, im Service-Manager die unterschiedlichen Installationen des Services für den Benutzer unterscheidbar zu machen
79
**** Instanzen @/instance <name>@ müssen Unique auf dem Rechner sein !!!
80
***** Es ist nicht möglich FredaService.exe mehrfach mit demselben /instance Parameter zu installieren auf ein und demselben Rechner
81 26 [E] Rocco Kreutz
82 8 [E] Rocco Kreutz
* Die mitgelieferte Freda.Exe ist eine normale Anwendung, kein Service
83
** Damit lässt sich schnell die Konfiguration testen, ohne dass man jedesmal erst den Service stoppen und wieder starten muss
84
** Dazu einfach die Exe ausführen
85
** Logs/Brwoser checken
86
** Rechts unten in der Taskleiste (evtl. im Versteckten Bereich) auf das schwarze Prodat-Logo rechtsklicken und Shutdown wählen
87
** Damit ist der WebServer wieder beendet
88 10 [E] Rocco Kreutz
** Wenn alles passt, den Service wieder starten (über die Windows-Service Verwaltung)
89 11 [E] Rocco Kreutz
90 13 [E] Rocco Kreutz
h4. Info
91 1 [E] Rocco Kreutz
92 13 [E] Rocco Kreutz
* Um neue Zertifikats-Dateien zu laden, muss der Service neu gestartet werden
93
** Ein austauschen der Zertifakts-Dateien während das Betriebes ist möglich, wird aber vom laufenden Service ignoriert
94
* Das automatische aufräumen von bestimmten Verzeichnissen wird nur beim neustarten des internen WebServerModuls des Service ausgelöst
95
* In naher Zukunft wird es eine zusätzliche Konfigurations-Option geben, mit welcher man das interne Neustarten des WebServerModuls automatisieren kann
96
** Damit wären dann auch ständig wechselnde (LetsEncrypt) Zertifikate einfacher zu benutzen
97
98
99
h4. Der Service legt verschiedene Ordner während der Laufzeit an:
100
101 11 [E] Rocco Kreutz
* {{collapse(Aufklappen)
102
!clipboard-202303071133-ryao7.png!
103
}}
104
* /files
105
** Config: Paths/FilesFolder
106
* /files/dms/<dms-dokument-id>/
107
** Liegt IMMER unter <Config: Paths/FilesFolder>/dms
108
** DMS-Dokumente
109
** Dieser Ordner wird speziell behandelt, Zugriff für die Clients (Browser) ist nur innerhalb einer gültigen Session und gültigem Login möglich
110
** Alle Dateien in diesem Ordner werden als DMS-Dokumente behandelt und unterliegen damit der Prodat-Rechte Überprüfung
111
** Daher mqacht es keinen Sinn hier eigene Bilder abzulegen, welche evtl. über eigene CSS/JS Dateien aufgerufen werden
112
* /Administration
113
** FredaV2 benutzt intern denselben Code (Daten-Klassen, Backend) wie Prodat, daher wird dieser Ordner angelegt aber nicht benutzt
114
* /cache/*
115
** Config: Paths/CacheFolder
116
** Hier legt der Service verschiedene (per Sesssion) Dateien ab, welche innerhalb einer Session oder global zwischen Sessions gemeinsam genutzt werden
117
** Beim normalen beenden wird der komplette Ordner sofort aufgeräumt
118
* /log
119
** Log des Services/Anwendung (Freda.exe)
120
** Im Moment wird da noch zuviel reingeschrieben, das wird in Zukunft weit weniger
121
** Wird nicht automatisch aufgeräumt
122
* /temp
123
** Config: ProdatPaths/* wird derzeit noch nicht berücksichtigt
124
** Hier wird für jede Session ein Verzeichniss angelegt, welches dem @<DESKTOP-Prodat-Installationsverzeichniss>\Temp@m entspricht {{collapse(Aufklappen)
125
!clipboard-202303071159-rczbu.png!
126
}}
127 12 [E] Rocco Kreutz
** Das Verzeichniss wird automatisch aufgeräumt, bei jedem Start des internen WebServerModules des Service oder der Anwendung (Freda.exe)
128 1 [E] Rocco Kreutz
** Alle Eintrage (Sessions, mit allen Unterordnern und Dateien) älter als 1 Monat werden automatisch gelöscht
129 21 [E] Rocco Kreutz
130
131
132
h5. Sicherstellen das Berechtigungen stimmen (ACL)
133
134
* https://blog.netwrix.de/2020/05/22/die-fuenf-besten-kostenlosen-berichts-tools-fuer-ntfs-berechtigungen/