Projekt

Allgemein

Profil

Aktionen

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

Beispiel

  • 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-TESTTEST
    • 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-TESTTEST
    • FredaV2Installation-SVC-DelphiBPL_2023-03-07_12-00-00.zip -> D:\ProdatERP\Mobile\ProdatMobile-TESTTEST
  • 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-TESTTEST\cache D:\ProdatERP\Mobile\ProdatMobile-TESTTEST\log D:\ProdatERP\Mobile\ProdatMobile-TESTTEST\temp D:\ProdatERP\Mobile\ProdatMobile-TESTTEST\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
    • manifest.json
    • server.config.json
      • Die mitgelieferten cert.key, cert.pem, chain.cer Dateien sind reine Dummy-Dateien (zur Veranschaulichung)
      • Siehe dazu Zertifikate für 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-TESTTEST wechseln
    • FredaService.exe /INSTALL ausführen
    • 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-TESTTEST installiert ! Aufklappen
      • 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
        • Aufklappen
        • 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)

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

Der Service legt verschiedene Ordner während der Laufzeit an:

  • Aufklappen
  • /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 Aufklappen
    • 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
Sicherstellen das Berechtigungen stimmen (ACL)

Von [E] Rocco Kreutz vor 8 Monaten aktualisiert · 32 Revisionen