| FOTO | AUTO | EDV | AUDIO |

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
edv:padawan:projekt_webserver [13 16 2026 13 : 16] – angelegt André Reichert-Creutzedv:padawan:projekt_webserver [13 29 2026 13 : 29] (aktuell) – [Das Projektdokument] André Reichert-Creutz
Zeile 1: Zeile 1:
-====== Projekt: Fehlerhafter Webserver ======+====== Azubi-Projekt: DokuWiki auf RHEL 9 ======
  
-===== Überblick =====+<WRAP center round box 90%> 
 +//Dies ist kein Tutorial. Es gibt keine Schritt-für-Schritt-Anleitung.\\ 
 +Du bekommst einen nackten Server – und eine Anforderung. Der Rest liegt bei dir.// 
 +</WRAP>
  
-Ein realistisches **Troubleshooting-Projekt** für Azubis im 1. Lehrjahr. Aufgabe: Einen defekten Apache httpd auf RHEL reparieren -- nicht nur "irgendwie zum Laufen bringen", sondern eine **nachhaltige, produktionsreife Lösung** entwickeln.+----
  
-Dieses Projekt verbindet **Diagnose** (Fehler finden), **Betrieb** (systemd, Firewall, Logging) und **Wartbarkeit** (nachhaltige Konfiguration, Dokumentation).+===== Der Auftrag =====
  
-===== Lernziele =====+Die IT-Infrastruktur benötigt ein internes Dokumentationssystem. Die Wahl ist auf **DokuWiki** gefallen – leichtgewichtig, datenbanklos, bewährt. Deine Aufgabe: einen leeren RHEL 9-Server in einen produktionsbereiten, gehärteten und auditierten Webserver verwandeln.
  
-Nach diesem Projekt kannst du:+Das System läuft in einem regulierten Umfeld. Es muss nicht nur funktionieren – es muss **sicher, nachvollziehbar und wartbar** sein. Das sind die drei Anforderungen, die dich bis zur Abnahme begleiten.
  
-  * **Diagnosemethodik**Systematisch von außen nach innen arbeiten (Netzwerk → Dienst → Konfiguration → Dateisystem) +Zeitansatz: **16 Stunden** über zwei Arbeitstage.
-  * **Apache httpd verstehen**: HTTP-Basics, VirtualHost-Konfiguration, Fehlerdiagnose +
-  * **systemd beherrschen**: Dienste starten/stoppen/enablen, Logs lesen, Status prüfen +
-  * **Firewall-Regeln setzen**: firewalld konfigurieren, persistent machen (nicht nur provisorisch) +
-  * **Nachhaltige Lösungen**: Unterschied zwischen Quick Fix und echten Lösung verstehen +
-  * **Dokumentation**: Fehler und Lösungsweg nachvollziehbar festhalten +
-  * **Betriebsbewusstsein**: Monitoring, Health-Checks und operative Verantwortung verstehen+
  
-===== Voraussetzungen =====+----
  
-  * Grundkenntnisse in Linux-Befehlen (ls, cd, cat, grep, sudo) +===== Transferleistung – was du dir selbst erarbeitest =====
-  * Verständnis für Dateirechte und Eigentümer +
-  * Zugang zu einer RHEL 8/9 VM mit Root-Privilegien +
-  * Bereitschaft, Fehler selbstständig zu diagnostizieren (gestufte Hinweise vom Ausbilder, aber kein "hier ist die Lösung")+
  
-===== Projektstruktur =====+<WRAP round important 90%> 
 +Die folgenden Themen wurden im Grundkurs bewusst nicht behandelt. Sie sind Teil dieses Projekts. Du musst sie dir durch Manpages, das Projektdokument oder mit Hilfe einer freigegebenen KI selbst erschließen – das gehört zum Beruf.
  
