Konfigurieren des opsi-Servers
In diesem Kapitel wird der installierte opsi-Server konfiguriert.
Proxy-Eintrag in apt-Konfiguration
Sofern für Ihren Internet-Zugang erforderlich, passen Sie die Datei /etc/apt/apt.conf
an Ihre Netzwerkgegebenheiten an (richtigen Proxy eintragen oder Zeile auskommentieren / löschen). Eine Datei können Sie editieren z. B. mithilfe des Programms „midnight commander“:
mcedit /etc/apt/apt.conf
Aktualisierung des opsi-Servers
Bringen Sie den opsi-Server auf den letzten Stand, in dem Sie nacheinander in einem Terminalfenster die folgenden Kommandos aufrufen:
apt update
apt upgrade
Sollte beim Update nachgefragt werden, ob die smb.conf überschrieben werden soll, muss man dies bestätigen. Sollte die smb.conf vorher schon geändert worden sein, sollte man den default beibehalten und später die Dateien miteinander abgleichen. Sollte diese Nachfrage schon mit Nein beantwortet worden sein, kann man dies später auf dem opsi-Server durch ausführen von opsi-setup --auto-configure-samba nachholen.
|
Backend-Konfiguration
Opsi unterstützt zur Datenhaltung unterschiedliche Backends.
Im Wesentlichen sind dies:
-
file - Datenhaltung in Dateien
-
mysql - Datenhaltung in einer MySQL-Datenbank
Daneben gibt es noch für spezielle Zwecke die Backends:
-
opsipxeconfd - der Dienst für den Netzwerkboot mit opsi
-
dhcpd - zur Kommunikation mit dem dhcp-Server auf dem opsi-Server
-
jsonrpc - zur Weiterleitung aller Anfragen an einen anderen Server
Standardmäßig wird das MySQL-Backend für die Inventarisierung verwendet. Die Verwendung des File-Backends für Inventarisierungs-Daten ist möglich, aber deutlich langsamer und deshalb nicht empfohlen.
Die Verwendung des MySQL-Backend für Inventariserungsdaten ist kostenlos. Mehr Informationen zur Freischaltung finden Sie im opsi-Handbuch. |
Einige Distributionen verwenden MariaDB anstatt MySQL. Das mysql-Backend funktioniert auch mit MariaDB. |
Nachfolgend wird das MySQL-Backend zur Verwendung eingerichtet. Es wird davon ausgegangen, dass ein MySQL-Server eingerichtet wurde und die Zugangsdaten eines Datenbank-Administrators bekannt sind. Gezielte Informationen zu Installation und Einrichtung entnehmen Sie bitte den Handbüchern Ihrer Distribution.
Für die initiale Konfiguration des MySQL-Backends nutzen Sie den Befehl:
opsi-setup --configure-mysql
Der Befehl wird nach den Zugangsdaten zum Datenbanksystem fragen, um eine Datenbank und einen Benutzer mit entsprechenden Berechtigungen für diese Datenbank für opsi anzulegen.
Eine Beispiel-Sitzung:
Bei den Abfragen können außer beim 'Database Admin Password' alle Vorgaben mit Enter bestätigt werden.
Das 'Database Admin Password' ist auf der opsi-VM linux123
ansonsten das, was Sie bei der Installation des mysql-servers vergeben haben.
Unterschiedliche Daten können in unterschiedlichen Backends gehalten werden.
Über bestimmte Vorgänge müssen mehrere Backends informiert werden.
Hierzu werden die opsi-Methoden den Backends zugeordnet.
Dies geschieht in der Datei /etc/opsi/backendManager/dispatch.conf
.
Hier ein Beispiel:
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
# = backend dispatch configuration =
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
#
# This file configures which methods are dispatched to which backends.
# Entries has to follow the form:
# <regular expression to match method name(s)> : <comma separated list of backend name(s)>
#
# Backend names have to match a backend configuration
# file basename <backend name>.conf beneath /etc/opsi/backends.
# For every method executed on backend dispatcher
# the first matching regular expression will be decisive.
# Recommended standard configuration (dhcpd not at the opsi server)
# file as main backend, mysql as hw/sw invent
# and license management backend and opsipxeconfd backend:
backend_.* : file, mysql, opsipxeconfd
host_.* : file, opsipxeconfd
productOnClient_.* : file, opsipxeconfd
configState_.* : file, opsipxeconfd
license.* : mysql
softwareLicense.* : mysql
audit.* : mysql
.* : file
In dieser Datei sind oben Erläuterungen und Beispielkonfigurationen angegeben.
In den nicht auskommentierten Zeilen steht vorne der Name der opsi-Methoden (mit wildcard .
) und nach einem Doppelpunkt die hierfür zuständigen Backends.
Bei jedem Methodenaufruf wird anhand dieser Liste geprüft, welche Backends aufgerufen werden müssen.
Dabei wird die erste Zeile genommen die zu dem Methoden Namen passt.
Die letzte Zeile (.
) passt auf jeden Methoden Namen.
Die Standardeinstellung bei der Installation von opsi die Verwendung des File-Backends als Haupt-Backend und Verwendung des MySQL-Backend für Lizenzmanagement- und Inventarisierungs-Daten.
Achten Sie darauf, dass alle verwendeten Backends in der Zeile beginnend mit backend_.* aufgeführt werden.
|
Wann immer Sie die Datei dispatch.conf
angepasst haben, führen Sie die folgenden Befehle aus.
Auch wenn Sie bei der Inbetriebnahme des Servers die Datei nicht geändert haben, führen Sie diese Befehle jetzt aus.
opsi-setup --init-current-config
opsi-set-rights
systemctl restart opsiconfd.service
systemctl restart opsipxeconfd.service
Samba-Konfiguration anpassen und Ändern von Passwörtern
Um sicherzustellen, dass die für opsi erforderlichen Samba-Shares verfügbar sind, führen Sie bitte den folgenden Befehl aus:
opsi-setup --auto-configure-samba
Anschließend sollten die Samba-Dienste neu gestartet werden:
systemctl restart smbd.service
systemctl restart nmbd.service
Sollte beim Update des Servers nachgefragt werden, ob die Datei smb.conf überschrieben werden soll, muss man dies bestätigen.Sollte die smb.conf vorher schon geändert worden sein, sollte man den default beibehalten und später die Dateien miteinander abgleichen.Sollte diese Nachfrage schon mit Nein beantwortet worden sein, kann man dies später auf dem opsi-Server durch ausführen von opsi-setup --auto-configure-samba nachholen.
|
Auf dem System ist ein Pseudo-User 'pcpatch' eingerichtet. Die PCs melden sich zwecks Installation von Softwarepaketen als dieser User an und haben dann Zugriff auf die Installationsdateien auf den hierfür vorgesehenen Shares. Der User 'pcpatch' muss mit korrektem Passwort – gleichzeitig als System-User, als Samba-User und als opsi-User – eingerichtet werden.
Rufen Sie in einem Terminalfenster das Programm 'opsiadmin' mit der Option zum Setzen des pcpatch-Passwortes (in einem für opsi, Unix und Samba).
opsi-admin -d task setPcpatchPassword
Nach "Abschicken" des Befehls werden Sie zur Passworteingabe aufgefordert.
User einrichten und Gruppen opsiadmin und opsifileadmins pflegen
Die Administration von opsi ist nur Benutzern gestattet, die Mitglied der Unix-Gruppe 'opsiadmin-Gruppe' sind.
Im folgenden wird als Beispiel der neue Benutzer 'adminuser' so eingerichtet, wie Sie ihn sich einrichten sollten.
Zunächst wird der User erstellt:
useradd -m -s /bin/bash adminuser
Wir vergeben nun Passwörter für Unix:
passwd adminuser
und für Samba:
smbpasswd -a adminuser
Verwenden Sie in den Passwörtern kein '§' da dies bei der Verbindung zum opsi-Service nicht erlaubt ist. |
Nun wird die Gruppenmitgliedschaft eingerichtet und getestet mit der Befehlsfolge:
usermod -aG opsiadmin adminuser
getent group opsiadmin
Der getent-Befehl sollte dann so etwas ausgeben wie:
opsiadmin:x:1001:opsiconfd,adminuser
Wenn 'root' nicht Mitglied von opsiadmin-Gruppe ist, kann er unter Umständen nicht alle opsi-Administrationskommandos ausführen! |
Für alltägliche Arbeiten auf Ihrem opsi-Server ist es in der Regel nicht notwendig als 'root' zu arbeiten.
Unsere Empfehlung ist es einen normalen Benutzer zu nutzen und sudo
zu verwenden, wann immer administrative Privilegien benötigt werden.
Alle User, die Produkte packen (opsi-makepackage
), installieren (opsi-package-manager
) oder Konfigurationsdateien manuell bearbeiten wollen, müssen zusätzlich in der Gruppe 'opsifileadmin-Gruppe' sein:
usermod -aG opsifileadmins adminuser
Der Test
getent group opsifileadmins
ergibt
'opsifileadmins:x:998:adminuser'
Damit Mitglieder der Gruppe 'opsifileadmin-Gruppe' den Befehl sudo opsi-set-rights
nutzen können führen Sie bitte aus:
opsi-setup --patch-sudoers-file
Dann kann opsi-set-rights
(macht das selbe wie opsi-setup --set-rights
), nicht nur als root, sondern auch per sudo von Mitgliedern der Gruppe 'opsifileadmin-Gruppe' aufgerufen werden.:
Beispiel:
sudo opsi-set-rights .
DHCP-Konfiguration
Eine korrekt funktionierende Namensauflösung und DHCP ist für das Funktionieren von opsi essentiell. Um die Installation zu vereinfachen, ist die von uib bereitgestellte VM schon mit einem DHCP-Server ausgestattet. Auf der anderen Seite ist in vielen Umgebungen in der Regel bereits ein DHCP-Server schon vorhanden, der weiter genutzt werden soll. Daher werden im folgenden beide Alternativen beschrieben.
Alternative: DHCP auf dem opsi-Server
In der vorkonfigurieren opsi VM ist bereits ein DHCP-Server installiert.
Der DHCP-Server auf der opsi-Server VM ist so konfiguriert, das er keine freien leases hat, also keine IP-Nummern an unbekannte Rechner vergibt.
Wenn Sie im opsi-configed einen Client erzeugen, müssen Sie daher IP-Nummer und MAC-Adresse angeben, da diese in die /etc/dhcp/dhcpd.conf
eingetragen und danach der DHCP Dienst neu gestartet wird.
Wenn Sie den opsi-Server als DHCP-Server verwenden möchten, müssen Sie daher das entsprechende Paket manuell nachinstallieren
z.B. mit
apt install isc-dhcp-server
Nach der Installation muss die Konfigurationsdatei noch angepasst werden mit dem Befehl:
opsi-setup --auto-configure-dhcpd
Um den DHCP Server neu zu starten, so wie in /etc/opsi/backends/dhcpd.conf
beschrieben, ist ein entsprechender Eintrag in der /etc/sudoers
notwendig. Dieser wird mit folgendem Befehl erstellt.
opsi-setup --patch-sudoers-file
Die Rechte der /etc/dhcp/dhcpd.conf
sollten wie folgt aussehen.
-rw-r--r-- 1 opsiconfd opsiadmin 80174 Dec 22 14:37 /etc/dhcp/dhcpd.conf
Alternative: externer DHCP-Server
Wenn Sie die opsi-VM verwenden dann können Sie den DHCP-Server deinstallieren.
Dazu führen Sie den folgenden Befehl aus:
apt remove isc-dhcp-server
Bei einer eigenen Installation wird seit opsi 4.0.3 nicht mehr automatisch ein DHCP-Server installiert.
Nun müssen Sie den externen DHCP-Server so konfigurieren, dass er ein PXE-Boot über den opsi-Server ermöglicht. Wenn Ihr DHCP-Server auf einem Linux läuft, sind folgende Einträge in der Konfigurationsdatei des dhcpd (z.B. /etc/dhcp/dhcpd.conf
) für die Clients notwendig:
next-server <ip of opsi-server>;
filename "linux/pxelinux.0";
Wobei '<ip of opsi-server>' durch die IP-Adresse des opsi-Servers zu ersetzen ist.
Läuft der opsi-Server auf openSUSE oder SLES, so ist filename=opsi/pxelinux.0
.
Läuft der opsi-Server auf UCS, so ist filename=pxelinux.0
.
Bei einem Windows-Server sind die entsprechenden Einträge 'Startserver (Option 66)' und 'Startfile (Option 67)'.
Wenn Sie im opsi-configed einen Client erzeugen, müssen Sie die MAC-Adresse angeben, aber keine IP-Nummer.
Überprüfung/Anpassung Backendkonfiguration für DHCP-Nutzung
Je nachdem ob der interne oder ein externer DHCP-Server verwendet wird, muss die Konfiguration von opsi angepasst werden.
In der Datei /etc/opsi/backendManager/dispatch.conf
ist festgelegt, welche Backends von opsi zum Einsatz kommen (bspw. 'file', 'mysql').
In den Zeilen backend_.
und host_.
wird u.a. gesteuert, ob der opsi-Server auch die lokale DHCP-Konfiguration – also die Zuweisung von Internet-Adressen zu den Hardware-Adressen der Netzwerkkarten – mit übernimmt.
Dies muss so eingerichtet sein, wenn für die opsi-clients die DHCP-Einträge durch die opsi-Konfigurationsaufrufe erzeugt werden sollen. Der entsprechende Eintrag mit file
Backend muss dann z.B. lauten:
backend_.* : file, opsipxeconfd, dhcpd
host_.* : file, opsipxeconfd, dhcpd
Wenn der opsi-Server den DHCP-Dienst nicht bereitstellen soll (weil ein anderer Server im lokalen Netz diese Aufgabe übernimmt und auch für die opsi-clients gepflegt wird), so wird das Backend dhcpd
nicht benötigt:
backend_.* : file, opsipxeconfd
host_.* : file, opsipxeconfd
Nach Anpassung der Backendkonfiguration muss die Konfiguration initialisiert und der opsiconfd neu gestartet werden:
opsi-setup --init-current-config
opsi-set-rights
systemctl restart opsiconfd.service
systemctl restart opsipxeconfd.service
Konfiguration der Namensauflösung
Für die Installation der Software auf den Clients vor dem Login müssen allgemein nur die Clients wissen, wie sie den opsi-Server erreichen.
opsi kennt inzwischen allerdings auch eine Reihe von 'Push' Funktionalitäten wie z.B. 'on_demand' Installationen, Nachrichten versenden, Remote-Control Software starten, Session Informationen abrufen.
Für all diese Funktionen muss der Server die Clients erreichen können und dazu muss er die gültige IP-Nummer des Clients zu ermitteln. Wie dies am besten geschieht hängt von der konkreten Konfiguration von DNS und DHCP ab. Die Zahl der möglichen Varianten ist hier sehr groß.
Daher seien hier zwei typische Extreme aufgeführt:
-
Die Clients sind nicht im DNS und haben dynamisch zugewiesene wechselnde IP-Nummern.
-
Die IP-Nummern aller laufenden Clients lassen sich immer korrekt beim DNS abfragen.
Um den opsi-server nun an die unterschiedlichen Gegebenheiten anpassen zu können gibt es zwei Konfigurationen die Sie ändern können:
-
Der Eintrag resolveHostAddress in der Datei
/etc/opsi/backends/hostcontrol.conf
Steht diese Option auf 'True', wird bei einem Verbindungsaufbau vom opsi-Server zu einem opsi-client die IP-Adresse des Clients bevorzugt über die Namensauflösung ermittelt. Um die im Backend von opsi hinterlegte IP-Adresse zu bevorzugen ist die Option auf 'False' zu setzen. -
Der Eintrag update-ip in der Datei
/etc/opsi/opsiconfd.conf
Steht dieser Eintrag auf 'true', so wird wann immer der opsi-server von einem Client eine IP-Adresse empfängt (z.B. bei jedem Kontakt die der Client aufnimmt) die IP-Datenbank des opsi-servers aktualisiert. Der Default ist 'true'.
Für die oben aufgeführte Variante 1, ist es sinnvoll resolveHostAddress auf 'False' und update-ip auf 'true' zu setzen.
Für die oben aufgeführte Variante 2, ist die bessere Konfiguration resolveHostAddress auf 'True' zu setzen und update-ip auf 'false'.
Welche Kombination bei Ihnen am besten passt, müssen Sie anhand Ihrer Gegebenheiten selbst ermitteln.
Wenn Sie an diesen Konfigurationen etwas geändert haben, so starten Sie den opsiconfd neu:
systemctl restart opsiconfd.service