opsi-Server einrichten
Diese Anleitung bietet eine detaillierte Beschreibung des Prozesses zur Einrichtung eines opsi-Servers, um Windows-Installationen effizient bereitzustellen und die Geräteanmeldung in Relution zu automatisieren. Ziel ist es, einen funktionierenden opsi-Server zu konfigurieren, der über Netboot Windows-Betriebssysteme auf Client-Geräten installieren und diese nahtlos in Relution zur zentralisierten Verwaltung integrieren kann.
Die Anleitung umfasst alle wesentlichen Schritte, einschließlich der Installation und Konfiguration des opsi-Servers, der Vorbereitung von Windows- und WinPE-Installationsdateien. Darüber hinaus wird der Prozess der automatisierten Relution-Registrierung unter Verwendung lokaler opsi-Produkte erklärt.
Glossar
| Begriff | Erklärung |
|---|---|
| Administrationskonsole | Bezieht sich auf die Benutzeroberfläche, die im opsi-Server enthalten ist und unter https://localhost:4447 läuft. |
| configed | Bezieht sich auf die zusätzliche Java-Anwendung, die auf jedem Gerät ausgeführt werden kann, um sich mit dem opsi-Server zu verbinden. |
| Client-Debug-Konsole | Bezieht sich auf die Benutzeroberfläche des opsi-Agents, die unter https://<opsi-client-IP>:4441 läuft. |
Einrichtung des opsi-Servers
Dieser Abschnitt führt durch den Prozess der Einrichtung des opsi-Servers und bietet eine detaillierte Anleitung zu den erforderlichen Konfigurationen, Installationsschritten und der Vorbereitung der notwendigen Pakete.
Serverinstallation
Wir empfehlen die Docker-basierte Installation, um den opsi-Server in Linux-Umgebungen einzurichten. Zu beachten ist jedoch, dass die Docker-Installation auf Geräten mit macOS aufgrund von Kompatibilitätsproblemen mit dem integrierten TFTP-Server nicht verwendet werden kann. Für macOS-Systeme sollte die vorkonfigurierte VirtualBox → verwendet werden.
Den Anweisungen der opsi-Dokumentation unten folgen, um den opsi-config-Server einzurichten. Nach der Installation läuft die Administrationskonsole unter https://localhost:4447. Zusätzlich die Java-Anwendung → für configed herunterladen.
Dokumentation
Installation der benötigten opsi-Pakete
Die Administrationskonsole öffnen und zum Terminal-Tab navigieren. Im Terminal folgenden Befehl verwenden, um die benötigten opsi-Pakete zu installieren:
opsi-package-updater -v install <paketname>
Eine Übersicht über alle verfügbaren lokalen und Netboot-Produkte ist im opsi-Repository → zu finden.
Die folgenden Pakete installieren:
| Paket | Beschreibung |
|---|---|
| opsi-client-agent | Client, der auf dem Gerät installiert ist, um Befehle auszuführen |
| opsi-script | Wird vom Client-Agent verwendet, um opsi-Skripte auszuführen |
| opsi-uefi-netboot | Erforderlich für UEFI-Netboot, um die Bootreihenfolge zu ändern |
| opsi-winpe | Erstellt ein WinPE auf dem Gerät |
| hwaudit (optional) | Inventarisierungstool, das Informationen über das Gerät sammelt |
Client-Registrierung
Dieser Abschnitt behandelt die Registrierung von Geräten, auf denen bereits ein Windows-Betriebssystem installiert ist, mit dem opsi-Server. Der opsi-Client-Agent wird auf dem Gerät installiert, um die Kommunikation mit dem Server herzustellen und eine zentrale Steuerung und Aktionen zu ermöglichen.
Für Clients ohne installiertes Windows sind zusätzliche Schritte erforderlich, um das Betriebssystem über Netboot zu installieren. In diesem Fall die offiziellen opsi-Dokumentationen für detaillierte Anweisungen zur Client-Initiierung prüfen.
Der opsi-Client-Agent kann unter https://<opsi-server-ip>:4447/public/opsi-client-agent/ heruntergeladen werden. Nach der Installation auf dem Gerät müssen die Adresse des opsi-Servers und die Anmeldedaten eines Admin-Kontos eingegeben werden.
Nach Abschluss der Registrierung wird der Client im Geräteinventar des configed angezeigt. Um die Verbindung zwischen opsi-Server und Client zu überprüfen, kann eine Popup-Nachricht gesendet werden (Top-Menü → Client → Popup-Nachricht senden).
Das UEFI-Netboot-Produkt installieren, indem die gewünschte Aktion auf einmal gesetzt wird.
Der Tab Logdateien enthält detaillierte Informationen zur Fehlerbehebung beim opsi-Client-Agent und dem Linux-Bootimage. Dies ist nützlich, um die Installation von lokalen und Netboot-Produkten zu debuggen.

