Projekt

Allgemein

Profil

Prodat Mobile Installieren » Historie » Version 30

[E] Rocco Kreutz, 28.07.2023 10:04

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