Fachliche Administration

Benutzer, Rollen, Configserver, Depots und Einstellungen in der Oberfläche

Rolle: Administrator

Überblick

Dieser Teil richtet sich an Administratoren, die oPBWeb in der Oberfläche einrichten und pflegen. Alles, was hier beschrieben ist, erledigst du im Browser, ohne Zugriff auf den Server oder die Docker-Umgebung. Wie du den Stack installierst, konfigurierst und sicherst, steht in der Technischen Administration .

Als Administrator hast du alle Rechte der anderen Rollen. Zusätzlich siehst du in der Aktivitätsleiste unten die Bereiche Benutzer und Rollen und Einstellungen und bekommst in Systemstatus und Depots weitere Funktionen, etwa die Verwaltung der Configserver.

Aufgaben im Überblick

AufgabeWo in der OberflächeKapitel
Konten anlegen, Rollen vergeben, Konten sperren oder löschenBenutzer und Rollen › BenutzerBenutzer und Rollen
Nachvollziehen, wer was wann geändert hatBenutzer und Rollen › ProtokollProtokoll
opsi-Configserver hinzufügen, Stufe festlegen, CA-Zertifikat pflegen, Configserver entfernenDepots › + bzw. Configserver-ZeileConfigserver
Vorgaben für neue Pakete und Meta-Pakete festlegenEinstellungenEinstellungen für neue Pakete
Vorgaben für den Assistenten „Neues Paket aus Installer“ festlegenEinstellungen › opsi-setup-detectorEinstellungen für neue Pakete
Script-Vorlagen des Assistenten ändern, ergänzen, importierenVorlagenVorlagen für den Installer-Assistenten
Depots den Stufen Test, Staging und Produktion zuordnen, deaktivieren oder entfernenDepots › EinstellungenDepot-Verwaltung
Dienste überwachen, Speicherbelegung prüfen, Objektspeicher bereinigenSystemstatusSystemstatus

Bei der ersten Inbetriebnahme gehst du diese Punkte in einer festen Reihenfolge durch. Die Schritte dafür stehen in der Ersteinrichtung .

Benutzer und Rollen

Rollen und Rechte, lokale Konten anlegen und pflegen, Verzeichniskonten aus LDAP

Rolle: Administrator

Überblick

Unter Benutzer und Rollen verwaltest du alle Konten, die sich an oPBWeb anmelden können. Jedes Konto hat genau eine Rolle, die festlegt, was es in der Oberfläche darf. Neben lokalen Konten, die du selbst anlegst, gibt es Verzeichniskonten aus LDAP, deren Rolle sich aus den Gruppen im Verzeichnis ergibt.

Den Bereich öffnest du über das Symbol Benutzer und Rollen unten in der Aktivitätsleiste. Er hat zwei Reiter: Benutzer (mit der Anzahl der Konten) und Protokoll. Das Protokoll ist im Kapitel Protokoll beschrieben.

Rollen und Rechte

Es gibt vier Rollen. Sie bauen aufeinander auf: Jede Rolle hat alle Rechte der Rollen darüber und bringt eigene dazu.

RolleKurzbeschreibung in der Oberfläche
Lesernur lesen
PackagerPakete bearbeiten, bauen, auf Test-Depots installieren
Releaserzusätzlich auf produktive Depots verteilen
Administratorzusätzlich Benutzer, Server und Einstellungen

Die Oberfläche blendet Schaltflächen aus oder deaktiviert sie, wenn die Rolle nicht reicht. Geprüft wird jedes Recht trotzdem auf dem Server. Fehlt ein Recht, erscheint „Keine Berechtigung für diese Aktion.“

Leser

Packager

Releaser

Administrator

Die Stufenregel für Depots

Was ein Packager mit einem Paket auf einem Depot tun darf, hängt von der Stufe des Depots ab, nicht nur von seiner Rolle. Die Tabelle zeigt, wer welche Aktion auf welcher Stufe ausführen darf:

AktionTestStagingProduktion
Installieren … (auch mit Setup)ab Packagerab Packagerab Releaser
Deinstallieren …ab Packagerab Packagerab Releaser
Übernehmen … / Auf andere Stufe übernehmen … (Zieldepots)ab Packagerab Packagerab Releaser
Produkte Entsperrenab Packagerab Packagerab Releaser
Repository-Dateien löschenab Packagerab Packagerab Releaser
Version löschen, Zurück auf Entwurf, Paket löschen …, wenn dort installiertab Packagerab Packagerab Releaser
Depots Abgleichen, Repository lesenab Packagerab Packagerab Packager
Depot ansehen, Dateien herunterladenab Leserab Leserab Leser
Stufe, Dienst-URL, Aktiv des Depots ändernAdministratorAdministratorAdministrator

Für das Löschen und für Zurück auf Entwurf zählt, wo das Paket gerade installiert ist: Liegt die Version (bzw. beim Löschen des Pakets irgendeine Version) auf einem Produktions-Depot, braucht es die Rolle Releaser. Ein Packager bekommt dann die Meldung, auf welchen Depots das Paket installiert ist. Grundlage ist der Stand des letzten Depot-Abgleichs.

Depots erben die Stufe ihres Configservers, solange du ihnen keine eigene gibst. Neue Configserver starten in der Stufe Produktion. Ein Packager kann auf ihren Depots also erst installieren, wenn du den Configserver oder das einzelne Depot auf Test oder Staging stellst. Im Dialog Installieren … erscheint ein gesperrtes Depot mit dem Hinweis „erfordert Rolle Releaser“. Wie du die Stufe änderst, steht in der Depot-Verwaltung .

Die Benutzerliste

Der Reiter Benutzer zeigt alle Konten in einer Tabelle. Rechts daneben öffnet sich der Bereich Benutzerdetails für das ausgewählte Konto.

Benutzerliste mit geöffneten Benutzerdetails

SpalteBedeutung
BenutzernameAnmeldename des Kontos
NameAnzeigename
RolleRolle als farbiges Abzeichen
Herkunftlokal (in oPBWeb angelegt) oder Verzeichnis (LDAP)
Statusaktiv, deaktiviert oder gesperrt (nach zu vielen Fehlversuchen)
Letzte AnmeldungZeitpunkt der letzten erfolgreichen Anmeldung

Unter den Feldern der Benutzerdetails stehen zusätzlich Herkunft, Angelegt und Letzte Anmeldung.

Lokale Konten

Lokale Konten melden sich mit einem Passwort an, das oPBWeb selbst speichert. Das erste Administratorkonto (admin) entsteht beim ersten Start des Systems; alle weiteren lokalen Konten legst du hier an.

Konto anlegen

  1. Klick in der Werkzeugleiste auf Neuer Benutzer.

    Dialog „Neuer Benutzer“

  2. Trag den Benutzernamen ein. Erlaubt sind 2 bis 128 Zeichen aus Buchstaben, Ziffern und . _ @ -.

  3. Wähl die Rolle. Der Dialog schlägt Leser vor, die Rolle mit den wenigsten Rechten.

  4. Trag optional Name und E-Mail ein. Die E-Mail-Adresse erscheint in Changelog-Einträgen dieses Benutzers.

  5. Wähl die Standardsprache (Deutsch oder English). Mit dieser Sprache startet die Oberfläche nach jeder Anmeldung.

  6. Vergib im Feld Neues Passwort ein Startpasswort mit mindestens 10 Zeichen.

  7. Klick auf Anlegen.

Das neue Konto erscheint in der Liste und ist sofort ausgewählt. Gib dem Benutzer das Startpasswort auf sicherem Weg weiter; er kann es danach im Avatar-Menü unter Passwort ändern selbst ersetzen.

Konto bearbeiten

  1. Wähl das Konto in der Liste aus.
  2. Ändere in den Benutzerdetails Name, E-Mail, Rolle oder Standardsprache.
  3. Klick auf Speichern. In der Werkzeugleiste erscheint „Gespeichert“.

