diff --git a/README.md b/README.md index af88bb2..6b26321 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ werden müssen. 3. [Voraussetzungen & Ports](#3-voraussetzungen--ports) 4. [Installation auf Debian/Ubuntu (Docker)](#4-installation-auf-debianubuntu-docker) 5. [Installation auf RHEL/Rocky/Alma/Fedora (Podman)](#5-installation-auf-rhelrockyalmafedora-podman) + * [5.1 Unregistriertes RHEL: woher die Pakete kommen](#51-unregistriertes-rhel-woher-die-pakete-kommen) 6. [Autostart nach einem Neustart des Hosts (Podman)](#6-autostart-nach-einem-neustart-des-hosts-podman) 7. [Konfiguration (`.env`)](#7-konfiguration-env) 8. [Checkmk-Image beschaffen (Raw, Enterprise & Co.)](#8-checkmk-image-beschaffen-raw-enterprise--co) @@ -202,7 +203,7 @@ verwendet. Die Compose-Datei ist dieselbe. > RHEL 9 nutzt *Simple Content Access*, ein `subscription-manager attach` ist > **nicht** mehr nötig. Ohne Konto geht es auch per Installations-DVD oder durch > den Wechsel auf Rocky/Alma – alle drei Wege stehen ausführlich in -> [Abschnitt 5.1](#5-installation-auf-rhelrockyalmafedora-podman). +> [Abschnitt 5.1](#51-unregistriertes-rhel-woher-die-pakete-kommen). > > **Rocky Linux, AlmaLinux, CentOS Stream und Fedora** brauchen nichts davon – > dort einfach weiterlesen. @@ -218,7 +219,7 @@ sudo ./install.sh --with-systemd `install.sh` installiert dabei: 1. prüft zuerst, ob überhaupt ein nutzbares Repository vorhanden ist, und - nennt andernfalls die drei Wege aus [Abschnitt 5.1](#5-installation-auf-rhelrockyalmafedora-podman) + nennt andernfalls die drei Wege aus [Abschnitt 5.1](#51-unregistriertes-rhel-woher-die-pakete-kommen) 2. `podman`, `tar`, `openssl` 3. `dialog` für die ncurses-Oberfläche – schlägt das fehl, wird `newt` (`whiptail`) genommen; beides unterstützen die Skripte @@ -244,7 +245,7 @@ sudo dnf install -y podman-compose > schon der Befehl oben – EPEL ist **kein** Ersatz für die Registrierung. > > Bleibt `podman-compose` deswegen unerreichbar, ist das kein Hindernis: -> mit **Quadlet** ([Kapitel 6, Variante B](#6-autostart-nach-einem-neustart-des-hosts-podman)) +> mit **Quadlet** ([Kapitel 6, Variante B](#variante-b--podman-quadlet-ab-podman-44-ohne-compose)) > läuft der Stack ganz ohne Compose, direkt über systemd. Starten: @@ -260,7 +261,7 @@ sudo ./scripts/cmk-manage.sh up # nutzt automatisch podman-compose sudo ./scripts/cmk-manage.sh status ``` -> Auf RHEL unbedingt [Kapitel 8.2](#8-checkmk-image-beschaffen-raw-enterprise--co) +> Auf RHEL unbedingt [Kapitel 8.2](#82-zwei-podman-fallstricke-genau-die-aus-der-praxis) > lesen: kurze Image-Namen und `podman import` statt `podman load` sind die > beiden Ursachen fuer „Image unbekannt“. @@ -938,7 +939,7 @@ ausgefüllt), aber das Hochladen eines **selbstsignierten Zertifikats** (*SSL Certificates → Custom*) funktioniert so nicht zuverlässig. Für genau diesen Fall führt der Weg über die REST-Schnittstelle des Proxy -Managers. Zertifikat wie in [Kapitel 10.4](#10-https-einrichten--lets-encrypt-oder-selbstsigniert) +Managers. Zertifikat wie in [Kapitel 10.4](#104-variante-b--selbstsigniertes-zertifikat-interne-umgebung) erzeugen, dann: ```bash @@ -1584,11 +1585,13 @@ Checkmk-Werksnotizen (Werks/Release Notes) lesen. | Agents melden sich nach der Migration nicht | Site-Name geändert (`--as-site`), IP nicht übernommen oder Port 8000 blockiert; auf dem Agent prüfen: `cmk-agent-ctl status` | | Permission denied auf `data/` unter RHEL | SELinux: `restorecon -Rv /opt/checkmk-stack/data`, `:Z` an den Mounts prüfen | | `podman-compose` nicht gefunden | EPEL aktivieren oder auf Quadlet umstellen (`./install.sh --quadlet`) | +| `This system is not registered with an entitlement server` | RHEL ohne Subskription – `dnf` liefert dann gar keine Pakete. Registrieren, Installations-DVD als Repository einbinden oder auf Rocky/Alma wechseln: [Abschnitt 5.1](#51-unregistriertes-rhel-woher-die-pakete-kommen) | +| `epel-release` lässt sich nicht installieren | EPEL setzt Red Hats Basis-Repositories voraus und ersetzt die Registrierung nicht. Ohne Subskription führt der Quadlet-Weg ohne `podman-compose` zum Ziel: [Kapitel 6, Variante B](#variante-b--podman-quadlet-ab-podman-44-ohne-compose) | | Adminoberfläche aus dem LAN nicht erreichbar | Port 81 gesperrt. Auf einen freien Port legen: `cmk-manage.sh npm-port 10443` und in der Firewall freigeben | | Nach `npm-port` antwortet der neue Port nicht | Proxy Manager wurde nicht neu gestartet: `cmk-manage.sh restart`; Datei prüfen: `data/npm/data/nginx/custom/http.conf` | | `cmk-manage.sh` bricht mit „CMK_RUNTIME … ist nicht installiert" ab | wird nur noch gewarnt und selbst gesucht; sauber setzen mit `config set CMK_RUNTIME auto` | | Proxy-Manager-Oberfläche im Browser leer / nur Textfragmente | Textbrowser ohne JavaScript verwendet. `cmk-manage.sh browser --engine browsh` (bzw. `carbonyl`) nehmen | -| Selbstsigniertes Zertifikat lässt sich im Terminal-Browser nicht hochladen | Datei-Dialoge gibt es dort nicht – Upload über die API, siehe [Kapitel 11.3](#11-proxy-manager-lokal-einrichten-terminal-browser) | +| Selbstsigniertes Zertifikat lässt sich im Terminal-Browser nicht hochladen | Datei-Dialoge gibt es dort nicht – Upload über die API, siehe [Kapitel 11.3](#113-grenze-datei-upload) | | `browser` meldet „braucht ein echtes Terminal" | Aufruf aus Pipe/Skript. Direkt auf der Konsole oder per SSH aufrufen; nur der Bau geht headless mit `--build-only` | | TUI startet nicht | `dialog` installieren: `apt-get install -y dialog` bzw. `dnf install -y dialog` | | Site startet nicht, `tmp`-Fehler | `./scripts/cmk-manage.sh omd config set TMPFS off`, danach Site starten | diff --git a/README_en.md b/README_en.md index 0718408..6bc4ea8 100644 --- a/README_en.md +++ b/README_en.md @@ -21,6 +21,7 @@ agents. 3. [Requirements & ports](#3-requirements--ports) 4. [Installation on Debian/Ubuntu (Docker)](#4-installation-on-debianubuntu-docker) 5. [Installation on RHEL/Rocky/Alma/Fedora (Podman)](#5-installation-on-rhelrockyalmafedora-podman) + * [5.1 Unregistered RHEL: where the packages come from](#51-unregistered-rhel-where-the-packages-come-from) 6. [Starting automatically after a host reboot (Podman)](#6-starting-automatically-after-a-host-reboot-podman) 7. [Configuration (`.env`)](#7-configuration-env) 8. [Obtaining the Checkmk image (Raw, Enterprise & co.)](#8-obtaining-the-checkmk-image-raw-enterprise--co) @@ -207,7 +208,7 @@ compose file is the same one. > RHEL 9 uses *Simple Content Access*, so `subscription-manager attach` is **no > longer** required. Without an account it also works from the installation DVD > or by switching to Rocky/Alma – all three routes are covered in detail in -> [section 5.1](#5-installation-on-rhelrockyalmafedora-podman). +> [section 5.1](#51-unregistered-rhel-where-the-packages-come-from). > > **Rocky Linux, AlmaLinux, CentOS Stream and Fedora** need none of this – just > read on. @@ -223,7 +224,7 @@ sudo ./install.sh --with-systemd `install.sh` installs: 1. first checks whether a usable repository exists at all, and otherwise names - the three routes from [section 5.1](#5-installation-on-rhelrockyalmafedora-podman) + the three routes from [section 5.1](#51-unregistered-rhel-where-the-packages-come-from) 2. `podman`, `tar`, `openssl` 3. `dialog` for the ncurses interface – if that fails, `newt` (`whiptail`) is used instead; the scripts support either @@ -249,7 +250,7 @@ sudo dnf install -y podman-compose > for registering. > > If `podman-compose` stays out of reach because of this, it is no obstacle: -> with **Quadlet** ([chapter 6, option B](#6-starting-automatically-after-a-host-reboot-podman)) +> with **Quadlet** ([chapter 6, option B](#option-b--podman-quadlet-podman-44-and-newer-no-compose)) > the stack runs entirely without compose, straight through systemd. Starting up: @@ -265,7 +266,7 @@ sudo ./scripts/cmk-manage.sh up # automatically uses podman-compose sudo ./scripts/cmk-manage.sh status ``` -> On RHEL, do read [chapter 8.2](#8-obtaining-the-checkmk-image-raw-enterprise--co): +> On RHEL, do read [chapter 8.2](#82-two-podman-pitfalls-the-ones-that-actually-bite): > short image names and `podman import` instead of `podman load` are the two > causes of "image not known". @@ -944,7 +945,7 @@ work reliably this way. For exactly this case, use the Proxy Manager's REST interface. Create the certificate as described in -[chapter 10.4](#10-setting-up-https--lets-encrypt-or-self-signed), then: +[chapter 10.4](#104-option-b--self-signed-certificate-internal-environment), then: ```bash NPM=http://127.0.0.1:81 @@ -1139,7 +1140,7 @@ sudo ./scripts/cmk-manage.sh gui ``` The menu labels are German; the command table in -[14.2](#14-management-cmk-managesh) lists the same actions in English. +[14.2](#142-command-line) lists the same actions in English. ``` ┌──────────────── Checkmk Stack Manager ─────────────────┐ @@ -1593,11 +1594,13 @@ release notes beforehand. | Agents do not report after the migration | site name changed (`--as-site`), IP not taken over, or port 8000 blocked; check on the agent: `cmk-agent-ctl status` | | Permission denied on `data/` under RHEL | SELinux: `restorecon -Rv /opt/checkmk-stack/data`, check `:Z` on the mounts | | `podman-compose` not found | enable EPEL or switch to Quadlet (`./install.sh --quadlet`) | +| `This system is not registered with an entitlement server` | RHEL without a subscription – `dnf` then supplies no packages at all. Register, mount the installation DVD as a repository, or switch to Rocky/Alma: [section 5.1](#51-unregistered-rhel-where-the-packages-come-from) | +| `epel-release` cannot be installed | EPEL depends on Red Hat's base repositories and is no substitute for registering. Without a subscription, the Quadlet route without `podman-compose` gets you there: [chapter 6, option B](#option-b--podman-quadlet-podman-44-and-newer-no-compose) | | Admin interface unreachable from the LAN | port 81 blocked. Move it to a free port: `cmk-manage.sh npm-port 10443` and open that in the firewall | | New port does not answer after `npm-port` | the Proxy Manager was not restarted: `cmk-manage.sh restart`; check the file `data/npm/data/nginx/custom/http.conf` | | `cmk-manage.sh` aborts with "CMK_RUNTIME … ist nicht installiert" | it now only warns and detects the runtime itself; set it cleanly with `config set CMK_RUNTIME auto` | | Proxy Manager interface blank / only text fragments | a text browser without JavaScript was used. Use `cmk-manage.sh browser --engine browsh` (or `carbonyl`) | -| Self-signed certificate cannot be uploaded in the terminal browser | there are no file dialogs there – upload via the API, see [chapter 11.3](#11-configuring-the-proxy-manager-locally-terminal-browser) | +| Self-signed certificate cannot be uploaded in the terminal browser | there are no file dialogs there – upload via the API, see [chapter 11.3](#113-limitation-file-upload) | | `browser` reports "braucht ein echtes Terminal" (needs a real terminal) | called from a pipe/script. Call it on the console or over SSH; only the build runs headless, with `--build-only` | | The TUI does not start | install `dialog`: `apt-get install -y dialog` or `dnf install -y dialog` | | Site does not start, `tmp` errors | `./scripts/cmk-manage.sh omd config set TMPFS off`, then start the site |