Installation unter Debian/Ubuntu

Dieses Kapitel beschreibt die paketbasierte Installation eines opsi-Servers unter Debian und Ubuntu.

Proxy-Einstellungen

Für die Installation benötigen Sie einen Internet-Zugang (HTTP/HTTPS).

Wenn der Zugriff über einen HTTP-Proxy erfolgen soll, konfigurieren Sie die Proxy-Einstellungen systemweit über Umgebungsvariablen. Diese Umgebungsvariablen tragen Sie in die Datei /etc/environment ein.

Beachten Sie, dass die Namen der Umgebungsvariablen ausschließlich aus Kleinbuchstaben bestehen.
  • http_proxy: Konfiguriert den Proxy für HTTP-Verbindungen, setzt eine vollständige URL voraus (nicht nur Hostname und Port); falls Authentifizierung erforderlich ist, kann diese in der URL definiert werden:
    http_proxy=http://<user>:<password>@<proxy-address>:<port>

  • https_proxy: wie http_proxy, nur für HTTPS-Verbindungen:
    https_proxy=https://<proxy-address>:<port>

  • no_proxy: definiert, für welche Adressen kein Proxy verwendet werden soll; mehrere Adressen werden durch Kommata getrennt:
    no_proxy=127.0.0.1,localhost,mydomain.example,hostname.domain.com:8080
    Für die Adressen gelten die folgenden Regeln:

    • Verwenden Sie nur Kleinbuchstaben.

    • Notieren Sie nur IP-Adressen, wenn auch der Zugriff direkt auf die IP-Adresse erfolgt. Bei der Auswertung der Ausnahmen findet keine Namensauflösung statt.

    • IP-Adressbereiche (CIDR-Matching, wie z. B. 192.168.0.0/24) sind nicht zulässig.

    • Sie müssen auch für lokale Adressen (localhost) und Loopback-Adressen (127.0.0.1) Ausnahmen definieren.

    • Wildcards und reguläre Ausdrücke sind nicht erlaubt.

    • Jeder Name wird als Suffix ausgewertet, domain.com definiert daher eine Ausnahme für alle Hostnamen die auf domain.com enden.

    • Sie können für jede Adresse optional einen Port hinter einem Doppelpunkt angeben, für den die Ausnahme gilt.

Beispiel für die Datei /etc/environment:

http_proxy=http://10.1.1.1:8080
https_proxy=https://10.1.1.1:8080
no_proxy=127.0.0.1,localhost,company.tld

Übernehmen Sie die Änderungen in die laufende Shell, indem Sie die folgenden Befehle ausführen:

set -a; source /etc/environment; set +a
Bei Suse-Distributionen passen Sie den Parameter NO_PROXY in der Datei /etc/sysconfig/proxy an. Tragen Sie dazu NO_PROXY=127.0.0.1,localhost,company.tld ein.

Erfolgt der opsiconfd-Zugriff über einen Proxy, erfolgen die Anfragen an den Dienst von der IP-Adresse des Proxys aus. Alle Funktionen, die mit der IP-Adresse des Clients arbeiten, wie zum Beispiel networks, admin-networks, update-ip oder max-session-per-ip, funktionieren dann nicht richtig. Die Adressen von vertrauenswürdigen Proxys können Sie über den Parameter trusted-proxies definieren. Stammt die Verbindung von einem vertrauenswürdigen Proxy, wertet der Server den X-Forwarded-For-Header aus, um die ursprüngliche Client-Adresse zu erhalten.

Beispiel:

admin-networks=[192.168.10.0/24]
trusted-proxies=[192.178.16.27]

Repositorys konfigurieren

Installieren Sie zunächst die folgenden Pakete:

sudo apt --yes install host apt-transport-https software-properties-common curl gpg

Stellen Sie sicher, dass das Verzeichnis /usr/local/share/keyrings existiert:

sudo mkdir -p /usr/local/share/keyrings

Fügen Sie das Grafana-Repository hinzu:

REPO_URL=https://apt.grafana.com
REPO_KEY=/usr/local/share/keyrings/grafana.gpg
curl -fsSL ${REPO_URL}/gpg.key | gpg --dearmor | sudo tee ${REPO_KEY} > /dev/null
sudo echo "deb [signed-by=${REPO_KEY}] ${REPO_URL} stable main" | sudo tee /etc/apt/sources.list.d/grafana.list

Fügen Sie das zu Ihrer Distribution passende opsi-Repository hinzu:

Debian 12, Bookworm:

REPO_URL=https://download.opensuse.org/repositories/home:/uibmz:/opsi:/4.3:/testing/Debian_12
REPO_KEY=/usr/local/share/keyrings/opsi-obs.gpg
sudo echo "deb [signed-by=$REPO_KEY] $REPO_URL/ /" | sudo tee /etc/apt/sources.list.d/opsi.list
curl -fsSL $REPO_URL/Release.key | gpg --dearmor | sudo tee $REPO_KEY > /dev/null

Debian 11, Bullseye:

REPO_URL=https://download.opensuse.org/repositories/home:/uibmz:/opsi:/4.3:/testing/Debian_11
REPO_KEY=/usr/local/share/keyrings/opsi-obs.gpg
sudo echo "deb [signed-by=$REPO_KEY] $REPO_URL/ /" | sudo tee /etc/apt/sources.list.d/opsi.list
curl -fsSL $REPO_URL/Release.key | gpg --dearmor | sudo tee $REPO_KEY > /dev/null

Debian 10, Buster:

REPO_URL=https://download.opensuse.org/repositories/home:/uibmz:/opsi:/4.3:/testing/Debian_10
REPO_KEY=/usr/local/share/keyrings/opsi-obs.gpg
sudo echo "deb [signed-by=$REPO_KEY] $REPO_URL/ /" | sudo tee /etc/apt/sources.list.d/opsi.list
curl -fsSL $REPO_URL/Release.key | gpg --dearmor | sudo tee $REPO_KEY > /dev/null

Ubuntu 24.04 LTS, Noble Numbat:

REPO_URL=https://download.opensuse.org/repositories/home:/uibmz:/opsi:/4.3:/testing/xUbuntu_24.04
REPO_KEY=/usr/local/share/keyrings/opsi-obs.gpg
sudo echo "deb [signed-by=$REPO_KEY] $REPO_URL/ /" | sudo tee /etc/apt/sources.list.d/opsi.list
curl -fsSL $REPO_URL/Release.key | gpg --dearmor | sudo tee $REPO_KEY > /dev/null

Ubuntu 22.04 LTS, Jammy Jellyfish:

REPO_URL=https://download.opensuse.org/repositories/home:/uibmz:/opsi:/4.3:/testing/xUbuntu_22.04
REPO_KEY=/usr/local/share/keyrings/opsi-obs.gpg
sudo echo "deb [signed-by=$REPO_KEY] $REPO_URL/ /" | sudo tee /etc/apt/sources.list.d/opsi.list
curl -fsSL $REPO_URL/Release.key | gpg --dearmor | sudo tee $REPO_KEY > /dev/null

Ubuntu 20.04 LTS, Focal Fossa:

REPO_URL=https://download.opensuse.org/repositories/home:/uibmz:/opsi:/4.3:/testing/xUbuntu_20.04
REPO_KEY=/usr/local/share/keyrings/opsi-obs.gpg
sudo echo "deb [signed-by=$REPO_KEY] $REPO_URL/ /" | sudo tee /etc/apt/sources.list.d/opsi.list
curl -fsSL $REPO_URL/Release.key | gpg --dearmor | sudo tee $REPO_KEY > /dev/null

Prüfen Sie, ob der Import des GnuPG-Schlüssels erfolgreich war:

gpg --show-keys /usr/local/share/keyrings/opsi-obs.gpg 2>/dev/null

In der Ausgabe sollten unter anderem folgende Zeilen auftauchen:

pub   rsa2048 2017-09-30 [SC] [expires: 2025-11-19]
      2E98F7B5A5B2C8FE7F609705D1F933E6D8361F81
uid           home:uibmz:opsi OBS Project <home:uibmz:opsi@build.opensuse.org>

Pakete installieren

Installieren Sie das Paket opsi-server-full:

sudo apt update
sudo apt --yes install opsi-server-full
Anstelle des Paketes opsi-server-full können Sie auch opsi-server oder opsi-server-expert installieren. Die Pakete haben andere Abhängigkeiten und sind für den Fall gedacht, dass Sie MySQL, Redis oder Grafana auf einem anderen Server betreiben wollen. opsi-server und opsi-server-expert bieten mehr Fexibilität, sollten jedoch nur von erfahrenen Linux-Administratoren verwendet werden.
Stellen Sie sicher, dass Ihre Firewall und die SELinux-Konfiguration Verbindungen zu den Ports 69/UDP (TFTP) sowie 4447/TCP und 4441/TCP (opsi) zulassen. Weitere Hinweise zu SELinux finden Sie unter SELinux.

Der opsi-Server ist jetzt bereit für die nächsten Schritte.