Die Standardsprache kann jeder Benutzer auch selbst im Avatar-Menü ändern (siehe Konto und Sprache ).

Konto deaktivieren

Ein deaktiviertes Konto bleibt mit allen Angaben erhalten, kann sich aber nicht mehr anmelden. Die Anmeldung scheitert mit „Konto ist deaktiviert.“

  1. Wähl das Konto aus.
  2. Entferne das Häkchen bei Konto ist aktiv.
  3. Klick auf Speichern.

Zum Reaktivieren setzt du das Häkchen wieder und speicherst.

Passwort setzen

Wenn ein Benutzer sein Passwort vergessen hat, vergibst du ein neues:

  1. Wähl das Konto aus und klick auf Passwort setzen.
  2. Gib das neue Passwort zweimal ein (mindestens 10 Zeichen).
  3. Bestätige den Dialog. In der Werkzeugleiste erscheint „Passwort gesetzt“.

Das alte Passwort brauchst du dafür nicht. Das Setzen hebt gleichzeitig eine bestehende Sperre auf.

Sperre aufheben

Nach 5 falschen Passwörtern in Folge sperrt oPBWeb ein lokales Konto für 15 Minuten. Während der Sperre lautet die Meldung bei der Anmeldung „Konto gesperrt bis HH:MM Uhr.“, auch wenn das Passwort stimmt. In der Liste steht das Konto auf gesperrt.

Du musst nicht warten, bis die Sperre abläuft:

  1. Wähl das gesperrte Konto aus.
  2. Klick auf Sperre aufheben. Die Schaltfläche erscheint nur bei gesperrten Konten.

Der Benutzer kann sich sofort wieder anmelden. Hat er sein Passwort tatsächlich vergessen, nimm stattdessen Passwort setzen.

Konto löschen

  1. Wähl das Konto aus.
  2. Klick auf Benutzer löschen.
  3. Bestätige die Rückfrage „Benutzer löschen?“ mit Benutzer löschen.

Das Konto wird endgültig entfernt. Einträge im Protokoll bleiben mit dem Benutzernamen erhalten. Dein eigenes Konto kannst du nicht löschen; die Schaltfläche ist dafür deaktiviert.

Schutz des letzten Administrators

oPBWeb verhindert, dass niemand mehr die Administration erreichen kann. Für das letzte aktive Administratorkonto gilt:

Leg deshalb zuerst ein zweites Administratorkonto an, bevor du das bisherige herabstufst oder entfernst.

Verzeichniskonten (LDAP)

Wenn die technische Administration die LDAP-Anmeldung eingeschaltet hat, können sich auch Benutzer aus dem Verzeichnis (zum Beispiel Active Directory) anmelden. Diese Konten erkennst du an der Herkunft Verzeichnis (LDAP). Die Einrichtung ist in LDAP-Anmeldung beschrieben.

Für Verzeichniskonten gelten andere Regeln als für lokale Konten:

Lokale Konten melden sich immer lokal an, auch wenn LDAP eingeschaltet ist. Der lokale Administrator admin bleibt so auch dann erreichbar, wenn das Verzeichnis ausfällt.

Protokoll

Im Protokoll nachvollziehen, wer wann welche Aktion ausgelöst hat

Rolle: Administrator

Überblick

Das Protokoll hält fest, wer wann welche wichtige Aktion in oPBWeb ausgelöst hat: Anmeldungen, Änderungen an Konten, Paketen, Depots und Einstellungen. Du findest es unter Benutzer und Rollen im Reiter Protokoll. Nur Administratoren können es lesen.

Einträge lassen sich in der Oberfläche weder ändern noch löschen. Auch wenn du ein Benutzerkonto löschst, bleiben seine Einträge mit dem Benutzernamen erhalten.

Das Protokoll lesen

Reiter „Protokoll“ mit Filterfeldern und Einträgen

Die neuesten Einträge stehen oben. Jede Zeile hat diese Spalten:

SpalteInhalt
ZeitpunktDatum und Uhrzeit der Aktion
BenutzernameWer die Aktion ausgelöst hat. Bei fehlgeschlagenen Anmeldungen der eingegebene Name.
AktionTechnischer Schlüssel der Aktion, zum Beispiel user.created (siehe Liste der Aktionen )
ObjektArt und Kennung des betroffenen Objekts, zum Beispiel depot depot01.example.local
DetailsZusätzliche Angaben im JSON-Format, zum Beispiel die geänderten Felder oder der Grund einer abgelehnten Anmeldung
IPIP-Adresse, von der die Anfrage kam

Über der Tabelle siehst du, wie viele Einträge angezeigt werden, etwa „100 von 2.345 Einträgen“. Es werden jeweils 100 Einträge geladen. Mit Weitere laden unter der Tabelle holst du die nächsten 100.

Einträge filtern

  1. Trag im Feld Aktion den Anfang eines Aktionsschlüssels ein. user. findet alle Aktionen an Benutzerkonten, auth.login_failed nur die fehlgeschlagenen Anmeldungen.
  2. Trag im Feld Benutzername einen Benutzernamen ein. Hier muss der Name vollständig und genau stimmen.
  3. Klick auf Filtern.

Du kannst beide Felder kombinieren. Um alle Einträge wieder zu sehen, leere die Felder und klick erneut auf Filtern.

Aufgezeichnete Aktionen

AktionWann sie entsteht
auth.loginerfolgreiche Anmeldung
auth.login_failedabgelehnte Anmeldung (Grund in Details)
auth.logoutAbmeldung
auth.password_changedBenutzer ändert sein eigenes Passwort
user.createdKonto angelegt
user.updatedKonto bearbeitet (Name, E-Mail, Rolle, Sprache, aktiv)
user.password_setAdministrator setzt ein Passwort
user.unlockedAdministrator hebt eine Sperre auf
user.deletedKonto gelöscht
package.createdneues Paket oder Meta-Paket angelegt
package.deletedganzes Paket gelöscht (Paket löschen …)
package.archivedPaket archiviert; Details nennt die Zahl der gelöschten Build-Ergebnisse
package.restoredarchiviertes Paket wiederhergestellt
package.import_startedImport einer .opsi-Datei gestartet
package.install_startedInstallation auf Depots gestartet
package.uninstall_startedDeinstallation auf Depots gestartet
version.updatedProduktdaten einer Version gespeichert
version.propertiesProperties gespeichert
version.dependenciesAbhängigkeiten gespeichert
version.files_uploadedDateien ins Paket hochgeladen
version.build_startedBauen gestartet
version.releasedVersion freigegeben (beim Start der Installation)
version.reopenedZurück auf Entwurf
version.copiedNeue Version angelegt
version.deletedVersion gelöscht
depot.updatedDepot-Einstellungen geändert (Stufe, Dienst-URL, Aktiv)
depot.deletedDepot aus oPBWeb entfernt
depot.unlockProdukte auf einem Depot entsperrt
depot.repository_deleteDateien aus dem Repository eines Depots gelöscht
files.writtenDatei auf dem Server gespeichert (Depots › Dateien)
files.mkdirOrdner auf dem Server angelegt
files.movedDatei oder Ordner auf dem Server umbenannt
files.deletedDatei oder Ordner auf dem Server gelöscht
files.upload_startedUpload auf den Server gestartet
workbench.import_startedImport aus der Workbench gestartet
workbench.export_startedExport in die Workbench gestartet
workbench.ignoredWorkbench-Ordner wird bei Scans ignoriert (Server und Ordner in den Details)
workbench.unignoredWorkbench-Ordner wird wieder berücksichtigt
snippets.importedSnippets importiert
detector.analyze_startedAnalyse eines Installers gestartet (Assistent Aus Installer … oder Installer analysieren im Dateibaum)
detector.create_startedErzeugen eines Pakets im Assistenten gestartet (Product-ID, Version, Art und Kanal in Details)
detector.template_createdVorlage angelegt
detector.template_uploadedVorlage hochgeladen oder per Upload ersetzt
detector.template_updatedVorlage gespeichert oder umbenannt
detector.template_resetVorlage zurückgesetzt oder wiederhergestellt
detector.template_deletedVorlage gelöscht
detector.templates_importedVorlagen aus einem ZIP importiert (Zahlen in Details)
settings.updatedEinstellungen geändert (geänderte Schlüssel in Details)
opsi_server.createdConfigserver hinzugefügt
opsi_server.updatedVerbindungsdaten oder Stufe eines Configservers geändert
opsi_server.deletedConfigserver mit Entfernen … entfernt
opsi_server.ca_acceptedNeues Zertifikat übernehmen nach einer CA-Rotation
storage.cleanupBereinigung des Objektspeichers bestätigt (nur der Löschlauf, nicht der Probelauf)

