Installation OneOffixx-Server
Note
Diese Seite betrifft die OnPremises-Variante.
Bei der "Software as a Service"-Variante sind keine Serverinstallationen durch den Kunden notwendig.
Bevor Sie beginnen:
Voraussetzung für die Installation des OneOffixx-Servers ist eine Microsoft SQL Server Datenbank zum Speichern der Daten. Falls Sie keinen vorhandenen Datenbankserver verwenden können, können Sie eine SQL Express-Installation durchführen wie hier beschrieben. Die korrekte Konfiguration des SQL-Benutzers für OneOffixx ist hier beschrieben.
Installation
Im Installationspaket ist ein PowerShell-Skript "Install.ps1" enthalten, das die Installation vornimmt. Das Skript muss als Administrator ausgeführt werden, da unter anderem fehlende Windows Features aktiviert werden.
Note
Das Installationsskript ("Install.ps1") ist für die Installation von genau einer OneOffixx-Umgebung auf einem Server ausgelegt. Wenn mehrere OneOffixx-Umgebungen auf demselben Server laufen sollen, dann sind zusätzliche manuelle Konfigurationsschritte nötig. Siehe z. B. Multiple In-Process Applications in same Process in den Problembehandlungen.
Execution Policy
Um das Skript zu starten, muss die Execution Policy auf Unrestricted
gesetzt sein:
Set-ExecutionPolicy Unrestricted
Wenn Sie die Execution Policy nur temporär für die Installation anpassen möchten, kann diese wie folgt gesetzt werden:
Set-ExecutionPolicy Unrestricted -Scope Process
Die folgende Frage muss mit y
für "Yes" beantwortet werden:
Execution Policy Change
The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose
you to the security risks described in the about_Execution_Policies help topic at
http://go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"): y
Skript ausführen
Die Installations-Zip-Datei muss vorgängig entpackt werden.
In der Datei "Install_Customization.ps1" können Anpassungen vorgenommen werden, falls es sich nicht um eine Standardinstallation handelt. Die entsprechenden Einstellungsmöglichkeiten sind in der Datei beschrieben.
Beim Aufruf von "Install.ps1" können Argumente mitgegeben werden. Diese sind in der Datei in einem grossen Kommentar beschrieben (unter "Usages").
Standardaufruf (hierfür muss zuvor ins Installationsverzeichnis navigiert werden, z. B. mit cd "C:\temp\OneOffixx_Install_Package"
):
.\Install.ps1 `
-HostUrl "https://oneoffixx.local" `
-DbConnectionString "Data Source=...;Initial Catalog=OneOffixx_Prod;User ID=...;Password=...;MultipleActiveResultSets=True" `
-OperationDbConnectionString "Data Source=...;Initial Catalog=OneOffixx_Prod_Operation;User ID=...;Password=...;MultipleActiveResultSets=True"
Weitere Aufrufmöglichkeiten sind in "Install.ps1" unter "Usages" beschrieben, so z. B. die Angabe eines Service Accounts, falls kein SQL-Benutzer genutzt werden soll.
Die beiden Datenbanken vom obigen Beispiel ("OneOffixx_Prod" und "OneOffixx_Prod_Operation") können entweder als leere Datenbanken bereits existieren. Ansonsten werden sie automatisch durch die OneOffixx-Serverapplikationen angelegt (Bedingungen siehe SQL-Server-Rollen / -Berechtigungen).
Note
Bei einer Installation der "WithoutIdS"-Variante (siehe Varianten) ist kein OperationDbConnectionString
nötig.
Standardmässig fragt das Skript den Benutzer nach Informationen und Bestätigungen. Falls dies nicht gewünscht ist, kann als Argument -Force $true
mitgegeben werden.
Skript-Ablauf
1. Benötigte Windows Features überprüfen
Im ersten Schritt wird überprüft, ob alle erforderlichen Windows Features (u. A. der Internet Information Service (IIS) mit ASP.NET sowie WCF-Dienste) installiert sind und ob das Hosting Bundle für .NET Core-Applikationen installiert ist.
2. "OneOffixx"-Website im IIS
Im nächsten Schritt wird überprüft, ob bereits eine "OneOffixx"-Website mit den Application Pools im IIS registriert ist. Ist das der Fall, wird zum nächsten Schritt gegangen.
Falls die Website nicht gefunden wird, werden Sie gefragt, ob diese angelegt werden soll, mit der Angabe des Installationspfades und des Port. Die Standardeinstellungen werden in der Ausgabe angezeigt. Das Skript legt zudem folgende Application Pools im IIS an:
OneOffixx-Managed
:
Ist für die .NET Framework-basierten Serverapplikationen zuständig, wie z. B. der "Service" oder der "Admin".OneOffixx-Unmanaged-[...]
:
Für alle .NET Core-basierten Serverapplikationen wird ein eigener Application Pool angelegt, wie z. B.OneOffixx-Unmanaged-AddressService
für den "AddressService" oderOneOffixx-Unmanaged-HealthMonitor
für den "HealthMonitor".
3. "OneOffixx"-Webapplikationen
In diesem Schritt werden die eigentlichen Webapplikationen in der "OneOffixx"-Website hinterlegt. Falls die Anwendungen bereits installiert sind, werden Sie gefragt, ob eine Aktualisierung stattfinden soll. Im Fall einer Aktualisierung handelt es sich um ein Server-Update, weswegen wir die Kontaktaufnahme mit unserem Support empfehlen.
4. "OneOffixx JobHost"-Scheduled Task
Im letzten Schritt erfolgt eine Abfrage, ob der "OneOffixx-JobHost" als "Scheduled Task" eingerichtet werden soll. Der OneOffixx-JobHost ist ein Konsolenprogramm, das z. B. Benutzerdaten im Hintergrund in einem bestimmten Intervall aktualisiert. Er sollte daher installiert werden.
Abschluss der Server-Installation
Nach der Installation sollten sowohl der IIS als auch die Webapplikationen und der Scheduled Task installiert sein.
Tip
In der Standardinstallation wird eine Website erzeugt, die auf den Port 80 hört. Laufen auf dem gleichen Server mehrere Webseiten, könnte das zu Konflikten führen. In dem Fall wird die OneOffixx-Website nicht gestartet.
Service Account
Die Standardinstallation geht von der Nutzung eines SQL-Benutzers aus. Es ist jedoch auch möglich, die OneOffixx-Serverapplikationen unter einem Service Account zu betreiben.
Stellen Sie hierfür folgende Konfiguration sicher:
- Der Service Account kann sich mit dem SQL Server bzw. mit der zukünftigen Datenbank verbinden.
- Der Service Account ist Mitglied der "IIS_IUSRS"-Group.
Dieser Schritt wird vom Installationsskript automatisch erledigt, wenn beim Aufruf über die Argumente ein Security Account angegeben wird (siehe "Usages" in "Install.ps1"-Datei) und die entsprechende Abfrage bestätigt wird. - Für die
IIS_IUSRS
-Gruppe muss in der Local Security PolicyLog on as batch
undImpersonate a client after authentication
hinterlegt sein (dies entspricht einer Standard-IIS-Installation).
Administrative Tools → Local Security Policy → Local Policies → User Rights Assignment
- Der Service Account hat Ändern-Rechte auf dem OneOffixx-Applikations- und Logverzeichnis (in der Standardinstallation ist das derselbe Ordner).
Dieser Schritt wird für das Applikationsverzeichnis vom Installationsskript automatisch erledigt, wenn beim Aufruf über die Argumente ein Security Account angegeben wird (siehe "Usages" in "Install.ps1"-Datei) und die entsprechende Abfrage für die Ändern-Rechte bestätigt wird. - Der Service Account muss im IIS als Benutzer in allen OneOffixx-Application Pools hinterlegt werden
IIS → Application Pools → Advanced Settings → Identity → Custom account
Dieser Schritt wird vom Installationsskript automatisch erledigt, wenn beim Aufruf über die Argumente ein Security Account angegeben wird (siehe "Usages" in "Install.ps1"-Datei). - Der Service Account muss als ausführender Benutzer im "OneOffixx.JobHost"-Task hinterlegt werden
Task Scheduler → Task Scheduler Library → OneOffixx.JobHost → Properties
Dieser Schritt wird vom Installationsskript automatisch erledigt, wenn beim Aufruf über die Argumente ein Security Account angegeben wird (siehe "Usages" in "Install.ps1"-Datei). - Im SQL-ConnectionString wird der Service Account verwendet (bei der Installation als Argument übergeben oder in "OneOffixx.config"-Datei anpassen)
Dieser Schritt wird vom Installationsskript automatisch erledigt, wenn beim Aufruf über die Argumente der korrekte ConnectionString angegeben wird (siehe "Usages" in "Install.ps1"-Datei).