Dokumentation
Vorbereitung der Windows-Installationsdateien
Dieser Abschnitt enthält Anweisungen zum Erwerb der erforderlichen Windows-ISO-Datei, zum Erstellen einer kompatiblen Windows-Preinstallation-Umgebung (WinPE) und zur Organisation dieser Dateien in der erforderlichen Verzeichnisstruktur für Netboot-Produkte. In diesem Beispiel wurde Windows 11 auf dem Gerät installiert.
Windows-ISO und WinPE
Um den opsi-Server für die Bereitstellung von Windows-Installationen vorzubereiten, sind mehrere Schlüsselkomponenten erforderlich. Zunächst wird die Windows-ISO-Datei für die spezifische Version benötigt, die installiert werden soll, z. B. Windows 11. Die ISO-Datei kann von der offiziellen Microsoft-Website heruntergeladen werden.
Als Nächstes muss ein WinPE erstellt werden. Das WinPE muss mit der Version des bereitgestellten Windows-Images übereinstimmen. Dies kann durch die Nutzung des opsi-winpe-Pakets erreicht werden, welches die Installation von Windows ADK und dem PE-Plugin erfordert. Alternativ kann das WinPE direkt mit Windows ADK erstellt werden, wie in der opsi-Dokumentation beschrieben.
Die Dokumentation zu Netboot-Produkten → beschreibt zwei Möglichkeiten zur Erstellung eines WinPE:
- Verwendung des Pakets
opsi-winpe(Windows ADK und das PE-Plugin → müssen installiert sein!) - Verwendung des Windows ADK.
Verzeichnisstruktur für Netboot-Produkt einrichten
Das passende Wrapper-Paket für das eigene Windows-Image aus dem opsi-Netboot-Repository → mithilfe des Paketmanagers installieren, z. B. opsi-local-image-win11-x64_4.3.0.2-13 für Windows 11.
Auf dem opsi-Server wird ein neues Verzeichnis hinzugefügt (z. B. /var/lib/opsi/depot/win11-x64). Die Windows-Image-Dateien und die WinPE-Dateien müssen in die entsprechenden Verzeichnisse platziert werden (siehe Übersicht der Verzeichnisstruktur →).
Installationsdateien
Der Inhalt der Windows-ISO-Datei muss in das Verzeichnis installfiles verschoben werden.
WinPE
Das WinPE muss in das Verzeichnis winpe verschoben werden.
Am Ende befinden sich alle Dateien und Verzeichnisse des WinPE auf der obersten Ebene des folgenden Verzeichnisses:
Vollständiges Konfigurationsbeispiel anzeigen
/var/lib/opsi/depot/win11-x64/winpe/
├── fwfiles
├── media
├── mount
├── bg-bg
├── Boot
├── bootmgr
├── bootmgr.efi
├── cs-cz
├── da-dk
├── de-de
├── EFI
├── el-gr
├── en-gb
├── en-us
├── es-es
├── es-mx
├── et-ee
├── fi-fi
├── fr-ca
├── fr-fr
├── hr-hr
├── hu-hu
├── it-it
├── ja-jp
├── ko-kr
├── lt-lt
├── lv-lv
├── nb-no
├── nl-nl
├── pl-pl
├── pt-br
├── pt-pt
├── ro-ro
├── ru-ru
├── sk-sk
├── sl-si
├── sources
├── sr-latn-rs
├── sv-se
├── tr-tr
├── uk-ua
├── zh-cn
└── zh-tw
Dokumentation
DHCP-Server konfigurieren
Um einen DHCP-Server für PXE-Boot einzurichten, müssen spezifische Optionen definiert werden, mit denen PXE-Boot-Clients die benötigten Informationen erhalten, um den TFTP-Server zu finden und die Bootloader-Datei herunterzuladen. Diese Optionen werden üblicherweise als DHCP-Optionen 66 (TFTP-Server) und 67 (Bootloader-Datei) bezeichnet.
Falls der eigene Router keine Benutzeroberfläche zur Konfiguration dieser Optionen bereitstellt, beispielsweise bei Verwendung eines Linux- oder Windows-DHCP-Servers, müssen die folgenden Optionen zur Datei dhcpd.conf hinzugefügt werden:
next-server <opsi-server-IP>;
filename "opsi/opsi-linux-bootimage/loader/opsi-netboot.efi";
Netboot starten
Um die Installation eines Netboot-Produkts zu starten, zum Tab Netboot-Produkte in der Configed-Oberfläche navigieren. Die Angeforderte Aktion des gewünschten Produkts auf Setup setzen und auf das Speichersymbol in der oberen linken Ecke klicken.
Nachdem der Auftrag übermittelt wurde, lässt sich der Prozess überwachen, indem die Logs in den Client-Details von configed sowie in der Client-Debug-Konsole überprüft werden. Diese Logs zeigen an, ob der opsi-Client den Auftrag erfolgreich erhalten und verarbeitet hat.
Nach Abschluss dieser Schritte wird der Windows-Client beim nächsten Neustart nach Netboot-Quellen suchen und den Installationsprozess starten.

