Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| edv:padawan:projekt_webserver [13 16 2026 13 : 16] – angelegt André Reichert-Creutz | edv:padawan:projekt_webserver [13 29 2026 13 : 29] (aktuell) – [Das Projektdokument] André Reichert-Creutz | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Projekt: | + | ====== |
| - | ===== Ü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.// | ||
| + | </ | ||
| - | Ein realistisches **Troubleshooting-Projekt** für Azubis im 1. Lehrjahr. Aufgabe: Einen defekten Apache httpd auf RHEL reparieren | + | ---- |
| - | Dieses Projekt verbindet **Diagnose** (Fehler finden), **Betrieb** (systemd, Firewall, Logging) und **Wartbarkeit** (nachhaltige Konfiguration, | + | ===== Der Auftrag ===== |
| - | ===== Lernziele ===== | + | Die IT-Infrastruktur benötigt ein internes Dokumentationssystem. Die Wahl ist auf **DokuWiki** gefallen – leichtgewichtig, |
| - | 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, |
| - | * **Diagnosemethodik**: Systematisch von außen nach innen arbeiten (Netzwerk → Dienst → Konfiguration → Dateisystem) | + | Zeitansatz: **16 Stunden** über zwei Arbeitstage. |
| - | | + | |
| - | * **systemd beherrschen**: | + | |
| - | * **Firewall-Regeln setzen**: firewalld konfigurieren, | + | |
| - | * **Nachhaltige Lösungen**: | + | |
| - | * **Dokumentation**: | + | |
| - | * **Betriebsbewusstsein**: | + | |
| - | ===== 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, | + | |
| - | ===== 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** (easy, medium, hard) und etwa 1--3 Stunden Bearbeitungszeit je Level. | + | |
| + | * **Systemd-Timer:** Moderne Aufgabenplanung ohne Cron – '' | ||
| + | * **Textverarbeitung und Archivierung: | ||
| + | </ | ||
| - | ^ Level ^ Fehler ^ Dauer ^ Komplexität ^ | + | ---- |
| - | | **easy** | F7 (fehlende index.html) | 30--45 min | Anfänger | + | |
| - | | **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 werden. Dabei gelten zwingend: |
| - | sudo ./ | + | |
| - | </ | + | |
| - | Danach bekommst du eine VM, auf der httpd zwar installiert ist, aber nicht funktioniert. Der Rest ist deine Aufgabe. | + | * **Keine Echtdaten** in KI-Prompts: keine echten IP-Adressen, Hostnamen, Passwörter oder Benutzernamen. Platzhalter wie ''< |
| + | * **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. |
| + | </ | ||
| - | ⚠ **Keine Holzhammer-Lösungen**: | + | ---- |
| - | ⚠ **Dokumentieren ist Pflicht**: Wie hast du den Fehler gefunden? Was war die Ursache? Wie hast du ihn gelöst | + | |
| - | ⚠ **Test auch von außen**: Ein lokales `curl http:// | + | |
| - | ===== Materialien | + | ===== Projektphasen |
| - | **Vorbereitung (lies ZUERST):** | + | Das Projekt gliedert sich in vier aufeinander aufbauende Phasen: |
| - | * [[# | + | |
| - | **Aufgabenstellung: | + | ^ Phase ^ Titel ^ Schwerpunkt ^ |
| - | * [[#|Azubi_Aufgabenstellung.pdf]] | + | | **1** | Identity Management & Härtung | SSH-Schlüssel, |
| + | | **2** | Applikation & Security | Apache, PHP-FPM, DokuWiki deployen, Dateirechte, | ||
| + | | **3** | Audit & Automatisierung | Audit-Skript, Backup-Skript, Systemd-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 gleichwertig. Wer nicht erklären kann, was er gebaut hat, hat es nicht wirklich verstanden. |
| - | * [[# | + | |
| - | * [[# | + | |
| - | ===== 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, | ||
| - | Die VM enthält | + | Das Dokument |
| + | Lösungshinweise für Ausbilder sind im Anhang des Dokuments enthalten und im Fachgespräch | ||
| - | **Tipp:** Arbeite systematisch vor: | + | // |
| - | 1. Ist der Dienst überhaupt erreichbar? (Netzwerk/Dienst-Ebene) | + | [[https:// |
| - | 2. Läuft der Dienst? | + | </ |
| - | 3. Kann httpd starten? (Konfiguration) | + | |
| - | 4. Existieren die Dateien, die der Dienst braucht? (Dateisystem) | + | |
| - | 5. Kann ich von außen darauf zugreifen? (Firewall) | + | |
| - | **Löse die Fehler in dieser Reihenfolge** | + | ---- |
| - | ===== Monitoring & Automatisierung (Ausblick) | + | ===== Navigation |
| - | Nach erfolgreicher Fertigstellung: Denke darüber nach, wie man solche Fehler **automatisch** erkennt: | + | [[edv:padawan:phase4|← Phase IV – Paketverwaltung und Netzwerk]]\\ |
| + | [[edv: | ||
| - | * Tägliche Health-Checks per Cron-Skript | + | ---- |
| - | * Integration in Checkmk für zentrales Monitoring | + | |
| - | * Ansible-Playbook für sichere, wiederholbare Installation | + | |
| - | Diese sind **Folgeprojekte**, | + | <WRAP center round box 85%> |
| - | + | //" | |
| - | ===== Wenn du stecken bleibst ===== | + | \\ |
| - | + | '' | |
| - | Das ist **normal** -- Troubleshooting ist schwierig, genau das ist der Sinn der Übung. | + | </ |
| - | + | ||
| - | 1. **Erst selbst nachdenken** -- 10 Minuten Nachdenken sind wertvoll | + | |
| - | 2. **Logs lesen** -- `journalctl -xeu httpd`, `tail -50 /var/log/ | + | |
| - | 3. **Frag | + | |
| - | + | ||
| - | **Keine Abkürzungen!** Lösungen wie `systemctl stop firewalld` (ohne echte Diagnose) oder `setenforce 0` sind **nicht akzeptabel** | + | |
| - | + | ||
| - | ===== 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: | + | |
| - | + | ||
| - | **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! 🚀** | + | |