Bei Aktionen, die einen Job starten (…_started), zeigt das Protokoll nur, wer den Job gestartet hat. Ob er erfolgreich war, siehst du unter Jobs .

Was nicht aufgezeichnet wird

Einige Aktionen erscheinen bewusst nicht im Protokoll:

Für viele dieser Aktionen gibt es trotzdem eine Spur: Alles, was als Job läuft, steht mit Auslöser und Log in der Jobliste.

Configserver

opsi-Configserver in der Ansicht Depots anlegen, Stufe festlegen, CA-Zertifikat pflegen und die Verbindung prüfen

Rolle: Administrator

Überblick

oPBWeb arbeitet mit beliebig vielen opsi-Configservern, zum Beispiel einem Test-, einem Staging- und einem Produktivsystem. Über jeden Configserver liest oPBWeb dessen Depots, installiert Pakete und greift auf /repository, /workbench und /depot zu. Jedes Depot gehört zu genau einem Configserver.

Die Configserver verwaltest du in der Ansicht Depots in der Aktivitätsleiste. Solange kein Configserver eingerichtet ist, funktionieren Depots, Installieren und die Workbench nicht, und die Statusleiste zeigt „Kein Configserver eingerichtet“.

Ansicht Depots mit dem Formular eines Configservers

Configserver in der Depot-Liste

Die linke Liste der Ansicht Depots ist nach Configservern gegliedert. Jeder Configserver steht als fett gedruckte Zeile, darunter eingerückt seine Depots. Der Pfeil vor dem Namen klappt die Depots eines Servers zu oder auf, das Feld „Depot suchen“ darüber durchsucht die Liste (siehe Depots ).

ElementBedeutung
Punkt vor dem Namengrün: letzte Prüfung in Ordnung, rot: letzte Prüfung fehlgeschlagen, grau: noch nicht geprüft
AbzeichenStufe des Configservers (Produktion, Staging oder Test)
zweite Zeile„Configserver · 3 Depots“

Im Kopf der Liste stehen zwei Schaltflächen:

Ein Klick auf eine Configserver-Zeile öffnet rechts das Formular des Servers. Neben der Überschrift stehen das Stufen-Abzeichen und das Ergebnis der letzten Prüfung: erreichbar oder nicht erreichbar. In der Kopfzeile findest du die Schaltflächen Entfernen …, Verbindung testen, Abgleichen und Speichern.

Benutzer ohne Administratorrolle sehen statt des Formulars eine Karte mit Name, Stufe, URL des Configservers, Zustand (erreichbar oder nicht erreichbar samt Fehlermeldung) und der Gültigkeit des CA-Zertifikats. Ab der Rolle Packager steht dort die Schaltfläche Abgleichen.

Die Felder

FeldInhalt
NameFrei wählbarer Anzeigename, zum Beispiel Configserver. Bleibt das Feld leer, verwendet oPBWeb den Hostnamen aus der URL.
URL des ConfigserversAdresse von opsiconfd mit Port, zum Beispiel https://opsi.example.local:4447. Verwende den vollständigen Hostnamen (FQDN), keine IP-Adresse: Das Zertifikat von opsiconfd lautet auf den Namen. Jede URL lässt sich nur einmal einrichten.
Technischer Benutzeropsi-Benutzer, mit dem oPBWeb arbeitet. Vorbelegt ist opsiadm. Der Benutzer braucht opsi-Admin-Rechte.
PasswortPasswort des technischen Benutzers. Es wird verschlüsselt gespeichert und nie wieder angezeigt. Ist bereits eins gespeichert, zeigt das Feld „gespeichert – leer lassen für unverändert“.
StufeProduktion, Staging oder Test. Die Stufe gilt für alle Depots des Servers, solange ein Depot keine eigene hat. Installieren auf Produktion erfordert die Rolle Releaser. Neue Configserver starten mit Produktion.
TLS-Zertifikat des Servers prüfen (empfohlen)Prüft das Serverzertifikat gegen das hinterlegte CA-Zertifikat. Lass die Option eingeschaltet.

Bei eingeschalteter TLS-Prüfung vertraut oPBWeb ausschließlich dem CA-Zertifikat, das du unter VERTRAUTES CA-ZERTIFIKAT hinterlegst, nicht den Zertifizierungsstellen des Betriebssystems. Ohne hinterlegtes CA-Zertifikat lässt sich eine https-Verbindung mit TLS-Prüfung nicht speichern („Für die TLS-Prüfung wird ein CA-Zertifikat benötigt.“).

Was die Stufe für die Rechte bedeutet und wie Depots sie erben, steht in der Depot-Verwaltung .

Configserver hinzufügen

  1. Öffne Depots in der Aktivitätsleiste.

  2. Klick im Kopf der linken Liste auf +. Rechts erscheint das Formular „Neuer Configserver“.

  3. Trag URL des Configservers, Technischer Benutzer und Passwort ein, optional einen Name.

  4. Wähl die Stufe, zum Beispiel Test für einen Testserver.

  5. Klick unter VERTRAUTES CA-ZERTIFIKAT auf Vom Server holen. oPBWeb lädt das CA-Zertifikat des Servers in einem kurzen Job; die Schaltfläche zeigt währenddessen „Lade …“.

  6. Der Dialog CA-Zertifikat des Servers zeigt das Zertifikat mit seinem SHA-256-Fingerabdruck. Vergleiche ihn mit dem Fingerabdruck auf dem Configserver:

    openssl x509 -in /etc/opsi/ssl/opsi-ca-cert.pem -noout -fingerprint -sha256
    
  7. Stimmen beide überein, klick auf Vertrauen. Unter der Zertifikatstabelle erscheint „Geändertes CA-Zertifikat – zum Übernehmen speichern.“

  8. Klick auf Hinzufügen. Die Meldung „Configserver gespeichert“ bestätigt das.

Direkt nach dem Hinzufügen startet oPBWeb für den neuen Server Verbindung testen . Der Test liest auch die Depots des Servers; sie erscheinen danach in der Liste unter dem Configserver. Mit Abbrechen verwirfst du einen neuen Configserver, bevor er gespeichert ist.

Ist die URL schon eingerichtet, lehnt oPBWeb das Speichern ab: „Ein Configserver mit dieser URL ist bereits eingerichtet: …“.

Configserver ändern

Wähl den Configserver in der Liste aus, änder die Felder und klick auf Speichern. Solange es ungespeicherte Änderungen gibt, sind Verbindung testen und Abgleichen gesperrt. Wechselst du mit ungespeicherten Änderungen zu einem anderen Eintrag der Liste, fragt oPBWeb vorher nach.

CA-Zertifikat aus einer Datei laden

Statt das Zertifikat vom Server zu holen, kannst du es als Datei hochladen, zum Beispiel wenn du opsi-ca-cert.pem vorher vom Server kopiert hast:

  1. Klick auf PEM-Datei laden … und wähl eine Datei mit der Endung .pem, .crt oder .cer.
  2. Es erscheint „Neue PEM-Datei geladen, wird beim Speichern geprüft.“
  3. Klick auf Speichern (bei einem neuen Server Hinzufügen). Erst jetzt prüft der Server die Datei. Enthält sie kein gültiges Zertifikat, lautet die Meldung „Kein gültiges PEM-Zertifikat: …“.

