Zum Hauptinhalt springen

IIS Installation

Einleitung

Zur Nutzung der Webservices muss bei dem Kunden/Händler der IIS von Microsoft installiert sein. Auf diesem Server werden die WebServices installiert. Sollen die Services auch außerhalb des Firmennetzes genutzt werden, muss der WebServer auch “von außen” erreichbar sein.

Hallo! Dieses Dokument beschreibt die Installation von IIS und anderen Komponenten, die für die Nutzung von Webservices notwendig sind.

Bedingungen

Folgende Bedingungen müssen erfüllt sein:

  • auf dem IIS-Rechner muss das .Net Framework 4.7.xx installiert sei
  • auf dem IIS-Rechner muss das .Net Core Framework 3.1 installiert sein
  • Ab der Version 20220315 müssen Runtime und Hostingpaket von .Net 6 installiert seil!
  • der IIS muss korrekt installiert sein: als erster Test dient der Aufruf: http://localhost
  • wichtig in diesem Zusammenhang sind die Anpassungen an den Firewalls; hier müssen Regeln (eingehend/ausgehend) definiert werden, damit die betreffenden IPs und Ports durch die Firewall kommen
  • als Protokoll sollte https eingerichtet werden
  • dann sollte die Startseite/Willkommensseite des IIS erscheinen

Ist diese NICHT der Fall, ist die Installation zu korrigieren; vorher geht’s nicht weiter

  • der SQLServer muss installiert sein und von dem IIS erreichbar sein
  • auf den SQLServer müssen Named Pipes aktiviert sein
  • es muss ein Login „dba“ mit dem Passwort xxxxxxx existieren; diese muss alle Rechte haben, auch die Berechtigung haben zur Tabellenanlage
  • ein User dba muss existieren

Zunächst müssen die IIS-Dienste aktiviert werden; die findet man unter Windows Features  Internetinformationsdienste; die Einstellungen können je nach Windows- oder Serverversion etwas  anders aussehen.

Wichtige Hinweise, u.a. zur Installation .NET Core Hosting-Pakets, findet man in dem folgenden Link:

https://docs.microsoft.com/de-de/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.1

Ab der Version 20220315 werden Runtime und Hostingpaket von .Net 6 benötigt!

Wenn alles geklappt hat, sollte unter „http://localhost die Testseite des IIS  erscheinen.

Nun muss man den IIS animieren, auch mit der aktuellen Core-Version zusammenzuarbeiten; hilfreich kann sein die folgende Seite von MS.

https://docs.microsoft.com/de-de/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.1

Hier findet sich auch ein Link den kompletten Installer für die Core-Komponenten

Auf dem Server in dem neuen Verzeichnis “WawiAPI” („c:\inetpub\wwwroot\wawiapi“) die mit gelieferte Datei entpacken; diese enthält alle benötigten Dateien.

Nun muss die Website erstellt werden: Im Windows-Suchfenster „inet“  eingeben oder nach den Internet Informationsdiensten suchen, das Verwaltungstool startet:

Zuerst einen neuen, eigenen Anwendungspool anlegen mit folgenden Parametern:

Dann den Pool konfigurieren (den neuen Pool in der Liste markieren, rechte Maustaste, erweiterte Einstellungen:

Nun muss die Seite angelegt werden:   links „Sites“ markieren, rechte Maustaste, Seite hinzufügen:

Man trägt einen Namen ein, hinterlegt den neuen Anwendungspool und gibt den Pfad ein, an dem die Programmdateien entpackt wurden.

Im Kästchen „Bindung“ muss der Typ hinterlegt werden, die IP-Adresse des IIS und ein Port. Wichtig ist nun, dass die Firewall-Regeln so angepasst werden, dass die Aufrufe nicht durch die Firewall kassiert werden.

Ist natürlich auch wieder von der Versionen abhängig, aber im Prinzip immer gleich. Im Prinzip die Seite Firewall /Erweiterte Einstellungen/ eine neue eingehende Regel definieren und konfigurieren, dass die entsprechende IP:Port durchgelassen wird

Konfiguration anpassen: In dem Installationsverzeichnis, also z.B. “C:\inetpub\wwwroot\WawiAPI“ liegt eine Datei namens “appsettings.json.Muster”. Diese muss umbenannt/kopiert werden in “appsettings.json“ und an angepasst werden:

{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"App": {
"Connection": {
"Value": "",
"Server": "servername",
"Datenbank": "dbname"

},
"ConnectionWWC": {
"Value": "",
"Server": "servername"
},
"Firmengruppe": "1",
"Mandant": "123",
"MandantWWC": "10123",
"ReqURL": "https://update.gates-app.de",
"Proxies": "",
"Forewardheaders": false,
"MaxLogSizeInMb": 10
},
"Authentication": {
"Username": "user",
"Password": "password"
},
"AllowedHosts": "*"
}

USER und PASSWORD sind die, über welche die Basic Auth erfolgt, wenn die Services aufgerufen werden.

Diese Eintragungen sind vom Kunde oder dessen Dienstleister zu machen. Sehr wichtig sind die Eingaben für USERNAME und PASSWORD. Diese sind von dem Kunden bzw. dessen Dienstleister ZU VERGEBEN und dürfen nur den vertrauten BENUTZERN der API bekannt gemacht werden.

MandantWWC: bitte beim Support erfragen

ReqURL: z.Z. immer "https://update.gates-app.de"

Als nächstes muss das Konfigurations- und Updatetool installiert werden. Die dazu benötigten Dateien sind bei WW-Consulting erhältlich als “WwcApiUpdater….Zip”. Die Installation muss auf dem Rechner mit dem IIS erfolgen, am besten in einem Ordner “Laufwerk:\WwcApiUpdater”. Bitte alle Dateien in das Verzeichnis entpacken und die Datei “WwcApiUpdater.exe.config.muster“ in “WwcApiUpdater.exe.config“ umbenennen und die roten Zeilen bearbeiten:

<?xml version="1.0" encoding="utf-8"?> <configuration>

<appSettings> <add key="wawiapipfad" value="c:\inetpub\wwwroot\wawiapi" /> <add key="wawiapiname" value="WawiAPI" /> <add key="updateurl" value="http://127.0.0.1:4748/api/update" /> </appSettings>

… </configuration>

Erklärungen:

"wawiapipfad" : der physikalische Pfad auf das Verzeichnis mit der API"wawiapiname" : der Name des API im IIS, meistens "WawiAPI""updateurl" : die Url, wo die Updates liegen; bitte bei WW-Consulting erfragen

Sinnvoller Weise legt man nun eine Verknüpfung auf dem Desktop an auf das Programm “WwcApiUpdater.exe“. Außerdem sollte das Programm die Eigenschaft bekommen “Als Administrator ausführen”.

Beim Starten erscheint folgendes Bild:

Der erste Mandant wird voreingestellt, bei weiteren Mandanten sind die Nummern händisch einzugeben. Die Einstellungen werden pro Mandant gespeichert.

Die API funktioniert nur noch, wenn auf „Speichern“ gedrückt wird. Dann wird außerdem (später, wenn der Update-Server läuft), auf dem Update-Server ein Eintrag gemacht, wer da was installiert hat. Siehe weiter unten.

Alle nicht benötigten Einstellungen werden mit -1 markiert

Gutscheineinstellungen:

die Filiale/Kassenstelle, unter der die Gutscheine erzeugt werden

Einverständniserklärungen:

Hier können die in der WaWi definierten Einverständnisse hinterlegt werden (Stammdaten-Nummer)

Webnummernkreis:

Wenn für Stammkunden der getrennte Nummernkreis genommen werden soll

GatesKuNK :

Wenn der eigene Gates-Nummernkreis genommen werden soll; der Nummernkreis muss genau mit den Nummernkreisen der Wawi abgeglichen sein

Daten prüfen :

Dann erscheint an der Kasse ein Hinweis zum Überarbeiten der Kundendaten

Zum Abschluss der Installation bitte “Speichern”.

Modehaus.de Anbindung:

Darf nur gesetzt werden in enger Kooperation mit Modehaus.de und WW-Consulting.

Ab der Version 2022015 überholt:

Zum Testen kann man in das Installationsverzeichniswechseln der API wechseln, und im Command-Prompt, und folgenden Befehl aufrufen:

Installer.exe

Es sollte die Meldung kommen “Installation OK”

Ein erster Test, ob die Services erreichbar sind, kann so vorgenommen werden:

Installer.exe IP:Port, also z.B. Installer.exe http://192.168.1.1:4711

Es sollte die Meldung komme “Alles ok”;

Ein weiterer Test ist:

Installer.exe IP:Port, KUNDEN also z.B. Installer.exe http://192.168.1.1:4711 KUNDEN

Es sollte die Meldung kommen, dass ein neuer Kunde angelegt wurde, die Kundennummer wird angezeigt. Dieser Kunden sollte dann in der Wawi wieder gelöscht werden.