-Das Projekt besteht aus **drei Schwierigkeitsstufen** (easymedium, hard) und etwa 1--3 Stunden Bearbeitungszeit je Level.+  * **SELinux-Kontexte:** Über das ''rwx''-Modell hinaus – ''semanage fcontext''''restorecon'' 
 +  * **Systemd-Timer:** Moderne Aufgabenplanung ohne Cron – ''.timer''und ''.service''-Units 
 +  * **Textverarbeitung und Archivierung:** Strukturiertes Parsing mit ''awk'', Sicherung mit ''tar'' 
 +</WRAP>
  
-^ Level ^ Fehler ^ Dauer ^ Komplexität ^ +----
-| **easy** | F7 (fehlende index.html) | 30--45 min | Anfänger -- reine Datei-Problem | +
-| **medium** | F1 (Syntax), F8 (Pfad), F6 (enabled) | 60--90 min | Fortgeschritten -- Config-Fehler verdecken sich gegenseitig | +
-| **hard** | F1, F2 (Port), F5 (Firewall), F6, F7, F8 | 2--3h | Profi -- Netzwerk + Config + Dienst |+
  
-===== Vorbereitung durch den Ausbilder =====+===== Hinweis zur KI-Nutzung =====
  
-Der Ausbilder bereitet die fehlerhafte VM vor:+<WRAP round warning 90%> 
 +⚠ **DORA · BaFin · DSGVO – nicht verhandelbar**
  
-<code bash> +KI-Assistenten dürfen für Recherche und Syntaxverständnis genutzt werdenDabei gelten zwingend:
-sudo ./prepare_azubi_webserver.sh --level medium +
-</code>+
  
-Danach bekommst du eine VMauf der httpd zwar installiert istaber nicht funktioniertDer Rest ist deine Aufgabe.+  * **Keine Echtdaten** in KI-Prompts: keine echten IP-AdressenHostnamenPasswörter oder Benutzernamen. Platzhalter wie ''<SERVER-IP>'' verwenden. 
 +  * **Keine personenbezogenen Daten** – auch keine Testdaten, die auf echten Personen basieren. 
 +  * **Kein blindes Copy-Paste** – jede Zeile im Fachgespräch erklären können.
  
-===== Wichtige Regeln =====+KI ist ein Hilfsmittel zum Verstehen, kein Ersatz für das Denken. 
 +</WRAP>
  
-  ⚠ **Keine Holzhammer-Lösungen**: `systemctl stop firewalld` oder `setenforce 0` sind **nicht** akzeptabel -- auch wenn dadurch die Fehler verschwinden. Du musst die **echte Ursache** beheben. +----
-  ⚠ **Dokumentieren ist Pflicht**: Wie hast du den Fehler gefunden? Was war die Ursache? Wie hast du ihn gelöst -- und **warum ist die Lösung nachhaltig**? +
-  ⚠ **Test auch von außen**: Ein lokales `curl http://localhost` ist nicht ausreichend -- teste auch von einem anderen Rechner aus, um Firewall-Probleme zu entdecken.+
  
-===== Materialien =====+===== Projektphasen =====
  
-**Vorbereitung (lies ZUERST):** +Das Projekt gliedert sich in vier aufeinander aufbauende Phasen:
-  * [[#|Azubi_Vorbereitung.pdf]] -- Apache-Grundlagen, systemd, Diagnosewerkzeuge, Best Practices+
  
-**Aufgabenstellung:** +^ Phase ^ Titel ^ Schwerpunkt ^ 
-  [[#|Azubi_Aufgabenstellung.pdf]] -- Was du tun sollstsystematische VorgehensweiseDokumentationspflicht+**1** | Identity Management & Härtung | SSH-Schlüssel, Root-Login sperren, Service-User anlegen | 
 +| **2** | Applikation & Security | Apache, PHP-FPM, DokuWiki deployen, Dateirechte, SELinux, Firewall | 
 +| **3** | Audit & Automatisierung | Audit-SkriptBackup-SkriptSystemd-Timer | 
 +| **4** | Fachpräsentation | 15 Min. Vortrag + 15 Min. Fachgespräch mit dem Ausbilder |
  
-**Referenz (während der Bearbeitung):** +Phase 4 ist keine Zugabe – sie ist gleichwertigWer nicht erklären kannwas er gebaut hat, hat es nicht wirklich verstanden.
-  * [[#|Ausbilder_HowTo.pdf]] -- Fehlerkatalog F1-F8Fortschrittskontrolle (nur Ausbilder) +
-  * [[#|Musterlösung.pdf]] -- Erwartete Diagnosewege je Level (nur Ausbilder)+
  
-===== Schritt-für-Schritt-Vorgehen =====+----
  
-  1. **Vorbereitung lesen** → Azubi_Vorbereitung.pdf durch +===== Das Projektdokument =====
-  2. **Aufgabe verstehen** → Azubi_Aufgabenstellung.pdf lesen +
-  3. **VM vorbereiten** → Ausbilder führt `prepare_azubi_webserver.sh` aus +
-  4. **Diagnostizieren** → Systematisch von außen nach innen arbeiten +
-  5. **Dokumentieren** → Fehler, Ursache, Lösung, Nachhaltigkeit festhalten +
-  6. **Testen** → Lokal und extern -- curl muss `HTTP/1.1 200 OK` zeigen +
-  7. **Nachgespräch** → Mit Ausbilder besprechen: Was war schwierig? Warum ist die Lösung nachhaltig? Wie würde das in der Produktion aussehen?+
  
-===== Es können mehrere Fehler sein =====+<WRAP round important 90%> 
 +**Vollständige Aufgabenstellung, Phasenbeschreibungen und Abnahmekriterien – als LaTeX oder PDF**
  
-Die VM enthält **zwischen 1 und 6 Fehler**je nach SchwierigkeitslevelDu wirst sie nicht alle auf einmal sehen -- sobald du einen behoben hast, wird oft der nächste sichtbar.+Das Dokument enthält alle AnforderungenBewertungskriterien und Hinweise zur Transferleistung.\\ 
 +Lösungshinweise für Ausbilder sind im Anhang des Dokuments enthalten und im Fachgespräch nicht einsehbar.
  
-**Tipp:** Arbeite systematisch vor: +//Overleaf (Quelldatei + Live-Vorschau)://\\ 
-  1. Ist der Dienst überhaupt erreichbar? (Netzwerk/Dienst-Ebene) +[[https://de.overleaf.com/project/66570b386561bc85d43f770f|→ Overleaf: Azubi-Projekt Webserver]] 
-  2. Läuft der Dienst? (systemd-Status+</WRAP>
-  3Kann httpd starten? (Konfiguration) +
-  4Existieren die Dateien, die der Dienst braucht? (Dateisystem) +
-  5. Kann ich von außen darauf zugreifen? (Firewall)+
  
-**Löse die Fehler in dieser Reihenfolge** -- nicht umgekehrt. Ein früher Fehler verdeckt oft die späteren.+----
  
-===== Monitoring & Automatisierung (Ausblick) =====+===== Navigation =====
  
-Nach erfolgreicher FertigstellungDenke darüber nach, wie man solche Fehler **automatisch** erkennt:+[[edv:padawan:phase4|← Phase IV – Paketverwaltung und Netzwerk]]\\ 
 +[[edv:padawan:start|↑ Übersicht – Der Weg zur Macht]]
  
-  * Tägliche Health-Checks per Cron-Skript +----
-  * Integration in Checkmk für zentrales Monitoring +
-  * Ansible-Playbook für sichere, wiederholbare Installation+
  
-Diese sind **Folgeprojekte**, bauen aber auf den Erkenntnissen aus diesem Projekt auf. +<WRAP center round box 85%> 
- +//"Dokumentiere, was du tustNicht für den Ausbilder – für dich in sechs Monaten."//\\ 
-===== Wenn du stecken bleibst ===== +\\ 
- +''[azubi01@rhel9-kurs ~]$'' **_** 
-Das ist **normal** -- Troubleshooting ist schwierig, genau das ist der Sinn der Übung. +</WRAP>
- +
-  1. **Erst selbst nachdenken** -- 10 Minuten Nachdenken sind wertvoll +
-  2. **Logs lesen** -- `journalctl -xeu httpd`, `tail -50 /var/log/httpd/error_log` +
-  3**Frag den Ausbilder** -- Es gibt 5 Ebenen von Hinweisen, nicht nur "hier ist die Lösung+
- +
-**Keine Abkürzungen!** Lösungen wie `systemctl stop firewalld` (ohne echte Diagnose) oder `setenforce 0` sind **nicht akzeptabel** -- auch wenn der Fehler dann verschwindet. Du lernst dabei nichts. +
- +
-===== Zeitrahmen & Bewertung ===== +
- +
-^ Level ^ Zeit ^ Fokus ^ +
-| easy | 30--45 min | Erste Erfahrung mit Fehlersuche | +
-| medium | 60--90 min | Mehrere Fehler, gegenseitige Abhängigkeiten | +
-| hard | 2--3h | Vollständiger Produktivzustand: Netzwerk, Dienst, Config | +
- +
-**Bewertung:** +
-  * 40% -- Alle Fehler gefunden & behoben +
-  * 30% -- Korrekte, dauerhafte Lösung (nicht Quick Fix) +
-  * 20% -- Nachvollziehbare Dokumentation +
-  * 10% -- Selbstständigkeit (wenig Hilfe nötig) +
- +
-===== Nachbereitung ===== +
- +
-Nach erfolgreicher Fertigstellung besprecht ihr: +
- +
-  * Welcher Fehler war am schwierigsten zu finden? +
-  * Wie würde Monitoring (Checkmk) das verhindern? +
-  * Wie könnte man das mit Ansible automatisieren? +
-  * Was ist eine **nachhaltige** vs. eine **provisorische** Lösung? +
- +
-Diese Diskussion ist genauso wichtig wie die technische Fertigstellung. +
- +
---- +
- +
-**Viel Erfolg! 🚀**+