Mit Entfernen unter der Zertifikatstabelle löschst du das hinterlegte CA-Zertifikat; auch das wird erst mit Speichern wirksam.

Configserver entfernen

  1. Wähl den Configserver in der Liste aus.
  2. Klick in der Kopfzeile auf Entfernen ….
  3. Bestätige die Rückfrage „Configserver Name entfernen? Seine 3 Depots verschwinden aus oPBWeb (auf dem opsi-Server bleibt alles unverändert).“

Die Meldung „Configserver Name entfernt“ bestätigt das. oPBWeb löscht dabei den Configserver, seine Depots mit ihren Einstellungen und die Produktlisten dieser Depots. Pakete und Jobs bleiben erhalten. Auf dem opsi-Server selbst ändert sich nichts.

Gültigkeit des CA-Zertifikats

Die Tabelle unter VERTRAUTES CA-ZERTIFIKAT listet jedes Zertifikat der hinterlegten Datei mit Zertifikat (Inhaber), Gültigkeit und SHA-256-Fingerabdruck. Enthält die Datei kein CA-Zertifikat, steht hinter dem Inhaber „kein CA-Zertifikat“.

Das Abzeichen in der Spalte Gültigkeit zeigt die Restlaufzeit:

AbzeichenBedeutung
grün, „noch 729 Tage“mehr als 60 Tage gültig
orange, „noch 45 Tage“weniger als 60 Tage gültig
rot, „noch 10 Tage“weniger als 14 Tage gültig
rot, „abgelaufen“Zertifikat ist abgelaufen

Ab 60 Tagen vor Ablauf erscheint zusätzlich in der Statusleiste „Name: CA läuft in {n} Tagen ab“, und die Zeile opsi-Server im Systemstatus steht auf Fehler.

CA-Rotation

opsi-Server erneuern ihre CA selbst. Danach stimmt das in oPBWeb hinterlegte Zertifikat nicht mehr mit dem des Servers überein, und Verbindungen mit TLS-Prüfung schlagen fehl. oPBWeb erkennt das bei der regelmäßigen Prüfung und meldet es an drei Stellen:

So übernimmst du das neue Zertifikat:

  1. Öffne Depots und wähl den betroffenen Configserver aus. Der Kasten zeigt das neue Zertifikat mit Ablaufdatum und SHA-256-Fingerabdruck.
  2. Vergleiche den Fingerabdruck mit /etc/opsi/ssl/opsi-ca-cert.pem auf dem Server (Befehl wie oben).
  3. Klick auf Neues Zertifikat übernehmen. Die Meldung „Neues CA-Zertifikat übernommen“ bestätigt das; ein weiteres Speichern ist nicht nötig.

Verbleibende Warnungen in Statusleiste und Systemstatus verschwinden mit der nächsten Prüfung, spätestens nach fünf Minuten. Wenn du nicht warten willst, klick auf Verbindung testen.

Verbindung testen

Mit Verbindung testen prüfst du die gespeicherten Einstellungen des ausgewählten Configservers sofort. Die Schaltfläche ist gesperrt, solange es ungespeicherte Änderungen gibt („Bitte zuerst speichern“).

Der Test läuft als Job und prüft nacheinander:

War der Test erfolgreich, gleicht oPBWeb anschließend die Depots dieses Servers ab. Das Ergebnis erscheint als „Verbindung in Ordnung“ oder als Fehlermeldung. Unter dem Formular steht danach zum Beispiel „Zuletzt geprüft 15.10.26, 09:30 · opsi 4.3.x · 3 Depots“ oder die Fehlermeldung der letzten Prüfung in Rot.

Abgleichen

Abgleichen im Formular des Configservers liest nur die Depots dieses Servers, ihre installierten Produkte und die Projektordner seiner Workbench neu ein; der Job heißt „Depots abgleichen (Name)“. ⟳ im Kopf der Liste gleicht alle Configserver ab („Depots aller Configserver abgleichen“). Ein Abgleich berührt nie die Depots eines anderen Configservers. Was beim Abgleich mit den Depots passiert, steht in der Depot-Verwaltung .

Automatische Prüfung im Hintergrund

Du musst den Test nicht regelmäßig von Hand starten. Der Worker prüft alle Configserver alle fünf Minuten (Standard, einstellbar unter Einstellungen → Worker) auf dieselbe Weise und gleicht dabei die Depots jedes erreichbaren Servers ab. Das Ergebnis siehst du:

Typische Fehler

MeldungUrsache und Lösung
„Benutzer hat keine opsi-Admin-Rechte“Der technische Benutzer ist kein opsi-Administrator. Nimm ihn auf dem Configserver in die opsi-Admin-Gruppe auf oder trag einen anderen Benutzer ein.
„… HTTP 403“opsiconfd lehnt Admin-Aufrufe aus dem Netz von oPBWeb ab. Steht in der opsiconfd-Konfiguration admin-networks, muss das Docker-Netz des oPBWeb-Workers darin enthalten sein. Das passt die technische Administration an (siehe Fehlersuche ).
„Der Server liefert ein anderes CA-Zertifikat als hinterlegt (Rotation?)“CA-Rotation auf dem Server, siehe CA-Rotation .
„Für den opsi-Server ist kein CA-Zertifikat hinterlegt (Depots → Configserver).“TLS-Prüfung ist an, aber kein CA-Zertifikat gespeichert. Hol es mit Vom Server holen und speichere.
„CA nicht abrufbar: …“Der Server ist unter der eingetragenen URL nicht erreichbar. Prüfe Hostname, Port (normalerweise 4447) und Erreichbarkeit vom oPBWeb-Server aus.
„Ein Configserver mit dieser URL ist bereits eingerichtet: …“Der Server ist schon angelegt. Wähl ihn in der Liste aus, statt ihn ein zweites Mal hinzuzufügen.
„Depot … gehört bereits zum Configserver … und wird übersprungen“ (im Job-Protokoll)Ein anderer eingerichteter Configserver meldet dasselbe Depot, etwa weil derselbe Server unter zwei URLs angelegt ist. Entferne den doppelten Eintrag.
Fehler beim Zertifikat trotz richtiger CAWahrscheinlich steht in der URL eine IP-Adresse statt des Hostnamens. Trag den FQDN ein.
„Der Server liefert kein abweichendes Zertifikat.“Bei Neues Zertifikat übernehmen: Die Rotation wurde inzwischen schon übernommen. Nichts weiter zu tun.

Einstellungen für neue Pakete

Vorgaben für neue Pakete, Meta-Pakete und den Installer-Assistenten sowie die Mail-Domain für Changelog-Einträge

Rolle: Administrator

Überblick

Unter Einstellungen legst du fest, mit welchen Werten neue Pakete, Meta-Pakete und Pakete aus dem Assistenten Aus Installer … starten und welche Mail-Adresse Changelog-Einträge ohne E-Mail bekommen. Die Werte gelten für alle Benutzer. Ändern dürfen sie nur Administratoren.

Die Vorgaben wirken nur beim Anlegen. Bestehende Pakete und importierte Pakete (.opsi oder Workbench) behalten ihre eigenen Werte, und jeder Packager kann die Vorgaben im Paket-Editor überschreiben.

Die Verbindung zu den opsi-Configservern richtest du nicht hier ein, sondern in der Ansicht Depots, siehe Configserver .

Einstellungen mit den Blöcken „Neue Pakete“, „Meta-Pakete“ und „Changelog“

Einstellungen ändern

  1. Öffne Einstellungen unten in der Aktivitätsleiste.
  2. Ändere die gewünschten Werte in den Blöcken Neue Pakete, Meta-Pakete, Changelog, Workbench, Worker oder opsi-setup-detector.
  3. Klick in der Werkzeugleiste auf Speichern. Die Meldung „Einstellungen gespeichert“ bestätigt das.