Für die Fehlerbehebung können die folgenden Befehle ausgeführt werden, um den TFTP-Verkehr auf dem opsi-Server einzusehen:
sudo tcpdump -i lo0 port 69
journalctl -f
Dokumentation
Relution-Einschreibung
Dieser Abschnitt beschreibt den Prozess der Einschreibung von Geräten in Relution mithilfe des relution-enrollment-Pakets. Dieses Produkt automatisiert die Installation eines Bereitstellungspakets über PowerShell und sorgt so für eine nahtlose Integration der Geräte in Relution.
Bereitstellungspaket vorbereiten
Ein Bereitstellungspaket muss gemäß den Anweisungen zum Windows bulk enrollment → erstellt werden.
opsi-Paket für die Relution-Einschreibung installieren
Das Paket relution-enrollment ist als experimentelle Version im öffentlichen opsi-Repository → verfügbar.
Die relution-enrollment_<package-version>.opsi-Datei mit dem Befehl wget herunterladen und den folgenden Befehl ausführen, um das opsi-Paket zu installieren, damit es in der configed-Oberfläche verfügbar wird:
opsi-cli package install relution-enrollment-<package-version>.opsi
Nach der Installation ist das Paket im Depot-Ordner (var/lib/opsi/depot) vorhanden. Das generierte Bereitstellungspaket in diesem Ordner platzieren und opsi-set-rights in diesem Verzeichnis ausführen.
/var/lib/opsi/depot/relution-enrollment/
├── enrollment-opsiscript
├── relution.ppkg
├── relution-enrollment.files

Produkt installieren
Um das Paket zu installieren, den Client auswählen und zum Tab Localboot products navigieren. Für das Produkt relution-enrollment die gewünschte Aktion auf einmal setzen. Den Status speichern und eine on_demand-Aktion auslösen (Menü → Client → Event opsiclientd auslösen → on_demand).
Da der PowerShell-Befehl zur Installation des Bereitstellungspakets die Aktion immer als erfolgreich markiert, sollten die Logs auf eventuelle Fehler überprüft werden.
Der Fehler Package installation failed, error code -2147024713 (800700B7) zeigt an, dass ein Paket mit derselben ID bereits installiert ist.
Wenn das Bereitstellungsprofil bereits installiert wurde, muss es zuerst entfernt werden.

Tipps zur Fehlerbehebung
In diesem Abschnitt werden häufige Probleme beschrieben, die während der Einrichtung des opsi-Servers und der Netboot-Installation auftreten können. Zudem werden Lösungen oder Verweise auf relevante Dokumentationen zur Fehlerbehebung bereitgestellt:
- Fehler: Unable to get geometry for disk ‘/dev/nvme0n1’ →
- Passwort für den Root-Benutzer setzen, indem der Host-Parameter
netboot.linux-bootimage.cmdline.pwheingestellt wird. - Wenn der Fehler auftritt,
Strg + Alt + F3/F4/F5drücken, um auf das aktive Terminal zu wechseln. - Die Root-Anmeldedaten und das Passwort eingeben.
- Den Befehl
sgdisk --zap-all /dev/nvme0ausführen, um die Partition zu löschen. - Zurück zum anderen Terminal wechseln und den Netboot erneut versuchen.
- Weitere Informationen sind in der Dokumentation über Netboot-Produkte → zu finden.
- Passwort für den Root-Benutzer setzen, indem der Host-Parameter
- opsi winPE ist leer →: Alle Dateien aus den WinPE-Unterverzeichnissen (z. B. media) in die oberste Ebene verschieben
- WinPE-Initialisierung funktioniert nicht →