# Applikationsserver

Führe für die Installation und das Setup des Applikationsservers die nachfolgenden Schritte aus.

{% hint style="warning" %}
**Bitte beachte**: Die Navigation durch die Installations- und Setup-Schritte erfolgt ausschließlich mit dem Keyboard. Die Verwendung einer Maus ist leider nicht möglich.
{% endhint %}

## Installation des Applikationsservers

{% stepper %}
{% step %}

### Vorbereitende Schritte ausführen

Achte darauf, dass du vor der Installation die [vorbereitenden Schritte](/docs/manual/installation-und-konfiguration/installation-und-konfiguration/enginsight-plattform/automatische-installation.md#vorbereitung) korrekt ausgeführt hast.
{% endstep %}

{% step %}

### Debian-Image auf dem Applikationsserver starten

Starte das Enginsight Debian-Image *auf dem Applikationsserver* und wähle **App-Server (auto)**. Bestätige deine Eingabe mit der **Enter**-Taste.

{% hint style="info" %}
Wie du ein virtuelles Informationsmedium startest und auswirfst, hängt von deinem verwendeten Hypervisor ab.
{% endhint %}

<div align="left"><figure><img src="/files/5j1i6QdBHQ4ySZTe6R4v" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Es erscheint nun für einige Augenblicke ein blauer Bildschirm. Dies ist ein korrektes Verhalten, daher kannst du einfach abwarten.
{% endhint %}
{% endstep %}

{% step %}

### Sprache, Standort und Tastaturlayout angeben

Im Folgenden werden die gewünschte Sprache für die Installation, der Standort der Installation sowie das Tastaturlayout abgefragt.

Wähle eine **Sprache**, deinen **Standort** sowie das passende **Tastaturlayout** aus und bestätige deine Eingaben jeweils mit **Weiter** und der **Enter**-Taste.

{% hint style="info" %}
Das Setup beginnt nun automatische Informationen über dein Netzwerk abzurufen. Dies kann einen kurzen Moment dauern, du kannst daher einfach abwarten, bis alles geladen wurde.
{% endhint %}
{% endstep %}

{% step %}

### Rechnernamen angeben

Gib nun einen **Rechnernamen** für den Applikationsserver an. Dies ist der Name, mit dem der Applikationsserver im Netzwerk identifiziert wird.

<figure><img src="/files/WKUiUFWmLKhIYWLbqQO8" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Frage bei deinem Netzwerkadministrator nach, wenn du dir unsicher bist, wie der Name für deinen Applikationsserver lauten soll. Der standardmäßig von uns angegebene Rechnername für den Applikationsserver lautet **ngs-app**.
{% endhint %}

Bestätige deine Eingabe mit **Weiter** und der **Enter**-Taste.
{% endstep %}

{% step %}

### Domain-Namen angeben

Gib den **Domain-Namen** deines Unternehmens an, z.B. *beispielfirma.de*.

<figure><img src="/files/wQ32t5k5kEr9DVIarlw4" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Frage bei deinem Netzwerkadministrator nach, wenn du dir unsicher bist, wie der Domain-Name deines Unternehmens lautet.
{% endhint %}

Bestätige deine Eingabe mit **Weiter** und der **Enter**-Taste.
{% endstep %}

{% step %}

### Optional: HTTP-Proxy-Daten angeben

Wenn du einen HTTP-Proxy einsetzt, um das Internet zu erreichen, gib die entsprechenden Proxy-Daten im Standardformat an.

Wenn du keinen HTTP-Proxy einsetzt, lasse das Feld einfach leer und bestätige mit der **Enter**-Taste.

<figure><img src="/files/mZfTHRy2Uj74n0qdUmDS" alt=""><figcaption></figcaption></figure>

Die Angabe der Proxy-Daten kann folgendermaßen aussehen:

* Keine Angabe von Benutzer, Passwort und Port: `http://`<mark style="color:$primary;">`<IPAdresseHost>`</mark>`/`
* Angabe von Benutzer und Passwort, keine Angabe eines Ports: `http://`<mark style="color:$success;">`<Benutzername>`</mark>`:`<mark style="color:$warning;">`<Passwort>`</mark>`@`<mark style="color:$primary;">`<IPAdresseHost>`</mark>`/`
* Angabe von Benutzer, Passwort und Port: \
  `http://`<mark style="color:$success;">`<Benutzername>`</mark>`:`<mark style="color:$warning;">`<Passwort>`</mark>`@`<mark style="color:$primary;">`<IPAdresseHost>`</mark>`:8080/`

{% hint style="danger" %}
**Bitte beachte**: Der letzte Slash / muss zwingend gesetzt werden!
{% endhint %}

Bestätige deine Eingabe mit der **Enter**-Taste.
{% endstep %}

{% step %}

### Benutzerkonto für den Applikationsserver anlegen

Gib nun einen Namen für das Benutzerkonto für den Applikationsserver an, das du statt des root-Kontos verwenden kannst. Bestätige deine Eingabe mit **Weiter** und der **Enter**-Taste.

<figure><img src="/files/ksor6N5jfnpGSEZ3bysb" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Der standardmäßig von uns angegebene Benutzerkonto-Name lautet **Enginsight APP**.
{% endhint %}
{% endstep %}

{% step %}

### Benutzername angeben

Gib nun einen **Benutzernamen** für das neue Applikationsserver-Benutzerkonto an.

<figure><img src="/files/J2QxXbDpChumFU9QieSe" alt=""><figcaption></figcaption></figure>

Der Benutzername sollte mit einem Kleinbuchstaben beginnen. Bestätige deine Eingabe mit **Weiter** und der **Enter**-Taste.

{% hint style="info" %}
Der standardmäßig von uns angegebene Benutzername lautet **ngsapp**.
{% endhint %}
{% endstep %}

{% step %}

### Passwort angeben

1. Gib ein **Passwort** für das neue Applikationsserver-Benutzerkonto an. Aktiviere **Passwort im Klartext anzeigen**, wenn du dies benötigst, indem du mit der Tastatur zu der Option navigierst und die **Enter**-Taste drückst.

<figure><img src="/files/4mnTN8KSJvpRAvgTpGzx" alt=""><figcaption></figcaption></figure>

2. Bestätige deine Eingabe mit **Weiter** und der **Enter**-Taste.
3. Gib das Passwort zur Sicherheit erneut ein. Aktiviere **Passwort im Klartext anzeigen**, wenn du dies benötigst. Bestätige deine Eingabe mit **Weiter** und der **Enter**-Taste.

<figure><img src="/files/3TEapzERASwDSXZH1hge" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**Bitte beachte**: Wir empfehlen dringend, Benutzername und Passwort für den Applikationsserver in einem Passwort-Manager zu speichern!
{% endhint %}
{% endstep %}

{% step %}

### Festplatte wählen

Wähle die **Festplatte** aus, auf der eine Partition angelegt wird, auf der Daten gespeichert werden sollen. Bestätige deine Eingabe mit der **Enter**-Taste.

<figure><img src="/files/kU8bEaEBlvsuTVHRTypK" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Installation abschließen

Nun startet die eigentliche Installation. Warte darauf, bis die Installation abgeschlossen ist und eine entsprechende Meldung erscheint.

<figure><img src="/files/61vFZeMeaoje8T5YLQGv" alt=""><figcaption></figcaption></figure>

Bestätige die Information **Installation abgeschlossen** mit **Weiter** und der **Enter**-Taste.
{% endstep %}

{% step %}

### Virtuelles Informationsmedium auswerfen

Wirf nun das virtuelle Informationsmedium mit dem Debian-Image aus, um mit dem Setup des Applikationsservers fortzufahren.

{% hint style="info" %}
Wie du ein virtuelles Informationsmedium startest und auswirfst, hängt von deinem verwendeten Hypervisor ab.
{% endhint %}
{% endstep %}
{% endstepper %}

***

## Setup des Applikationsservers

Wenn die Installation abgeschlossen ist und das virtuelle Installationsmedium ausgeworfen wurde, wird dir in der Konsole deiner VM folgendes angezeigt:

<div align="left"><figure><img src="/files/clcSeGMiUIoA0oVsvvEJ" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
`ngs-app` steht dabei für den Rechnernamen, den du bei der Installation für den Applikationsserver vergeben hast.
{% endhint %}

Du kannst nun entweder in der Konsole des Applikationsservers selbst oder per Fernzugriff über SSH (Secure Shell) von einer anderen Maschine aus fortfahren.

{% hint style="warning" %}
**Bitte beachte**: Solltest du eine Einstellung während des Konfigurationsprozesses aus Versehen falsch vornehmen, kannst du das Setup-Skript jederzeit mit dem Befehl `initial-setup` neu starten.&#x20;
{% endhint %}

{% stepper %}
{% step %}

### Auf dem Applikationsserver anmelden

1. Logge dich nun auf dem Applikationsserver ein, um mit dem Setup fortzufahren.
2. Gib dazu neben `<Rechnername> login:` den Benutzernamen ein, den du für das neue Applikationsserver-Benutzerkonto angelegt hast. Bestätige deine Eingabe mit der **Enter**-Taste.
3. Gib neben `Password:` das Passwort ein, das du für das neue Applikationsserver-Benutzerkonto angelegt hast. Bestätige deine Eingabe mit der **Enter**-Taste.

{% hint style="danger" %}
**Bitte beachte**: Das eingegebene Passwort wird ***nicht*** angezeigt, auch nicht mit einem Sternchen-Platzhalter. Solltest du dich vertippen, musst du den Login nach einer bestimmten Anzahl von Fehleingaben erneut starten. In der VM-Konsole sind 3 Fehleingaben möglich. Verwendest du SSH, ist nur eine Fehleingabe möglich.&#x20;
{% endhint %}

4. Wiederhole die Passwort-Eingabe neben `[sudo] Passwort für <Benutzername>:` . Bestätige deine Eingabe mit der **Enter**-Taste.&#x20;

<figure><img src="/files/gAmBJvf07f5u68q8Bjfl" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Bei der Enginsight Docker Registry anmelden

Gib nun deine Zugangsdaten für die Docker Registry an.

{% hint style="warning" %}
**Bitte beachte**: Die Zugangsdaten für die Enginsight Docker Registry erhältst du von uns. Nimm dazu Kontakt mit uns auf unter *<insidesales@enginsight.com>*.
{% endhint %}

<figure><img src="/files/jzex7EexAvcybPkJ4e1w" alt=""><figcaption></figcaption></figure>

1. Gib dazu neben `Username:` den Benutzernamen `enginsight` ein und bestätige deine Eingabe mit der **Enter**-Taste.
2. Gib neben `Password:` das Passwort ein, das du von uns für die Docker Registry erhalten hast, und bestätige deine Eingabe mit der **Enter**-Taste.

{% hint style="danger" %}
**Bitte beachte**: Das eingegebene Passwort wird ***nicht*** angezeigt, auch nicht mit einem Sternchen-Platzhalter. Solltest du dich vertippen, musst du das Setup nach einer bestimmten Anzahl von Fehleingaben erneut starten. In der VM-Konsole sind 3 Fehleingaben möglich. Verwendest du SSH, ist nur eine Fehleingabe möglich.&#x20;
{% endhint %}
{% endstep %}

{% step %}

### Enginsight Images für die Docker-Container herunterladen

Warte nun ab, bis alle Enginsight Images für die benötigten Docker-Container heruntergeladen wurden.

<figure><img src="/files/3gq9cWTfes90YvuY7t8q" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### TLS und rollenbasierte Zugangskontrolle aktivieren

Lege nun fest, ob du Verbindungen vom und zum Applikationsserver per TLS (Transport-Layer Security) verschlüsseln und eine rollenbasierte Zugriffskontrolle aktivieren möchtest.

{% hint style="warning" %}
**Bitte beachte**: Die Aktivierung dieser Einstellung wird von uns ausdrücklich empfohlen!
{% endhint %}

<figure><img src="/files/ib5nYRjj9yaaz0VysOUs" alt=""><figcaption></figcaption></figure>

Bestätige die Frage **TLS und rollenbasierte Zugangskontrolle aktivieren (empfohlen)? (j/n)** entsprechend mit **j** für Ja oder mit **n** für Nein. Bestätige deine Eingabe mit der **Enter**-Taste.
{% endstep %}

{% step %}

### Endbenutzer-Lizenzvertrag lesen und bestätigen

Nachdem der Download abgeschlossen ist, wirst du aufgefordert, dem **Endbenutzer-Lizenzvertrag** (End User License Agreement; EULA) von Enginsight zuzustimmen.

<figure><img src="/files/AmmxN1XYznIyeedNCP9o" alt=""><figcaption></figcaption></figure>

Lies dir den Lizenzvertrag durch und gib deine Zustimmung mit **y** für Yes, um fortzufahren. Bestätige deine Eingabe mit der **Enter**-Taste.&#x20;
{% endstep %}

{% step %}

### URIs und URLs überprüfen und bestätigen

Nun wirst du aufgefordert, verschiedene URIs (Uniform Resource Identifier) und URLs zu überprüfen und zu bestätigen.

<div align="left"><figure><img src="/files/Me92MbL75Vqs7Z6gh9Pm" alt=""><figcaption></figcaption></figure></div>

Die entsprechenden URIs und URLs sind *bereits vorausgefüllt* und müssen nur überprüft und jeweils mit der **Enter**-Taste bestätigt werden.

Wenn du bestimmte Angaben ändern möchtest, gib die Änderungen wie folgt ein und bestätige sie jeweils mit der **Enter**-Taste:

<table><thead><tr><th width="202.171875">Option</th><th>Beschreibung</th></tr></thead><tbody><tr><td>Enter MongoDB URI</td><td><p>Gib die URI der MongoDB-Instanz, auf der die Enginsight Datenbank läuft, in folgendem Format an:<br><br><code>mongodb://mongoDefaultUser:&#x3C;PasswortMongoDB>@&#x3C;IPAdresseDatenbankserver>:27017/enginsight?authSource=enginsight&#x26;replicaSet=rs0</code></p><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Vergiss nicht, <code>&#x3C;PasswortMongoDB></code> und <code>&#x3C;IPAdresseDatenbankserver></code> entsprechend zu ersetzen. </p><p>Das Passwort für die MongoDB findest du auch im Verzeichnis <code>/home/ngsapp/mongoDefaultUserPassword</code>.</p></div></td></tr><tr><td>Enter Redis URI</td><td><p>Gib die URI des Remote Dictionary Servers (Redis) in folgendem Format an, falls du diesen verwendest:<br><br><code>redis://redis:&#x3C;RedisPortnummer></code></p><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Vergiss nicht, <code>&#x3C;RedisPortnummer></code> entsprechend zu ersetzen.</p></div></td></tr><tr><td>Enter APP URL</td><td><p>Gib die URL, unter der die Enginsight Benutzeroberfläche aufgerufen werden kann, in folgendem Format an:<br><br><code>http://&#x3C;IPAdresseApplikationsserver></code> <strong>oder</strong> <code>http://&#x3C;DomainApp></code></p><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Vergiss dabei nicht, <code>&#x3C;IPAdresseApplikationsserver></code> und <code>&#x3C;DomainApp></code> entsprechend zu ersetzen.</p></div></td></tr><tr><td>Enter API URL</td><td><p>Gib die URL, unter der die Enginsight API erreicht werden kann, in folgendem Format an:<br><br><code>http://&#x3C;IPAdresseApplikationsserver>:8080</code> <strong>oder</strong> <code>http://&#x3C;DomainAPI>:8080</code></p><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Vergiss dabei nicht, <code>&#x3C;IPAdresseApplikationsserver></code> und <code>&#x3C;DomainAPI></code> entsprechend zu ersetzen.</p></div></td></tr></tbody></table>
{% endstep %}

{% step %}

### Initialisierung der Docker-Container starten

Nachdem du alle URIs und URLs überprüft und bestätigt hast, startet die Initialisierung der Docker-Container.&#x20;

<figure><img src="/files/qm9DPedKBtYTRJNwysgd" alt=""><figcaption></figcaption></figure>

Dies kann einige Zeit in Anspruch nehmen. Warte ab, bis die Initialisierung abgeschlossen ist.
{% endstep %}

{% step %}

### Zugriff auf Enginsight Benutzeroberfläche und API per HTTPS absichern

Nach Installation und erstem Setup des Applikationsservers ist der Zugriff per HTTPS auf die Enginsight Benutzeroberfläche und API noch deaktiviert.

{% hint style="danger" %}
**Bitte beachte**: Wir empfehlen aus Sicherheitsgründen dringend, den Zugriff per HTTPS zu aktivieren!
{% endhint %}

Nutze folgende Anleitung, um eine gesicherte Verbindung per HTTPS zu aktivieren: [Verschlüsselung per HTTPS](/docs/manual/installation-und-konfiguration/installation-und-konfiguration/weitere-konfigurationen/verschlusselung-per-https.md).

<figure><img src="/files/Y5Gs5kN7VRaXTTJIK6OB" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Applikationsserver-Setup abschließen

Nach Abschluss des Applikationsserver-Setups wirst du gefragt, ob du SSH deaktivieren möchtest. Standardmäßig ist hier **j** für Ja ausgewählt.&#x20;

Da du noch weitere Server-Konfigurationen durchführen möchtest, wähle **n** für Nein.

Bestätige deine Eingabe mit der **Enter**-Taste.

{% hint style="danger" %}
**Bitte beachte**: Wir empfehlen, das Authentifizierungsverfahren für den SSH-Zugriff auf die Applikationsserver-VM abzuändern, sobald du den Server produktiv einsetzt. Nutze eine Authentifizierung per Public-Key anstatt der Anmeldung über Benutzernamen und Passwort.
{% endhint %}
{% endstep %}
{% endstepper %}

***

## Vorläufige Login-Daten für die Benutzeroberfläche

Nachdem du die Installation und das Setup des Applikationsservers abgeschlossen hast, kannst du dich mit vorläufigen Login-Daten anmelden, um zu testen, ob deine Enginsight Instanz wie gewünscht funktioniert. Passe danach die Login-Daten an.

Nimm dazu folgende Schritte vor:

{% stepper %}
{% step %}

### Docker-Container auflisten

Liste mit folgendem Befehl alle Docker-Container auf, um die ID des Containers `server-m2` zu erhalten:

```
sudo docker ps
```

Bestätige deine Eingabe mit der **Enter**-Taste.
{% endstep %}

{% step %}

### Container-ID einsetzen

Kopiere die ID des Docker-Containers `server-m2` und setze sie in folgenden Befehl ein:

```
sudo docker logs <ContainerID>
```

Bestätige deine Eingabe mit der **Enter**-Taste.
{% endstep %}

{% step %}

### Initiale Login-Daten erhalten

Nun werden dir die Login-Daten für die Erstanmeldung an der Enginsight Plattform angegeben.&#x20;

<div align="left"><figure><img src="/files/LqJdLeCOrazCr3dr69ei" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
**Bitte beachte**: Wir empfehlen dringend, die initialen Login-Daten an einem sicheren Ort abzuspeichern.
{% endhint %}
{% endstep %}

{% step %}

### An der Enginsight Plattform anmelden

1. Rufe die Enginsight Benutzeroberfläche mit der App-URL auf, die du auch im Setup-Skript angegeben hast: `https://<DomainApp>`

{% hint style="warning" %}
**Bitte beachte**: Solltest du die [Verschlüsselung per HTTPS](/docs/manual/installation-und-konfiguration/installation-und-konfiguration/weitere-konfigurationen/verschlusselung-per-https.md) noch nicht durchgeführt haben, muss die App-URL mit `http://` beginnen.
{% endhint %}

2. Melde dich mit deinen initialen Login-Daten an.
   {% endstep %}

{% step %}

### Initiale Login-Daten ändern

{% hint style="danger" %}
**Bitte beachte**: Aus Sicherheitsgründen ist es unabdingbar, dass du die initialen Anmeldedaten direkt änderst, nachdem du dich das erste Mal an der Enginsight Plattform angemeldet hast!
{% endhint %}

1. Navigiere dazu in der Benutzeroberfläche zu **Einstellungen** → **Benutzerkonto**.&#x20;
2. Passe im Feld **E-Mail** die angegebene E-Mail-Adresse an und bestätige deine Eingabe mit **Änderungen speichern**.

<div align="left"><figure><img src="/files/kSbPXaBom6JZLWU8DMSO" alt="" width="563"><figcaption></figcaption></figure></div>

3. Erstelle im Bereich **Passwort** ein neues Passwort und bestätige deine Eingaben mit **Änderungen speichern**.

<div align="left"><figure><img src="/files/GnloPzhYNNNU9yxrMdVy" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="warning" %}
**Bitte beachte**: Wir empfehlen, Benutzername und Passwort für die Enginsight Plattform in einem Passwort-Manager zu speichern!
{% endhint %}
{% endstep %}
{% endstepper %}

***

## Nächste Schritte

Fahre nun mit der [Installation des Komponentenservers](/docs/manual/installation-und-konfiguration/installation-und-konfiguration/enginsight-plattform/automatische-installation/komponentenserver.md) fort.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.enginsight.com/docs/manual/installation-und-konfiguration/installation-und-konfiguration/enginsight-plattform/automatische-installation/applikationsserver.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