Mit Verwerfen stellst du die zuletzt gespeicherten Werte wieder her. Beide Schaltflächen sind nur aktiv, wenn du etwas geändert hast. Verlässt du die Seite mit ungespeicherten Änderungen, fragt oPBWeb nach.

Neue Pakete

Diese Werte trägt oPBWeb in jedes Paket ein, das über Neues Paket entsteht.

FeldStandardErlaubte WerteWirkung
Produktversion1.01–32 Zeichen aus Buchstaben, Ziffern und . + ~Produktversion der ersten Version
Paketversion11–16 Zeichen aus Buchstaben, Ziffern und . + ~Paketversion der ersten Version
Priorität0−100 bis 100Priorität im control
Format controlINI (Altformat)INI (Altformat), TOML (control.toml)Format, in dem das control ins Paket geschrieben wird
ChangelogChangelog eingebettetChangelog eingebettet, changelog.txt, changelog.mdOb der Changelog im control steht oder als eigene Datei im Paket liegt

Meta-Pakete

Meta-Pakete fassen mehrere Produkte zusammen. Sie installieren ihre Produkte über Abhängigkeiten (Aktion setup, Reihenfolge vorher); das Setup-Script selbst tut nichts. Die Werte gelten für den Dialog Meta-Paket … in der Paketliste.

FeldStandardErlaubte WerteWirkung
Präfix der Product-IDmeta-bis 32 Zeichen aus Kleinbuchstaben, Ziffern und . _ -, auch leerVorschlag, mit dem das Feld Product-ID im Dialog vorbelegt wird
Priorität-100−100 bis 100Priorität des Meta-Pakets.
Name des Setup-Scriptsdummy.opsiscript1–128 Zeichen, ohne / und \Dateiname des leeren Setup-Scripts in CLIENT_DATA

Das Feld für die Produktversion im Dialog Meta-Paket … ist mit der Produktversion aus dem Block Neue Pakete vorbelegt.

Changelog

FeldStandardErlaubte WerteWirkung
Mail-Domain für Benutzer ohne E-Maillocalhost1–128 ZeichenChangelog-Einträge von Benutzern ohne E-Mail-Adresse erhalten benutzername@<Domain>.

Hat ein Benutzer in seinem Konto eine E-Mail eingetragen, verwendet oPBWeb diese Adresse. Trag hier deshalb eine Domain ein, die zu euren Konten passt, oder pflege die E-Mail-Adressen in Benutzer und Rollen . Bei Verzeichniskonten kommt die Adresse aus dem LDAP.

Workbench

FeldStandardErlaubte WerteWirkung
Importierte Version ist auf einem Depot installiert, aber ohne .opsi im ProjektordnerEntwurf lassenEntwurf lassen, Bauen und freigebenIst die Version eines aus der Workbench importierten Projektordners auf einem Depot desselben Configservers installiert, übernimmt oPBWeb die Datei <product-id>_<version>.opsi aus dem Projektordner als Build und gibt die Version frei. Fehlt die Datei, bleibt die Version mit „Entwurf lassen“ ein Entwurf; mit „Bauen und freigeben“ baut oPBWeb sie aus den importierten Quellen und gibt sie frei.

Die Einstellung wirkt beim Import und beim Abgleich im Dialog „Workbench …“ (Mit Depots abgleichen), mit dem du früher importierte Entwürfe nachholst, siehe Installierte Versionen freigeben . Das Job-Protokoll nennt in beiden Fällen, warum eine Version freigegeben wurde oder Entwurf blieb.

Worker

FeldStandardErlaubte WerteWirkung
opsi-Prüfung alle (Minuten)51–1440So oft prüft der Worker alle Configserver (Anmeldung, Admin-Rechte, CA-Zertifikat) und gleicht ihre Depots ab.
Workbench lesen alle (Minuten)601–1440So oft liest der Worker die Workbench aller Configserver und merkt sich, welche Projektordner dort liegen (auch in Gruppenordnern bis vier Ebenen tief, nicht in ignorierten Ordnern ); das zeigt die Paketliste unter Workbench . Der Takt ist unabhängig von der opsi-Prüfung, weil das Lesen je Projektordner zwei Anfragen an den Server braucht. Ein nicht erreichbarer Server wird übersprungen.
Temporäre Dateien aufräumen um03:17UhrzeitEinmal täglich zu dieser Uhrzeit löscht der Worker vorbereitete Downloads und liegengebliebene Uploads, die älter als 24 Stunden sind. Ist die Uhrzeit beim Start des Workers schon vorbei, räumt er sofort auf.

Änderungen gelten ab der nächsten Minute, der Worker muss dafür nicht neu starten. Den Takt des Lebenszeichens (alle 30 Sekunden) kannst du nicht ändern: An ihm erkennt der Systemstatus einen ausgefallenen Worker.

opsi-setup-detector

Diese Werte sind die Vorgaben für den Assistenten Paket aus Installer erzeugen . Sie entsprechen der Konfiguration des opsi-setup-detectors. Die Häkchen und Properties sind im Assistenten nur vorbelegt; der Packager kann sie dort für jedes Paket ändern. Paketversion, Priorität, Format control und Changelog nimmt der Assistent aus dem Block Neue Pakete.

FeldStandardWirkung
VorlagenkanalStandardKanal, der im Assistenten vorgewählt ist: Training (ausführlich kommentiert), Standard, Strukturiert oder Eigene (custom), siehe Vorlagen
Bibliotheken (importlib)leerein Bibliotheksname pro Zeile (höchstens 20); der Generator fügt für jeden eine importlib-Zeile in die Scripte ein
Silent- statt Unattended-ParameterausInstaller laufen ganz ohne Fenster statt mit Fortschrittsanzeige
MSI-Wrapper über msiexec deinstallierenanInstaller mit eingebettetem MSI deinstallieren über msiexec /x, wenn die Analyse den ProductCode gefunden hat
Option Desktop-Icon vorauswählenausOption Desktop-Icon im Assistenten vorausgewählt
Option Lizenzschlüssel-Property vorauswählenausOption Lizenzschlüssel-Property im Assistenten vorausgewählt
Metadaten schreiben (CLIENT_DATA/opsi-meta-data.toml)ausWindows-Pakete bekommen zusätzlich die Datei CLIENT_DATA/opsi-meta-data.toml mit Produktdaten und Installerangaben, wie sie der opsi-setup-detector schreibt

Eigene Skriptzeilen

opsi-script-Zeilen, die der Generator in jedes neue Paket einfügt: Vor der Installation, Nach der Installation, Vor der Deinstallation und Nach der Deinstallation, jeweils vor bzw. nach dem Aufruf des Installers oder Deinstallers. Leer heißt: keine eigenen Zeilen.

Vorbelegte Properties

Diese Properties stehen in jedem neuen Paket aus dem Assistenten (höchstens 50). Du legst sie wie im Assistenten an: Name, Typ, Standardwert, Mögliche Werte, Beschreibung, Frei. Properties, die zu den Optionen des Assistenten gehören (etwa desktopicon), musst du hier nicht eintragen; die ergänzt der Generator selbst.

Vorlage für OPSI/readme.txt

Text der Datei OPSI/readme.txt, die der Generator jedem neuen Paket mitgibt. Leer heißt: Pakete bekommen keine readme.txt.

Jede gespeicherte Änderung erscheint im Protokoll als settings.updated mit den geänderten Feldern.

Vorlagen für den Installer-Assistenten

Die Script-Vorlagen des opsi-setup-detectors in oPBWeb ansehen, ändern, ergänzen, zurücksetzen und aus einem ZIP importieren.

Rolle: Administrator

Überblick

