Zum Inhalt springen

Installation auf eigenem Server

Der invoiceR läuft entweder in der Cloud (betrieben durch enio oder einen Partner) oder auf einem Server in eurer eigenen Umgebung. Diese Seite beschreibt die Installation auf einem eigenen Windows-Server. Die Installation führt in der Regel enio zusammen mit eurer IT durch.

  • Windows Server (2022 oder neuer) für Frontend und Backend
  • Microsoft SQL Server für die Datenbank, mit einem SQL-Benutzer für den invoiceR
  • je eine Adresse (Subdomain) mit gültigem Zertifikat für Frontend und Backend, getrennt für Test und Produktion, zum Beispiel:
    • invoicer.contoso.ch und invoicer-backend.contoso.ch
    • invoicer-test.contoso.ch und invoicer-test-backend.contoso.ch
  • die DNS-Einträge und das Routing dieser Adressen auf den Server (Aufgabe eurer IT)
  • die Installationsdateien des invoiceR und gegebenenfalls ein Datenbank-Backup von enio
  1. IIS über den Server Manager als Server-Rolle installieren. Für die Windows-Anmeldung zusätzlich das Feature Windows Authentication.
  2. ASP.NET Core Hosting Bundle in der Version, die zur invoiceR-Version passt (aktuell .NET 10). Danach den Server neu starten.
  3. IIS URL Rewrite Module. Das Frontend braucht es für die Navigation innerhalb der Anwendung.
  4. Optional SQL Server Management Studio, um die Verbindung zur Datenbank zu testen und Backups einzuspielen.
  1. Lege die Datenbank an oder spiele das Backup ein. Liegt der SQL Server auf einem anderen Rechner, muss die Backup-Datei direkt auf dem SQL Server liegen.
  2. Teste mit SQL Server Management Studio, ob sich der SQL-Benutzer vom invoiceR-Server aus anmelden kann.

Lege die Dateien von Frontend und Backend in getrennten Ordnern ab, am besten auf einem Datenlaufwerk, zum Beispiel D:\invoiceR\Prod\Frontend, D:\invoiceR\Prod\Backend und analog für Test.

Lege im IIS pro Umgebung zwei Websites an (also vier für Test und Produktion): eine für das Frontend, eine für das Backend. Hinterlege jeweils die Adresse und das Zertifikat. Unter Test Settings müssen beide Prüfungen erfolgreich sein. Wenn nicht, gib unter Connect as… einen Benutzer mit Zugriff auf den Ordner an (mit Domäne).

Dialog Add Website im IIS mit ausgefüllten Feldern Site name, Physical path, Binding https und Host name

In assets/appconfig.json des Frontends:

SchlüsselInhalt
remoteServiceBaseUrlAdresse des Backends, zum Beispiel https://invoicer-backend.contoso.ch
appBaseUrlAdresse des Frontends, zum Beispiel https://invoicer.contoso.ch

In der appsettings.json des Backends (oder einer eigenen Datei, siehe unten):

SchlüsselInhalt
ConnectionStrings:DefaultVerbindung zur Datenbank (Server, Datenbank, Benutzer, Passwort).
Dashboard:ConnectionStringsVerbindung für die Auswertungen (Dashboards), in der Regel dieselbe Datenbank.
App:ServerRootAddressAdresse des Backends.
App:ClientRootAddressAdresse des Frontends.
App:CorsOriginsAdresse des Frontends, damit es das Backend aufrufen darf. Mehrere Adressen mit Komma trennen.
WorkflowManagement:CustomerSystemSecretKeySchlüssel (GUID), mit dem sich die Installation gegenüber enio ausweist. Derselbe Wert wird beim Updater hinterlegt. Ihr erhaltet ihn von enio.
  1. Führe den Migrator (web_manager.Migrator.exe im Backend-Ordner) aus. Er bringt die Datenbank auf den Stand der installierten Version. Bei Updates übernimmt das der Updater.
  2. Starte die Application Pools im IIS neu (Recycle).
  3. Öffne die Adresse des Frontends im Browser. Erscheint die Anmeldeseite, sind Frontend und Backend verbunden.