Projekt

Allgemein

Profil

Prodat Mobile Installieren » Historie » Version 29

[E] Rocco Kreutz, 28.07.2023 10:00

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