Aus den Vorlagen erzeugt der Assistent Paket aus Installer die Scripte und Dateien eines neuen Pakets. Es sind die Vorlagen des opsi-setup-detectors (template-files), die oPBWeb mitbringt. Beim ersten Start übernimmt oPBWeb sie in die Datenbank; dort kannst du sie in der Ansicht Vorlagen ändern, eigene hinzufügen, löschen oder eine neuere Fassung aus einem ZIP importieren. Ein neues Image ist dafür nicht nötig.

Die Ansicht Vorlagen in der Aktivitätsleiste sehen alle Benutzer. Ändern dürfen nur Administratoren; alle anderen sehen den Hinweis „Nur lesen: Vorlagen ändern dürfen nur Administratoren.“

Aufbau: Kanäle und Gruppen

Die Vorlagen sind wie beim opsi-setup-detector in Kanäle und Gruppen gegliedert. Jede Datei hat den Pfad <Kanal>/<Gruppe>/<Datei>.

KanalInhalt
Training (ausführlich kommentiert) (training)Scripte mit vielen Erklärungen
Standard (default)die üblichen Vorlagen des opsi-setup-detectors; Rückfallebene für alle anderen Kanäle
Strukturiert (structured)Scripte, die stärker in einzelne Dateien aufgeteilt sind
Eigene (custom) (custom)leer ausgeliefert; Platz für eure eigenen Vorlagen
GruppeVerwendet für
win, lin, macPakete für ein Betriebssystem
multiPakete für mehrere Betriebssysteme
with-userInstallation im Benutzerkontext
genericBausteine, die alle Arten einbinden (Desktop-Icon, Lizenz, Custom-Verzeichnis, Profilanpassung, osd-lib.opsiscript …)
imagesStandardbilder der Produkte je Betriebssystem

Welchen Kanal ein neues Paket verwendet, wählt der Packager im Assistenten; vorbelegt ist der Kanal aus den Einstellungen .

Reihenfolge der Suche

Der Generator sucht jede Datei in dieser Reihenfolge und nimmt den ersten Treffer:

  1. im gewählten Kanal in der Gruppe des Pakets, zum Beispiel custom/win/setup.opsiscript,
  2. im Kanal Standard in derselben Gruppe, default/win/setup.opsiscript,
  3. in default/generic.

Im Kanal Eigene (custom) musst du deshalb nur die Dateien anlegen, die von Standard abweichen. Findet der Generator eine Datei nirgends, lässt er den Baustein aus und meldet „Vorlage … fehlt, der Baustein wird ausgelassen“.

Platzhalter

Die Vorlagen enthalten Platzhalter der Form #@name*#, zum Beispiel #@productId*# für die Product-ID oder #@installCommandLine1*# für den Installationsbefehl des ersten Installers. Beim Erzeugen eines Pakets ersetzt der Generator sie durch die Werte aus dem Assistenten; Groß- und Kleinschreibung spielt dabei keine Rolle. Steht ein Platzhalter für mehrere Zeilen, rückt der Generator alle Zeilen wie die Zeile des Platzhalters ein.

Rechts neben dem Editor listet der Bereich Platzhalter alle Platzhalter der geöffneten Datei auf. Bleibt beim Erzeugen ein Platzhalter übrig, für den der Generator keinen Wert kennt, meldet der Job „Nicht ersetzte Platzhalter in den erzeugten Dateien: …“. Eigene Platzhalter kannst du nicht einführen; verwende in eigenen Vorlagen nur die Namen, die in den mitgelieferten Dateien vorkommen.

Die Ansicht Vorlagen

Links steht der Baum mit Kanälen, Gruppen und Dateien, darüber ein Filterfeld. Ein Klick auf einen Kanal oder eine Gruppe klappt ihn zu oder auf; ein Klick auf eine Gruppe wählt sie außerdem als Ziel für neue Dateien und Uploads. Jede Datei trägt ein Abzeichen:

AbzeichenBedeutung
mitgeliefertunverändert, wie im Image von oPBWeb
geändertmitgelieferte Datei mit geändertem Inhalt; lässt sich zurücksetzen
eigenevon einem Administrator angelegt, hochgeladen oder importiert
gelöschtgelöschte mitgelieferte Datei; nur sichtbar mit Gelöschte mitgelieferte Vorlagen

Ein Klick auf eine Datei öffnet sie rechts im Editor. Textdateien bearbeitest du dort mit denselben Funktionen wie im Scripteditor ; Bilder und andere Binärdateien kannst du nur herunterladen oder per Upload ersetzen.

Vorlage bearbeiten

  1. Öffne Vorlagen in der Aktivitätsleiste.
  2. Klick im Baum auf die Datei, zum Beispiel Standard › win › setup.opsiscript.
  3. Ändere den Text im Editor.
  4. Klick auf Speichern oder drück Strg S. Die Meldung „Vorlage gespeichert“ bestätigt das. Eine mitgelieferte Datei trägt danach das Abzeichen geändert.

Die Änderung gilt für alle Pakete, die danach mit dem Assistenten entstehen. Bereits erzeugte Pakete ändern sich nicht.

Weitere Aktionen

SchaltflächeWirkung
Herunterladenlädt die Datei herunter (alle Rollen)
Zurücksetzensetzt eine geänderte mitgelieferte Datei nach einer Rückfrage auf den mitgelieferten Stand zurück; deine Änderungen gehen verloren
Umbenennennur bei eigenen Dateien: neuer Dateiname, Unterordner mit /. Mitgelieferte Dateien lassen sich nicht umbenennen; lege stattdessen eine Kopie als eigene Vorlage an
Löschenlöscht nach einer Rückfrage die Datei, siehe unten
+ (Neue Vorlage)legt eine leere Textdatei an: Kanal, Gruppe, Dateiname
Pfeil nach oben (Datei hochladen)lädt eine Datei in Kanal und Gruppe; mit Vorhandene Datei ersetzen überschreibt sie eine gleichnamige Datei
Ordner mit Plus (Vorlagen importieren)importiert ein ZIP, siehe ZIP importieren

Dateinamen bestehen aus Buchstaben, Ziffern, Punkt, Plus, Leer-, Binde- und Unterstrich, Unterordner trennst du mit /. Gruppennamen bestehen aus Kleinbuchstaben, Ziffern, Binde- und Unterstrich. Eine Datei darf höchstens 16 MB groß sein.

Löschen und Wiederherstellen

Löschst du eine Datei im gewählten Kanal, greift beim Erzeugen die Suchreihenfolge : Der Generator nimmt dann die Datei aus Standard bzw. default/generic, falls es sie dort gibt.

Vorlagen bei einem Update

Ein neues Image von oPBWeb kann neuere Vorlagen mitbringen. Beim Start gleicht die API die Datenbank damit ab:

Vorlagen aus einem ZIP importieren

So übernimmst du eine neuere Fassung der Vorlagen des opsi-setup-detectors, ohne auf ein neues Image zu warten, oder verteilst eure eigenen Vorlagen auf eine zweite oPBWeb-Installation.

  1. Besorg dir den Ordner template-files des opsi-setup-detectors: aus dem GitHub-Repository opsi-org/lazarus (Ordner opsi-misc/opsisetupdetector/template-files) oder aus der Installation eines opsi-setup-detectors.
  2. Pack ihn als ZIP. Erlaubt sind zwei Aufbauten, jeweils auch mit einem zusätzlichen Ordner darüber wie template-files/:
    • <Kanal>/<Gruppe>/<Datei> mit einem oder mehreren Kanälen (training, default, structured, custom),
    • <Gruppe>/<Datei> für einen einzelnen Kanal; den Kanal wählst du dann beim Import.
  3. Klick in der Ansicht Vorlagen über dem Baum auf Vorlagen importieren.
  4. Wähl unter ZIP-Datei die Datei aus.
  5. Wähl unter In Kanal importieren den Zielkanal oder wie im ZIP.
  6. Hake Vorhandene Vorlagen ersetzen an, wenn vorhandene Dateien den Inhalt aus dem ZIP bekommen sollen. Ohne Haken kommen nur neue Dateien dazu.
  7. Klick auf Importieren. Die Meldung nennt das Ergebnis, zum Beispiel „Import: 3 neu, 12 ersetzt, 140 übersprungen“.

