# Konfiguration

> Anwendungsname, Server-Port, Netzwerkname und Client-Authentifizierung des eingebetteten OPC UA-Servers und das Anwenden, das sie ablegt und in Kraft setzt.

Konfiguration ist die zweite Karte des Bereichs des OPC UA-Servers im Connector. Ihre Felder sind ein Entwurf: sie sind bearbeitbar, solange der Server nicht lauscht (ausgeschaltet, oder eingeschaltet und beim letzten Start abgewiesen), und es ändert sich nichts, bis **Anwenden** den Entwurf ablegt. Ein ausgeschalteter Server behält ihn für das nächste Einschalten ("Die Konfiguration des OPC UA-Servers wurde gespeichert. Der Server startet damit, sobald er wieder aktiviert wird."); bei eingeschaltetem Server heißt die Schaltfläche **Übernehmen & neu starten** und fährt den Server damit wieder hoch. Die Karte sagt das unter der Schaltfläche: "Deaktivieren Sie den Server, um seinen Endpoint zu bearbeiten. Die Änderungen gelten ab seinem nächsten Start." Connector anzeigen liest die Karte; Connector konfigurieren bearbeitet sie, und den Server ausschalten ist das Deaktivieren der [Befehlsleiste](connector-opcua-server#the-commands).

## Die Felder {#the-fields}

| Feld | Was es ist | Werte / Vorgabe | Wirkung |
| --- | --- | --- | --- |
| Anwendungsname | Der Name, den der Server den Clients ankündigt, und der Betreff seines eigenen Anwendungszertifikats. | Beliebiger Text; Vorgabe **GanterLab OPC UA Server**. Ein leerer Name speichert als Vorgabe; umgebende Leerzeichen fallen weg. | Clients sehen ihn als Anwendungsnamen des Servers. Er ist nicht Teil der Adresse des Endpunkts. Ein geänderter Name ersetzt das eigene Zertifikat des Servers, wie ein geänderter Netzwerkname, sodass Clients dem neuen vertrauen, bevor sie sich wieder verbinden; eine Station, die diesen Server als Gerät liest, hört auf zu lesen und zeigt "Zertifikat geändert: `<Name>`" auf ihrem [Anlagenzugriff](driver-opc-ua#equipment-access), bis das neue dort freigegeben ist. |
| Server-Port | Der TCP-Port, auf dem der Server lauscht. | 1 bis 65535; Vorgabe **4840**. Text, der keine Zahl ist, wird beim Tippen übergangen; eine Zahl außerhalb des Bereichs, wie viele Ziffern sie auch hat, wird unter dem Feld mit "Der Server-Port muss zwischen 1 und 65535 liegen." abgelehnt, und das Feld kehrt zum geltenden Port zurück. Der Port eines anderen Dienstes dieser Station oder einer, den ein anderes Programm hält, wird beim Drücken von Anwenden abgelehnt (siehe unten). | Ändert beide Adressen unter Verbindungsadressen auf Client-Zugriff und verlangt dort eine neue Freigabe der Firewall, denn die Windows-Regel hängt am Port. |
| Netzwerkname | Der Name, den die Adresse des Endpunkts trägt, damit ein Client die Station unter einem Namen erreicht, der zu ihr führt: ein DNS-Name, unter dem Clients verbinden, oder die Adresse eines Rechners, dessen Namen das Netz nicht auflöst. | Standardmäßig leer, und leer heißt der Name dieses Rechners. Sonst ein Hostname: Buchstaben, Ziffern, Bindestriche, Unterstriche und Punkte, oder eine Adresse, ohne opc.tcp:// davor, ohne Port und ohne Pfad. Das Feld übernimmt beim Verlassen oder mit der Eingabetaste; alles andere wird unter dem Feld abgelehnt, mit dem Hinweis, dass es kein Hostname ist, und das Feld kehrt zum geltenden Namen zurück. | Ab dem nächsten Start trägt die Netzwerkadresse unter Verbindungsadressen auf Client-Zugriff diesen Namen, und das eigene Zertifikat des Servers steht neben `localhost` auch für ihn ein. Ein geänderter Name ersetzt dieses Zertifikat, sodass Clients dem neuen vertrauen, bevor sie sich wieder verbinden. |
| Client-Authentifizierung | Welche Sitzungen der Server annimmt, sobald einem Zertifikat vertraut wird. | **Anonym** (Vorgabe): nimmt Sitzungen ohne Zugangsdaten an und weist Sitzungen mit Benutzernamen ab. **Benutzername & Passwort**: nimmt nur das hinterlegte Paar an und weist anonyme Sitzungen ab. | Gilt ab dem nächsten Start; der Server kündigt immer beide Token-Regeln an und setzt die Wahl durch, wenn eine Sitzung aktiviert wird. Um jede Sitzung abzuweisen, schalten Sie den Server aus. |
| Benutzername | Der eine angenommene Benutzername. | 1 bis 64 Zeichen, ohne umgebende Leerzeichen. Nur unter Benutzername & Passwort bearbeitbar. | Zusammen mit dem Passwort das einzige Zugangsdatum, mit dem sich jemand anmeldet. |
| Passwort | Das anzunehmende Passwort. Das Feld schreibt nur: es öffnet leer, was auch immer abgelegt ist, und seine Beschriftung nennt den Zustand, **Passwort (gespeichert)** oder **Passwort (keines gespeichert)**. Der Umschalter **Passwort anzeigen** zeigt allein, was Sie hier eintippen. | 8 bis 128 Zeichen, nicht leer. Leer gelassen bleibt das gespeicherte Passwort, was die Zeile unter dem Feld sagt, sobald es eines gibt: "Leer lassen, um das gespeicherte Passwort zu behalten." Nur unter Benutzername & Passwort bearbeitbar; die Längenregel steht ebenfalls unter dem Feld: "Benutzername: 1–64 Zeichen. Passwort: 8–128 Zeichen." | Als Chiffrat abgelegt, gebunden an den Windows-Benutzer und den Rechner (siehe unten). |

Die Optionsfelder und die drei Textfelder sind ausgegraut, solange der Server lauscht ("Deaktivieren Sie den OPC UA-Server, um seinen Endpoint zu ändern."), solange ein anderer Befehl des Servers läuft und solange eine Einheit läuft. Der Entwurf wird beim Öffnen des Bereichs aus der abgelegten Konfiguration gefüllt und erneut gefüllt, wobei ungespeicherte Änderungen fallen, wenn sich die Konfiguration anderswo ändert, wenn eine Einheit die Station übernimmt und wenn die Runtime stoppt. Das Passwort ist die Ausnahme: es wird jedes Mal leer gefüllt, weil das gespeicherte nie an den Browser geht.

## Anwenden {#apply}

| Befehl | Was er tut | Ausgegraut, wenn (Situation) | Nicht gezeichnet, wenn (Rolle) |
| --- | --- | --- | --- |
| Anwenden / Übernehmen & neu starten | Prüft den Entwurf und legt ihn ab, als eine Arbeit an der Konfiguration. Bei ausgeschaltetem Server heißt die Schaltfläche **Anwenden**: "Die Konfiguration des OPC UA-Servers wird gespeichert…", dann "Die Konfiguration des OPC UA-Servers wurde gespeichert. Der Server startet damit, sobald er wieder aktiviert wird." Bei eingeschaltetem Server heißt sie **Übernehmen & neu starten** und startet den Server mit den neuen Werten neu: "Der OPC UA-Server wird mit der neuen Konfiguration neu gestartet…", dann "Die Konfiguration des OPC UA-Servers wurde übernommen. Er lauscht auf `<Endpunkt>`." Ein neuer Anwendungsname oder Netzwerkname ändert das eigene Zertifikat der Station, unter dem auch der [OPC UA-Treiber](driver-opc-ua) Geräte liest, deshalb startet er den ganzen Connector neu, dessen Geräte einen Moment später wieder lesen, ob der Server ein- oder ausgeschaltet ist; jede andere Änderung betrifft den Server allein, und der Connector liest die ganze Zeit. | Solange der Server lauscht, solange ein anderer Befehl des Servers läuft, solange eine Einheit läuft und solange die abgelegte Konfiguration nicht gelesen werden konnte. | Für eine Rolle ohne **Connector konfigurieren**. |

Die Prüfung geschieht, bevor irgendetwas gespeichert wird, in dieser Reihenfolge: der Port ("Der Server-Port muss zwischen 1 und 65535 liegen."); ein anderer Port als der geltende wird danach abgelehnt, wenn er der Port des Webservers ist, eingestellt unter [Fernzugriff](remote-access) ("Port N ist bereits der Webserver. Wählen Sie einen anderen Port, oder verschieben Sie zuerst den Webserver."), der Port, der für den Agentenzugriff auf der Seite [Agentenzugriff](agent) eingestellt ist, ob der Agentenzugriff ein oder aus ist ("Port N ist bereits der Agentenzugriff. Wählen Sie einen anderen Port, oder verschieben Sie zuerst den Agentenzugriff."), der Port des [Modbus-Servers](connector-modbus-server) auf der Seite Connector, ob er ein- oder ausgeschaltet ist ("Port N ist bereits der Modbus-Server. Wählen Sie einen anderen Port, oder verschieben Sie zuerst den Modbus-Server."), der Port des [MQTT-Brokers](connector-mqtt-broker) auf der Seite Connector, ob er ein- oder ausgeschaltet ist ("Port N ist bereits der MQTT-Broker. Wählen Sie einen anderen Port, oder verschieben Sie zuerst den MQTT-Broker."), oder ein Port, den etwas anderes auf diesem Rechner bereits hält ("Port N ist auf diesem Rechner belegt. Schließen Sie, was ihn hält, oder wählen Sie einen anderen Port."), jeweils unter dem Feld Server-Port, wie die Ablehnung außerhalb des Bereichs, und das Feld kehrt zum geltenden Port zurück; dann der Netzwerkname, unter dem Feld Netzwerkname, und das Feld kehrt zum geltenden Namen zurück; dann unter Benutzername & Passwort der Benutzername ("Der Benutzername muss 1–64 Zeichen lang sein."), ein leeres Feld ohne gespeichertes Passwort zum Behalten ("Es ist noch kein Passwort gespeichert, geben Sie vor dem Anwenden eines ein."), die Länge des Passworts ("Das Passwort muss 8–128 Zeichen lang sein.") und ein leeres Passwort ("Das Passwort darf nicht leer sein."). Ein abgelehnter Entwurf legt nichts ab. Ein Neustart, der den Server gestoppt zurücklässt, meist weil ein anderes Programm den geltenden Port hält, den Übernehmen & neu starten nicht erneut prüft, wird als "Der OPC UA-Server konnte nicht gestartet werden. Möglicherweise kann er Port N nicht belegen. Prüfen Sie die Protokolle." gemeldet; die Konfiguration wurde gespeichert, beheben Sie also die Ursache und drücken Sie Neu starten in der Befehlsleiste. Ein Start, der mit einem Fehler scheitert, statt gestoppt zurückzukommen, wird als "Fehler des OPC UA-Servers: …" gemeldet. Was auch geschieht, die Felder lesen danach die abgelegten Werte erneut.

## Wenn die abgelegte Konfiguration nicht gelesen werden konnte {#when-the-stored-configuration-could-not-be-read}

Konnte die Konfigurationsdatenbank beim Start die Zeile des Servers nicht herausgeben, öffnet die Karte mit dem Hinweis "Die gespeicherte Serverkonfiguration konnte nicht gelesen werden. Die Werte unten sind die Vorgaben dieses Starts, und das Speichern ist abgeschaltet, damit sie die gespeicherte Konfiguration nicht überschreiben. Prüfen Sie das Journal und starten Sie die Anwendung neu." Der Server läuft für diesen Start auf den Vorgaben, Anwenden ist ausgegraut, und ein Druck wird mit demselben Satz in der Statusleiste beantwortet.

## Wenn der Server beim Start seinen Port nicht öffnen kann {#when-the-server-cannot-open-its-port-at-start}

Kann der Server beim Start der Station seinen Server-Port nicht öffnen, weil ein anderes Programm ihn schon belegt (auf einem Industrierechner ist 4840 oft vergeben) oder weil Windows ihn verweigert (ein Port in einem Bereich, den Hyper-V, WSL oder Docker reservieren), bleibt nur der Server gestoppt: Der Connector liest die Geräte, und Logic und die Aufzeichnungen laufen weiter. Eine Karte sagt warum: "Der Server konnte nicht gestartet werden", dann "Port 4840 wird auf diesem Rechner bereits von einer anderen Anwendung belegt, deshalb blieb der OPC UA-Server gestoppt. Wählen Sie einen anderen Server-Port und starten Sie den Server erneut." Die Karte bietet zwei Schaltflächen.

| Befehl | Was er tut | Ausgegraut, wenn (Situation) | Nicht gezeichnet, wenn (Rolle) |
| --- | --- | --- | --- |
| Port N verwenden | Legt N als Server-Port ab und startet den Server darauf, als eine Arbeit an der Konfiguration. N ist der erste Port über dem verweigerten, den das Feld Server-Port annehmen würde: gerade frei auf diesem Rechner und weder der Port des Webservers noch der des Agentenzugriffs oder des Modbus-Servers. Danach sagt die Karte, wo der Server lauscht, denn mit diesem Port verbinden sich die OPC UA-Clients von nun an: "Der OPC UA-Server lauscht jetzt auf Port 4841. OPC UA-Clients verbinden sich mit `<Endpunkt>`." War N beim Start des Servers ebenfalls belegt, kommt dieselbe Karte mit dem nächsten Port zurück. | Solange eine Einheit läuft, solange die Laufzeit gestoppt ist und solange die abgelegte Konfiguration nicht gelesen werden konnte. | Für eine Rolle ohne **Connector konfigurieren**. |
| Connector öffnen | Öffnet den Connector auf der Zeile des OPC UA-Servers, dessen Karte Konfiguration den Server-Port einstellt. | Nie. | Für eine Rolle ohne **Connector anzeigen**. |

Der Port ändert sich nur, wenn jemand "Port 4841 verwenden" oder eine gleichartige Schaltfläche drückt: der Server wechselt nie von sich aus auf einen anderen Port. Ein Fehler, der nicht den Port betrifft, lässt Connector öffnen allein auf der Karte, unter dem Grund, den der Start genannt hat. Startet die Station verborgen im Infobereich, wiederholt eine Windows-Benachrichtigung Titel und Grund der Karte; sie hat keine Schaltflächen, und die Karte wartet im Fenster.

## Das Passwort und wo es wohnt {#the-password-and-where-it-lives}

Das Passwort liegt als DPAPI-Chiffrat je Benutzer, wie jedes Geheimnis eines Geräts. Eine [Sicherung](settings-backups) der Konfiguration, die auf einem anderen Rechner oder unter einem anderen Windows-Konto geöffnet wird, kommt ohne es an: der Server startet dann mit eingeschaltetem Benutzername & Passwort und ohne Passwort zum Prüfen, weist jede Anmeldung ab und schreibt den Grund ins Journal ("Die Authentifizierung mit Benutzername und Passwort ist eingeschaltet, aber unter diesem Windows-Konto lässt sich kein Passwort des OPC UA-Servers lesen … Geben Sie es in der Konfiguration des OPC UA-Servers im Connector erneut ein."). Geben Sie es hier erneut ein. Den umgekehrten Weg nimmt das gespeicherte Passwort nie: das Feld öffnet leer, und nur seine Beschriftung sagt, ob es eines gibt, sodass die Seite, die ein entfernter Browser bekommt, keine Zugangsdaten trägt. Über eine entfernte Verbindung mit einfachem HTTP gehen der Benutzername und das Passwort, die Sie auf dieser Seite eingeben, im Klartext über das Netz; siehe [Fernzugriff](remote-access).

## Was dieser Abschnitt nicht tut {#what-this-section-does-not-do}

Das Vertrauen in ein Zertifikat ist eine eigene Prüfung, entschieden unter [Client-Zugriff](connector-opcua-client-access): eine vertraute Anwendung muss sich trotzdem so anmelden, wie es hier gewählt ist, und ein Benutzername meldet niemanden an, dessen Zertifikat nicht vertraut wurde. Es gibt einen Benutzernamen und ein Passwort, keine Liste, und keine Rechte je Client; der Adresspfad `/UA/GanterLab` und die Sicherheitsrichtlinien sind nicht einstellbar; und der Netzwerkname fasst einen Namen, keine Liste, sodass der Endpunkt diesen Namen ankündigt, mit `localhost` daneben, und sonst nichts. Der Adressraum von Logic zeigt die Punkte des Servers nur zum Lesen, und seine Schaltfläche "Connector öffnen" landet auf der Zeile des Servers.
