====== COBI.time Installation ======
===== Anforderungen =====
* Node.js Version 22.14.0 LTS
* Microsoft IIS (Webserver)
* [[https://www.iis.net/downloads/microsoft/url-rewrite|URL Rewrite Modul für Microsoft IIS]]
* PostgreSQL Datenbank
* SAP Business One Service Layer
* SAP Business One 10 (Patchlevel 2 oder höher)
===== Vorbereitung & Prerequisites =====
==== Node.js Installation ====
Laden Sie die LTS-Version von Node.js herunter: \\
[[https://nodejs.org/dist/v22.14.0/node-v22.14.0-x64.msi|nodejs.org/dist/v22.14.0/node-v22.14.0-x64.msi]] und führen Sie die Installation aus. \\
Belassen Sie während des Installationsprozesses alle Standardeinstellungen.
----
==== IIS Installation ====
Sollte Microsoft IIS bereits installiert sein, stellen Sie sicher, dass die **Dynamische Komprimierung** aktiviert ist. \\
Stellen Sie sicher, dass IIS bisher nicht installiert ist:
\\\
{{:1.png?800|}}
\\\
Falls nicht, installieren Sie Microsoft IIS:
\\\
{{:2.png?300 |}}
\\\
Rollen und Features hinzufügen: \\
Klicken Sie im Assistenten jeweils auf **Weiter**:
\\\
{{:5n.png?500|}}
\\\
{{:6n.png?500|}}
\\\
{{:7n.png?500|}}
\\\
Wählen Sie die Rolle **Webserver (IIS)** aus. \\
Navigieren Sie unter **Leistung** und aktivieren Sie zwingend die Option **Dynamische Komprimierung**.
\\\
{{:3.png?500 |}}
\\\
Klicken Sie auf **Weiter** und schließen Sie die Installation ab. Ein Neustart des Servers ist in der Regel nicht erforderlich.
----
==== IIS URL Rewrite Modul Installation ====
Installieren Sie nach erfolgreicher IIS-Installation das Microsoft URL Rewrite Modul: \\
[[https://www.iis.net/downloads/microsoft/url-rewrite|https://www.iis.net/downloads/microsoft/url-rewrite]]
----
===== COBI.time Setup-Assistent =====
Führen Sie die Setup-Executable `v2.3.1.2.exe` als Administrator aus, um den Installations-Assistenten zu starten.
==== Schritt 1: Setup starten ====
Starten Sie die Installation über die bereitgestellte Installer-Datei. \\
{{:de:playground:1_setup_symbol.png?100|}}
----
==== Schritt 2: Setup-Sprache wählen ====
(1) Wählen Sie Ihre bevorzugte Sprache (z. B. Deutsch oder English) aus der Liste aus. \\
(2) Bestätigen Sie mit **OK**. \\
{{:de:playground:2_setup_sprache.png?600|}}
----
==== Schritt 3: PostgreSQL Konfiguration ====
Geben Sie die Verbindungsdaten für Ihre PostgreSQL-Datenbank ein (Host, Port, Benutzername, Passwort und Datenbankname). \\
Klicken Sie anschließend auf **Weiter**. \\
{{:de:playground:3_setup_postgresql.png?600|}}
----
==== Schritt 4: SAP Service Layer Konfiguration ====
(1) Geben Sie die URL zum SAP Service Layer ein (z. B. `http://10.200.17.93:50001/b1s/v1`). \\
(2) Tragen Sie den SAP-Benutzernamen ein (z. B. `manager`). \\
(3) Geben Sie das zugehörige Passwort ein. \\
(4) Tragen Sie den exakten Namen der SAP-Firmendatenbank ein (z. B. `SBODemoDE`). \\
(5) Klicken Sie auf **Test Connection** und stellen Sie sicher, dass die Meldung `Login successful` erscheint. \\
(6) Klicken Sie auf **Weiter**. \\
{{:de:playground:4_setup_servicelayer.png?750|}}
----
==== Schritt 5: Ziel-Ordner wählen ====
Wählen Sie den Installationspfad aus. Standardmäßig installiert sich COBI.time unter `C:\Program Files (x86)\COBI.time`. \\
Klicken Sie auf **Weiter**. \\
{{:de:playground:5_setup_auswaehlen.png?600|}}
----
==== Schritt 6: Bereits zur Installation ====
Überprüfen Sie Ihre Angaben und klicken Sie unten rechts auf **Installieren**. \\
{{:de:playground:6_setup_installation.png?600|}}
----
==== Schritt 7: Installation & Datenbank-Initialisierung ====
Der Installationsprozess dauert ca. **5 bis 15 Minuten**. \\
Bestätigen Sie das Informationsfenster `PostgreSQL installed and connection successful!` mit **OK**. \\
{{:de:playground:7_setup_installation_.png?600|}}
----
==== Schritt 8: Setup beenden ====
Klicken Sie auf **Fertigstellen**, um den Assistenten zu schließen. \\
{{:de:playground:8_setup_finish.png?600|}}
----
===== Nachkonfiguration & Dienst-Einrichtung =====
==== Konfiguration der .env-Datei ====
Navigieren Sie zum Ordner `C:\Program Files (x86)\COBI.time\server` und öffnen Sie die Datei `.env` mit einem Texteditor (als Administrator): \\
{{:de:playground:9_setup_env.png?800|}}
Überprüfen Sie die Werte. Für den Produktivbetrieb passen Sie die folgenden Parameter an:
MODE=production
PORT=62000
SECRET=IhrZufälligerSicherheitsschlüssel
> **Hinweis zum SSL-Zertifikat:** Wenn Sie ein eigenes Zertifikat nutzen möchten, ersetzen Sie im Ordner `C:\Program Files (x86)\COBI.time\server\certs` die Datei `cert.pem` und `key.pem` und passen Sie den Wert `SSLPass` in der `.env` an.
----
==== COBI.time Service per PowerShell installieren ====
Öffnen Sie die **Windows PowerShell als Administrator** und führen Sie folgende Befehle aus:
(1) In den Server-Ordner wechseln:
cd "C:\Program Files (x86)\COBI.time\server"
(2) Das Hilfspaket für Windows-Dienste global installieren:
npm i -g qckwinsvc2
(3) Den COBI.time-Dienst registrieren und starten:
qckwinsvc2 install name="COBI-time" description="COBI.time Backend Server" path="C:\Program Files (x86)\COBI.time\server\server.js" args="-a -c" now
\\
{{:de:playground:10_setup_powershell.png?600|}}
Stellen Sie sicher, dass am Ende die Bestätigung `[INFO] Service COBI-time started.` erscheint.
----
==== Überprüfung in den Windows-Diensten ====
Öffnen Sie die Windows-Diensteverwaltung (`services.msc`). Suchen Sie nach dem Dienst **COBI-time** und stellen Sie sicher, dass der Status auf **Laufend** und der Starttyp auf **Automatisch** steht.
\\\
{{:de:playground:11_setup_dienst.png?800|}}
\\\
----
===== IIS Webserver Konfiguration =====
1. Öffnen Sie den **Internetinformationsdienste-Manager (IIS)**.
2. Wählen Sie die **Default Web Site** aus und ändern Sie den physischen Pfad zu: \\
`C:\Program Files (x86)\COBI.time\dist`
3. **Serverzertifikat importieren:**
* Öffnen Sie den Punkt **Serverzertifikate**.
* Rechtsklick -> **Importieren...**
* Wählen Sie die Zertifikatsdatei `C:\Program Files (x86)\COBI.time\server\certs\cobitime.pfx` aus (Standardpasswort: `1234`) oder nutzen Sie Ihr eigenes SSL-Zertifikat.
4. **Site-Bindungen anpassen:**
* Entfernen Sie den HTTP-Eintrag.
* Fügen Sie eine **HTTPS**-Bindung hinzu und wählen Sie das importierte SSL-Zertifikat aus.
* **Wichtig:** Aktivieren Sie die Option **Servernamensanzeige erforderlich (SNI)**.
----
===== Backend-Verbindung im Frontend einrichten =====
Navigieren Sie zum Ordner `C:\Program Files (x86)\COBI.time\dist\cfg` und öffnen Sie die Datei `settings.js`.
Tragen Sie unter der Backend-URL die Server-IP bzw. den Hostnamen inklusive des in der `.env` definierten Ports ein (z. B. `https://10.200.17.93:62000`).
----
===== Ersteinrichtung der COBI.time Datenstrukturen (Web-Setup) =====
> **Wichtig:** Da COBI.time benutzerdefinierte Tabellen und Felder in SAP Business One anlegt, stellen Sie sicher, dass während der Ersteinrichtung **alle Benutzer aus SAP Business One abgemeldet** sind.
1. Stellen Sie sicher, dass der Dienst **COBI-time** läuft.
2. Öffnen Sie Ihren Browser und rufen Sie die Setup-Seite auf: \\
`https://localhost/Setup` (bzw. Ihre Server-Adresse).
3. Das Web-Setup führt Sie automatisch durch das Anlegen der erforderlichen SAP-Tabellen, Felder und Initialdaten:
* **Tabellen erstellen:** Klicken Sie auf **Ausführen**. Starten Sie nach Fertigstellung den **SAP Service Layer neu** und bestätigen Sie mit **OK**.
* **Felder erstellen:** Klicken Sie erneut auf **Ausführen**. Starten Sie den **SAP Service Layer ein zweites Mal neu** und bestätigen Sie mit **OK**.
* **Initialdaten einspielen:** Klicken Sie ein letztes Mal auf **Ausführen**.
4. Nach Abschluss werden Sie automatisch zur Anmeldeseite weitergeleitet (`https://localhost/Login`).
Sie können sich nun mit den Standard-Administrator-Anmeldedaten einloggen:
* **Benutzername:** `admin`
* **Passwort:** `admin`
> **Sicherheitshinweis:** Ändern Sie das Administrator-Passwort direkt nach dem ersten Login!