Neue Dateien aus dem ZIP werden eigene Vorlagen. Ersetzte mitgelieferte Dateien gelten als geändert und lassen sich weiter zurücksetzen. Gelöschte mitgelieferte Dateien, die im ZIP vorkommen, holt der Import zurück. Übersprungen werden unveränderte Dateien, Ordner, Links, Dateien über 16 MB und Namen, die der Editor nicht annimmt. Ein ZIP darf höchstens 5000 Dateien enthalten.

Protokoll

Jede Änderung an den Vorlagen erscheint im Protokoll : detector.template_created, detector.template_uploaded, detector.template_updated, detector.template_reset, detector.template_deleted und detector.templates_imported.

Depot-Verwaltung

Depots den Stufen Test, Staging und Produktion zuordnen, Dienst-URL und Aktiv setzen, verschwundene Depots entfernen

Rolle: Administrator

Überblick

Welche Depots es gibt, liest oPBWeb von den eingerichteten opsi-Configservern. Jedes Depot gehört zu genau einem Configserver. Als Administrator legst du für jedes Depot fest, in welcher Stufe es läuft, unter welcher Dienst-URL oPBWeb es erreicht und ob es überhaupt verwendet wird (Aktiv). Die Stufe entscheidet, welche Rolle auf dem Depot installieren darf.

Du findest die Einstellungen unter Depots. Die linke Liste ist nach Configservern gegliedert: Jeder Configserver steht als fett gedruckte Zeile, darunter eingerückt seine Depots mit Stufen-Abzeichen und der Zahl der Produkte, beim Depot des Configservers selbst zum Beispiel „Configserver · 120 Produkte“. Zusätze wie „deaktiviert“ oder „nicht mehr vorhanden“ stehen ebenfalls in der zweiten Zeile. Wie du Configserver anlegst und pflegst, steht in Configserver .

Wähl links ein Depot aus, rechts steht oben der Block Einstellungen. Alle anderen Rollen sehen die Werte nur; die Felder sind für sie gesperrt. Die übrigen Funktionen der Depot-Ansicht (Installierte Produkte, Dateien, Repository, Vergleich) beschreibt Depots im Benutzerhandbuch.

Depot-Liste nach Configservern gegliedert, rechts die Einstellungen eines Depots mit geerbter Stufe

Stufen: Test, Staging und Produktion

Jedes Depot hat eine von drei Stufen. Sie steht als Abzeichen in der Depotliste und in der Kopfzeile des Depots.

StufeInstallieren, Deinstallieren, Entsperren, Repository löschen
Testab Rolle Packager
Stagingab Rolle Packager
Produktionab Rolle Releaser

So können Packager neue Pakete auf Test- und Staging-Depots ausprobieren, während nur Releaser und Administratoren produktive Depots bespielen. Im Dialog Installieren … sieht ein Packager produktive Depots mit dem Hinweis „erfordert Rolle Releaser“ und kann sie nicht auswählen. Die vollständige Rollenübersicht steht in Benutzer und Rollen .

Geerbte Stufe

Jeder Configserver hat selbst eine Stufe. Seine Depots übernehmen sie, solange du für ein Depot keine eigene Stufe festlegst. Eine geerbte Stufe erkennst du am kursiven, helleren Abzeichen mit dem Tooltip „vom Configserver geerbt“. Änderst du die Stufe des Configservers, ändert sich die Stufe aller Depots mit, die sie erben.

So reicht es meist, die Stufe einmal am Configserver zu setzen: Ein Testserver bekommt Test, und alle seine Depots sind Test-Depots. Eine eigene Stufe brauchst du nur für einzelne Depots, die von ihrem Configserver abweichen sollen.

Depot-Einstellungen ändern

  1. Öffne Depots in der Aktivitätsleiste und wähl links das Depot aus.
  2. Setz im Block Einstellungen die Felder:
    • Stufe — „wie Configserver (Stufe)“ (die Stufe wird geerbt), Produktion, Staging oder Test.
    • Dienst-URL — Adresse von opsiconfd auf diesem Depot, über die oPBWeb Pakete hochlädt und auf die Dateien des Depots zugreift. Lass das Feld leer, um die Standard-URL zu verwenden: Hostname des Depots mit dem Port des Configservers, zum Beispiel https://depot01.example.local:4447. Beim Configserver selbst ist die Standard-URL die URL des Configservers aus dessen Formular . Die Standard-URL steht als grauer Platzhalter im Feld.
    • Aktiv — ja oder nein. Ein inaktives Depot bleibt in der Liste, ist aber für Installieren, Deinstallieren, Entsperren und Repository-Löschen gesperrt. Im Dialog Installieren … erscheint es als „deaktiviert“.
  3. Klick auf Speichern. Die Meldung „Einstellungen gespeichert“ bestätigt das.

Unter den Feldern zeigt oPBWeb, was tatsächlich gilt: Verwendete URL ist die Adresse, mit der oPBWeb das Depot anspricht; ein Klick darauf öffnet das Depot in einem neuen Tab. Außerdem siehst du, was opsi selbst meldet, etwa die Pfade Repository und Depot und die URL unter Von opsi gemeldet.

Wie Depots in oPBWeb landen

oPBWeb gleicht die Depots mit ihrem Configserver ab:

Ein Abgleich berührt nie die Depots eines anderen Configservers. Ein Abgleich über Abgleichen oder ⟳ liest zusätzlich die Workbench des Configservers ein (für die Angabe „Workbench“ in der Paketliste); der automatische Abgleich tut das nicht, dafür liest der Worker die Workbench in einem eigenen Takt (siehe Einstellungen ). Beim Abgleich gilt:

SituationWas oPBWeb macht
Der Configserver meldet ein neues Depot.Das Depot wird mit geerbter Stufe („wie Configserver“) und Aktiv ja angelegt.
Der Configserver meldet ein bekanntes Depot.Die Angaben von opsi und die installierten Produkte werden aktualisiert. Stufe, Dienst-URL und Aktiv bleiben, wie du sie gesetzt hast.
Der Configserver meldet ein Depot nicht mehr.Das Depot bleibt mit seinen Einstellungen erhalten und ist als „nicht mehr vorhanden“ markiert. Es ist für alle Depot-Aktionen gesperrt.
Ein als „nicht mehr vorhanden“ markiertes Depot wird wieder gemeldet.Die Markierung verschwindet, die bisherigen Einstellungen gelten weiter.
Das gemeldete Depot gehört in oPBWeb bereits zu einem anderen Configserver (zum Beispiel weil derselbe Server unter zwei URLs eingerichtet ist).Das Depot wird übersprungen; das Job-Protokoll meldet „Depot … gehört bereits zum Configserver … und wird übersprungen“.

Verschwundene Depots entfernen

Ein Depot, das der Configserver nicht mehr meldet, bleibt in oPBWeb stehen, bis du es entfernst. In der Detailansicht steht dann „Der Configserver meldet dieses Depot nicht mehr. Es bleibt mit seinen Einstellungen erhalten, bis ein Admin es entfernt.“

  1. Wähl das Depot in der Liste aus.
  2. Klick in der Kopfzeile auf Entfernen. Die Schaltfläche gibt es nur bei Depots, die nicht mehr gemeldet werden.
  3. Bestätige die Rückfrage „Depot depot01.example.local mit seinen Einstellungen aus oPBWeb entfernen? Auf dem opsi-Server ändert sich nichts.“

Die Meldung „Depot entfernt“ bestätigt das. Depots, die der Configserver noch meldet, kannst du nicht entfernen; setz sie stattdessen auf Aktiv nein. Entfernst du einen ganzen Configserver, verschwinden alle seine Depots mit (siehe Configserver entfernen ).

