Skip to main content

AlmaLinux 9 – Basic To-Dos nach Installation

🧱 AlmaLinux 9 – Basic To-Dos nach Installation

Dieser Artikel beschreibt die grundlegenden Schritte nach der Installation eines AlmaLinux 9 Servers.
Er dient als universelle Basis-Konfiguration für neue Systeme (z. B. Webserver, Management-Server, Backup-Node oder CloudStack-Host).


⚙️ 1️⃣ System aktualisieren

AlmaLinux 9 verwendet DNF als Paketmanager (Nachfolger von YUM).

🧩 Unterschied zwischen DNF und YUM

Punkt YUM DNF
Basis Alte Generation (RHEL ≤ 7) Moderne Version (ab RHEL 8/9)
Geschwindigkeit Langsamer, kein Caching Schneller, mit Caching & besserem Dependency-Resolver
API-Fähigkeit Keine Vollständige Python-API
Kompatibilität Alte Syntax Voll kompatibel zu YUM-Befehlen (dnf = yum)

👉 Kurz gesagt: dnf ersetzt yum vollständig.
Du kannst auf AlmaLinux 9 zwar noch yum eingeben – intern wird aber dnf ausgeführt.

🧭 Befehle

# Systempakete aktualisieren
dnf update -y

# (Optional) Neustart, falls Kernel-Update
reboot

🧭 2️⃣ Hostname setzen und prüfen

Der Hostname identifiziert den Server eindeutig im Netzwerk und wird u. a. für Zertifikate, Logs und SSH-Sessions verwendet.

📋 Aktuellen Hostname anzeigen

hostnamectl

✏️ Hostname ändern

# Beispiel
hostnamectl set-hostname server01.example.local

🔁 Verifizieren

hostnamectl status
# oder
hostname

💡 Hinweis

  • Der Befehl schreibt den neuen Namen direkt in /etc/hostname.
  • Ein Neustart ist nicht nötig, die Änderung greift sofort.
  • Wenn du einen FQDN (z. B. server01.example.local) verwendest, sollte der Hostname auch in /etc/hosts eingetragen werden:
127.0.0.1   localhost
192.168.1.10 server01.example.local server01

🔐 3️⃣ Benutzer & SSH-Absicherung

# Neuen Benutzer anlegen
useradd tobias
passwd tobias

# In die sudo-Gruppe aufnehmen
usermod -aG wheel tobias

SSH absichern:

# Root-Login deaktivieren
sed -i 's/^#PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config

# (Optional) Passwort-Login deaktivieren, wenn SSH-Key genutzt wird
sed -i 's/^#PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config

# Dienst neu starten
systemctl restart sshd

🧰 4️⃣ Basis-Tools installieren

dnf install -y vim nano htop git curl wget net-tools \
  bash-completion unzip tar zip rsync chrony

🔥 5️⃣ Firewall aktivieren

systemctl enable --now firewalld
firewall-cmd --add-service=ssh --permanent
firewall-cmd --reload

🌐 6️⃣ Netzwerk konfigurieren

nmcli device status
nmcli connection show

Beispiel – statische IP

nmcli con mod "ens192" ipv4.addresses 192.168.1.10/24
nmcli con mod "ens192" ipv4.gateway 192.168.1.1
nmcli con mod "ens192" ipv4.dns "1.1.1.1 8.8.8.8"
nmcli con mod "ens192" ipv4.method manual
nmcli con up "ens192"

🧩 7️⃣ SELinux & Auto-Updates

# SELinux-Status prüfen
sestatus

# (Optional) auf Permissive Mode setzen
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config

Automatische Sicherheitsupdates aktivieren:

dnf install -y dnf-automatic
systemctl enable --now dnf-automatic.timer

🧾 8️⃣ Cockpit aktivieren (Web-GUI)

dnf install -y cockpit
systemctl enable --now cockpit.socket
firewall-cmd --add-service=cockpit --permanent
firewall-cmd --reload

Zugriff: https://server-ip:9090
Login mit einem Benutzer aus der wheel-Gruppe.


📦 9️⃣ EPEL & CRB Repository aktivieren

dnf install -y epel-release
dnf config-manager --set-enabled crb

🧭 🔟 Abschluss

✅ System ist aufgesetzt
✅ Benutzer, Sicherheit & Netzwerk konfiguriert
✅ Bereit für Rollenzuweisung (z. B. Web, DB, RMM, CloudStack)


🪶 Zusammenfassung wichtiger Befehle

Zweck Befehl
Hostname setzen hostnamectl set-hostname <name>
Systemupdate dnf update -y
Benutzer anlegen useradd <name>
Firewall starten systemctl enable --now firewalld
Cockpit aktivieren systemctl enable --now cockpit.socket

Last Update: {{DATE}}
Autor: CoreStream Group – Internal KB