Weitere Rechte als Administrator

Neben den Depot-Einstellungen hast du in der täglichen Arbeit einige Rechte, die anderen Rollen fehlen:

Systemstatus

Dienste überwachen, Datenbank und Objektspeicher auswerten, den Bucket durchsuchen und nicht mehr verwendete Objekte bereinigen

Rolle: Administrator

Überblick

Der Bereich Systemstatus zeigt, ob alle Dienste von oPBWeb laufen, und gibt Administratoren Einblick in die Belegung von Datenbank und Objektspeicher. Du öffnest ihn über das Symbol Systemstatus unten in der Aktivitätsleiste.

Die Tabelle der Dienste sehen alle Rollen. Die Abschnitte Datenbank, Objektspeicher mit Bereinigen … und Bucket-Inhalt sehen nur Administratoren.

Dienste prüfen

Systemstatus mit der Tabelle der Dienste

In der Werkzeugleiste fasst ein Abzeichen den Zustand zusammen: „Alle Dienste erreichbar“, „Mindestens ein Dienst ist nicht erreichbar“ oder „API nicht erreichbar“. Daneben steht „Stand HH:MM:SS“. Die Tabelle aktualisiert sich alle zehn Sekunden von selbst; mit Aktualisieren lädst du sofort neu.

DienstWas geprüft wirdTypischer Inhalt von Details
DatenbankVerbindung zu MariaDBVersion und Schemastand
RedisVerbindung zu Redis (Warteschlange der Jobs)Redis-Version
Objektspeicherob der Bucket vorhanden istName des Buckets oder „Bucket ‘…’ fehlt“
WorkerLebenszeichen des Workers, der alle Jobs ausführt„Lebenszeichen vor n s“; Fehler bei „kein Lebenszeichen“ oder wenn das letzte länger als 90 Sekunden zurückliegt
opsi-ServerErgebnis der letzten automatischen Prüfung aller Configserverje Configserver ein Eintrag „Name: opsi-Version · Benutzer@URL · Depots · CA gültig bis …“, getrennt durch „|“; „kein Configserver eingerichtet“, wenn es keinen gibt

Die Spalte Status zeigt OK oder Fehler, Dauer die Antwortzeit der Prüfung in Millisekunden.

Die Zeile opsi-Server steht auf Fehler, sobald einer der Configserver nicht erreichbar ist, ein neues CA-Zertifikat liefert oder seine CA in weniger als 60 Tagen abläuft – auch wenn alle anderen in Ordnung sind. Der Eintrag des betroffenen Servers nennt den Grund, zum Beispiel „Server liefert ein neues CA-Zertifikat, bitte unter Depots übernehmen“. Was dann zu tun ist, steht in Configserver . Steht dort „noch nicht geprüft“, hat der Worker noch keine Prüfung abgeschlossen; das Ergebnis kommt spätestens nach fünf Minuten.

Speicherbelegung

Die Abschnitte Datenbank und Objektspeicher werden beim Öffnen der Seite und mit Aktualisieren geladen, nicht alle zehn Sekunden.

Abschnitte „Datenbank“ und „Objektspeicher“

Datenbank

Über der Tabelle steht die Gesamtgröße, zum Beispiel „48 MB in 21 Tabellen“. Die Tabelle listet jede Datenbanktabelle, die größte zuerst:

SpalteInhalt
TabelleName der Tabelle
ZeilenAnzahl der Datensätze, exakt gezählt
DatenSpeicherplatz der Daten
IndexSpeicherplatz der Indizes
GrößeDaten und Index zusammen
AnteilAnteil an der Gesamtgröße als Balken und Prozentwert

Die Größen stammen aus der Statistik von MariaDB, die verzögert aktualisiert wird. Nach größeren Änderungen stimmen sie deshalb eine Weile nicht ganz genau.

Objektspeicher

Im Objektspeicher liegen die Dateien der Pakete und die Build-Ergebnisse. Über der Tabelle steht „Bucket „packages“: 4,8 GB in 1.523 Objekten“. Die Tabelle teilt den Inhalt in Bereiche auf:

BereichInhalt
Paketdateien (blobs/)Inhalte aller Dateien aller Paketversionen. Jeder Inhalt liegt nur einmal da, auch wenn viele Versionen dieselbe Datei enthalten.
Build-Ergebnisse (artifacts/)gebaute .opsi-Dateien mit .md5 und .zsync
Uploads (temporär) (uploads/)hochgeladene Dateien, die noch verarbeitet werden
Downloads (temporär) (downloads/)Dateien, die für einen Download vom Depot bereitliegen
Bucket-Wurzel (/)Objekte außerhalb dieser Bereiche

Uploads und Downloads, die älter als 24 Stunden sind, löscht oPBWeb jede Nacht automatisch.

Unter der Tabelle stehen bis zu drei Kennzahlen:

Bucket-Inhalt durchsuchen

Unter Bucket-Inhalt kannst du den Objektspeicher wie einen Dateibaum durchsehen. Der Browser ist schreibgeschützt: Du kannst Objekte ansehen und herunterladen, aber nichts ändern oder löschen.

Bucket-Inhalt in einem Ordner unter blobs/ mit der Spalte „Verwendet von“

  1. Klick auf einen Ordner, um ihn zu öffnen. Mit der Pfadleiste über der Tabelle (beginnend mit /) oder der Zeile „‹ eine Ebene höher“ gehst du zurück.
  2. Grenz die Anzeige mit dem Feld Filtern ein. ⟳ lädt den Ordner neu.
  3. Zum Herunterladen klick auf ↓ am Zeilenende oder doppelklick auf die Zeile.

Die Tabelle zeigt Name, Größe und Geändert. In den Bereichen blobs/ und artifacts/ gibt es zusätzlich die Spalte Verwendet von:

Die Objekte unter blobs/ heißen nach dem SHA-256-Hashwert ihres Inhalts, nicht nach dem Dateinamen im Paket. Welche Datei dahintersteckt, zeigt die Spalte Verwendet von.

Objektspeicher bereinigen

Wenn Versionen oder Dateien gelöscht werden, bleiben ihre Inhalte zunächst im Objektspeicher. Mit Bereinigen … entfernst du Paketdateien (blobs/) und Build-Ergebnisse (artifacts/), die nichts mehr verwendet. Die Bereinigung läuft in zwei Schritten: Ein Probelauf ermittelt, was gelöscht würde, und erst nach deiner Bestätigung wird gelöscht.

  1. Klick im Abschnitt Objektspeicher auf Bereinigen …. Ein Probelauf startet als Job; die Schaltfläche zeigt „Läuft …“.
  2. Findet der Probelauf nichts, erscheint neben der Schaltfläche „Nichts zu bereinigen“ oder „Nichts zu bereinigen, 5 nicht verwendete Objekte sind jünger als 24 Stunden“. Du bist fertig.
  3. Andernfalls öffnet sich der Dialog Objektspeicher bereinigen. Er zeigt:
    • die Gesamtzahl und -größe, etwa „Der Probelauf hat 37 nicht verwendete Objekte gefunden (1,2 GB).“
    • Anzahl und Größe je Bereich
    • eine Liste mit Beispielen; die vollständige Liste steht im Protokoll des Jobs unter Jobs
    • wie viele nicht verwendete Objekte jünger als 24 Stunden sind und erhalten bleiben
  4. Prüf die Angaben und klick auf 37 Objekte löschen. Mit Abbrechen schließt du den Dialog, ohne etwas zu löschen.
  5. Der Löschlauf startet als zweiter Job. Danach steht neben der Schaltfläche zum Beispiel „37 Objekte gelöscht, 1,2 GB freigegeben“.

Für die Bereinigung gelten mehrere Schutzregeln:

Der bestätigte Löschlauf steht im Protokoll als storage.cleanup.