{"id":2770,"date":"2026-10-18T13:05:14","date_gmt":"2026-10-18T13:05:14","guid":{"rendered":"https:\/\/www.mayit.eu\/?page_id=2770"},"modified":"2026-10-22T20:05:36","modified_gmt":"2026-10-22T20:05:36","slug":"2770-2","status":"publish","type":"page","link":"https:\/\/www.mayit.eu\/en\/2770-2\/","title":{"rendered":"MayIT \u2013 YunoHost Systemmigrationen 36 &amp; 37"},"content":{"rendered":"<!DOCTYPE html>\n\n<html lang=\"de\">\n<head>\n<meta charset=\"utf-8\"\/>\n<meta content=\"width=device-width,initial-scale=1\" name=\"viewport\"\/>\n<title>Projektdokumentation \u2013 YunoHost Migrationen 36 und 37 \u2013 Projektabschluss 18.10.2026 | MayIT<\/title>\n<meta content=\"MayIT\" name=\"author\"\/>\n<meta content=\"Nicht sicherheitskritische Projektdokumentation der Migrationen 36 und 37 mit Backupstrategie, Qualit\u00e4tssicherung, Projektstatus und \u00dcbergabe.\" name=\"description\"\/>\n<style>\n    :root{\n      --bg:#0b0f14; --panel:#111827; --panel2:#0f172a;\n      --text:#e5e7eb; --muted:#9ca3af;\n      --accent:#60a5fa; --accent2:#34d399; --warn:#f59e0b; --danger:#fb7185; --ok:#22c55e;\n      --border:#1f2937; --codeborder:#1d2a3a;\n      --shadow: 0 10px 30px rgba(0,0,0,.35);\n      --radius: 16px;\n      --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n      --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, \"Apple Color Emoji\",\"Segoe UI Emoji\";\n    }\n    *{box-sizing:border-box}\n    html{scroll-behavior:smooth}\n    body{\n      margin:0; font-family:var(--sans);\n      background:\n        radial-gradient(1200px 600px at 10% -10%, rgba(96,165,250,.18), transparent 55%),\n        radial-gradient(900px 500px at 80% 0%, rgba(52,211,153,.10), transparent 50%),\n        var(--bg);\n      color:var(--text);\n    }\n    a{color:var(--accent); text-decoration:none}\n    a:hover{text-decoration:underline}\n    .layout{display:flex; min-height:100vh}\n    .toc{\n      position:sticky; top:0; height:100vh; width:360px; min-width:300px;\n      padding:22px 18px;\n      background:linear-gradient(180deg, rgba(17,24,39,.92), rgba(15,23,42,.92));\n      border-right:1px solid var(--border); overflow:auto; backdrop-filter: blur(8px);\n    }\n    .brand{\n      display:flex; gap:10px; align-items:center;\n      padding:10px 10px 14px; border:1px solid var(--border);\n      border-radius:14px; background:rgba(11,18,32,.65); box-shadow:var(--shadow);\n      margin-bottom:14px;\n    }\n    .logo{\n      width:38px; height:38px; border-radius:12px;\n      background:linear-gradient(135deg, rgba(96,165,250,.95), rgba(52,211,153,.95));\n      display:flex; align-items:center; justify-content:center;\n      color:#06101c; font-weight:900;\n    }\n    .brand h1{font-size:14px; margin:0}\n    .brand .sub{font-size:12px; color:var(--muted); margin-top:2px}\n    .pill{\n      display:inline-flex; align-items:center; gap:8px;\n      font-size:12px; color:var(--muted);\n      padding:10px 12px; border:1px solid var(--border);\n      border-radius:999px; background:rgba(11,18,32,.55);\n      margin:10px 8px 0;\n    }\n    .pill b{color:var(--text)}\n    .toc h2{font-size:12px; margin:14px 10px 8px; color:var(--muted); letter-spacing:.08em; text-transform:uppercase}\n    .toc ul{list-style:none; margin:0; padding:0 6px 14px}\n    .toc li{margin:6px 0}\n    .toc a{\n      display:block; padding:8px 10px; border-radius:12px;\n      color:var(--text); border:1px solid transparent;\n    }\n    .toc a:hover{border-color:rgba(96,165,250,.35); background:rgba(96,165,250,.10); text-decoration:none}\n    .main{flex:1; padding:28px 26px 80px}\n    .container{max-width:1120px; margin:0 auto}\n    .hero{\n      padding:22px; border-radius: var(--radius);\n      background: linear-gradient(180deg, rgba(17,24,39,.55), rgba(15,23,42,.35));\n      border:1px solid var(--border); box-shadow: var(--shadow);\n    }\n    .hero h1{font-size:28px; margin:0 0 8px}\n    .hero .meta{display:flex; flex-wrap:wrap; gap:10px; margin-top:12px}\n    .tag{\n      font-size:12px; color:var(--text);\n      padding:8px 12px; border-radius:999px;\n      border:1px solid var(--border); background:rgba(11,18,32,.55);\n    }\n    section{margin-top:18px}\n    .card{\n      padding:18px; border-radius: var(--radius);\n      border:1px solid var(--border);\n      background: rgba(11,18,32,.55);\n      box-shadow: var(--shadow);\n    }\n    .card h3{margin:0 0 10px; font-size:18px}\n    .muted{color:var(--muted)}\n    .small{font-size:12px}\n    .note, .warn, .danger, .ok{\n      border-radius:14px; padding:12px 14px; border:1px solid var(--border);\n      background: rgba(96,165,250,.08);\n    }\n    .warn{background: rgba(245,158,11,.10); border-color: rgba(245,158,11,.25)}\n    .danger{background: rgba(251,113,133,.10); border-color: rgba(251,113,133,.25)}\n    .ok{background: rgba(34,197,94,.10); border-color: rgba(34,197,94,.25)}\n    .hr{height:1px; background:var(--border); margin:14px 0}\n    .grid{display:grid; gap:14px}\n    @media (min-width: 980px){\n      .grid.cols2{grid-template-columns: 1fr 1fr}\n      .grid.cols3{grid-template-columns: 1fr 1fr 1fr}\n    }\n    table{width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border-radius:14px; border:1px solid var(--border)}\n    th, td{padding:10px; border-bottom:1px solid var(--border); vertical-align:top}\n    th{background:rgba(17,24,39,.55); text-align:left; font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted)}\n    tr:last-child td{border-bottom:none}\n    .codewrap{position:relative; margin-top:10px}\n    pre{\n      margin:0; padding:14px; overflow:auto; border-radius:14px;\n      background:linear-gradient(180deg, rgba(10,15,26,.95), rgba(10,15,26,.85));\n      border:1px solid var(--codeborder); color:var(--text);\n      font-family: var(--mono); font-size:12.8px; line-height:1.45;\n    }\n    .copybtn{\n      position:absolute; top:10px; right:10px;\n      border:1px solid var(--border); background:rgba(15,23,42,.70);\n      color:var(--text); padding:8px 10px; border-radius:12px;\n      cursor:pointer; font-size:12px; display:flex; align-items:center; gap:8px;\n    }\n    .copybtn:hover{border-color:rgba(96,165,250,.40); background:rgba(96,165,250,.12)}\n    .copybtn .dot{width:8px; height:8px; border-radius:99px; background:var(--accent)}\n    .kbd{display:inline-block; padding:2px 8px; border-radius:10px; border:1px solid var(--border); background:rgba(15,23,42,.55); font-family:var(--mono); font-size:12px}\n    .badge{display:inline-flex; align-items:center; gap:8px; padding:8px 10px; border-radius:999px; border:1px solid var(--border); background:rgba(15,23,42,.35); font-size:12px}\n    .badge .b{width:8px;height:8px;border-radius:99px;background:var(--accent2)}\n    .footer{\n      margin-top:18px; padding:16px 18px; border-radius: var(--radius);\n      border:1px solid var(--border); background:rgba(11,18,32,.45); color:var(--muted)\n    }\n    .footer b{color:var(--text)}\n    details{\n      border:1px solid var(--border); border-radius:14px; padding:10px 12px; background:rgba(15,23,42,.25)\n    }\n    summary{cursor:pointer; color:var(--text); font-weight:700}\n    details p, details ul{color:var(--muted)}\n    .print-only{display:none}\n    @media print{\n      body{background:#fff; color:#000}\n      .layout{display:block}\n      .toc{display:none}\n      .hero, .card, .footer, details{box-shadow:none; background:#fff; border:1px solid #ddd}\n      pre{background:#f7f7f7; color:#000; border:1px solid #ddd}\n      .copybtn{display:none}\n      a{color:#000; text-decoration:underline}\n      .print-only{display:block}\n    }\n  <\/style>\n<\/head>\n<body>\n<div class=\"layout\">\n<aside class=\"toc\"><div class=\"brand\"><div class=\"logo\">M<\/div><div><h1>Projektdokumentation<\/h1><div class=\"sub\">Systemmigration \u2022 Backup \u2022 Qualit\u00e4t \u2022 Autor: <b>MayIT<\/b><\/div><\/div><\/div><div class=\"pill\"><b>Projekt:<\/b> YunoHost \u2013 Migrationen 36 \/ 37<\/div><h2>Navigation<\/h2><ul><li><a href=\"#summary\">Management Summary<\/a><\/li><li><a href=\"#objective\">Scope &amp; Zielbild<\/a><\/li><li><a href=\"#phases\">Projektphasen<\/a><\/li><li><a href=\"#architecture\">Projektarchitektur<\/a><\/li><li><a href=\"#migration37\">Migration 37 \u2013 Berechtigungen<\/a><\/li><li><a href=\"#migration36\">Migration 36 \u2013 DKIM<\/a><\/li><li><a href=\"#dns\">DNS-Diagnose &amp; Bewertung<\/a><\/li><li><a href=\"#backups\">Backup vor und nach Migration<\/a><\/li><li><a href=\"#validation\">Validierung &amp; Qualit\u00e4t<\/a><\/li><li><a href=\"#risks\">Risiken &amp; offene Punkte<\/a><\/li><li><a href=\"#operations\">Betrieb &amp; Aufgabenmodell<\/a><\/li><li><a href=\"#acceptance\">Abnahme &amp; Projektabschluss<\/a><\/li><li><a href=\"#appendix\">Anhang &amp; Dokumentenschutz<\/a><\/li><\/ul><h2>Dokumentklassifizierung<\/h2><div class=\"footer small\"><b>Stand:<\/b> 15.10.2026<div class=\"hr\"><\/div><b>Version:<\/b> 1.0<div class=\"hr\"><\/div>Projektbericht ohne betriebs- oder sicherheitskritische Detaildaten.<div class=\"hr\"><\/div>HTML \u2022 Dark Enterprise Style \u2022 Druckansicht<\/div><\/aside>\n<main class=\"main\"><div class=\"container\">\n<div class=\"hero\"><h1>MayIT \u2013 YunoHost Systemmigrationen 36 &amp; 37<\/h1>\n<div class=\"muted\">Projektdokumentation zur kontrollierten Modernisierung der Serverkonfiguration und der E-Mail-Authentifizierung mit einer nachvollziehbaren Vorher-\/Nachher-Sicherungsstrategie.<\/div>\n<div class=\"meta\"><span class=\"tag\">Autor: MayIT<\/span><span class=\"tag\">Stand: 18.10.2026<\/span><span class=\"tag\">Projektstatus: Umgesetzt<\/span><span class=\"tag\">Betriebs\u00fcbergabe: erfolgt<\/span><span class=\"tag\">Klassifizierung: bereinigte Fassung<\/span><\/div><\/div>\n<section class=\"card\" id=\"summary\"><h3>Management Summary<\/h3>\n<div class=\"ok\"><b>Projektergebnis:<\/b> Beide YunoHost-Migrationen wurden erfolgreich abgeschlossen. Die Plattform ist im Betrieb; eine neue Sicherung nach der Migration wurde erstellt und auf Archivlesbarkeit gepr\u00fcft.<\/div>\n<div class=\"grid cols3\" style=\"margin-top:14px\"><div class=\"note\"><b>2 Migrationen<\/b><p>Abgeschlossen und erfolgreich zur\u00fcckgemeldet.<\/p><\/div><div class=\"note\"><b>2 Sicherungszeitpunkte<\/b><p>Vorher und nachher separat dokumentiert.<\/p><\/div><div class=\"note\"><b>5 Anwendungen<\/b><p>In der Nachher-Sicherung laut Backupbericht erfolgreich ber\u00fccksichtigt.<\/p><\/div><\/div>\n<div class=\"warn\" style=\"margin-top:14px\"><b>Abgrenzung:<\/b> Ein vollst\u00e4ndiger Restore-Test und eine unabh\u00e4ngige Pr\u00fcfung der ausgehenden Mail-Authentifizierung beim Empf\u00e4nger liegen noch nicht vor. Ein verbliebener DNS-Diagnosehinweis ist gesondert dokumentiert.<\/div><\/section>\n<section class=\"card\" id=\"objective\"><h3>Scope &amp; Zielbild<\/h3><div class=\"grid cols2\"><div><div class=\"note\"><b>Projektziele<\/b><\/div><ul><li>Bestehende Systemmigrationen kontrolliert abschlie\u00dfen.<\/li><li>Veraltete Berechtigungszust\u00e4nde bereinigen.<\/li><li>Mail-Authentifizierungsgrundlage modernisieren.<\/li><li>Weiterbetrieb der Anwendungen sicherstellen.<\/li><li>Wiederherstellungspunkte vor und nach der \u00c4nderung erhalten.<\/li><\/ul><\/div><div><div class=\"note\"><b>Nicht im Projektscope<\/b><\/div><ul><li>Neuentwicklung der Plattform oder Neuinstallation.<\/li><li>Erzwingen einer Neugenerierung individueller Konfigurationen.<\/li><li>Produktive Wiederherstellung aus einem Archiv.<\/li><li>Umbau bestehender Monitoring- oder Sicherheitsarchitektur.<\/li><\/ul><\/div><\/div><div class=\"hr\"><\/div><p class=\"muted\">Leitprinzip gem\u00e4\u00df Referenzvorlage: kleine, kontrollierte Ma\u00dfnahmen mit klaren Pr\u00fcfpunkten und R\u00fcckfallstrategie.<\/p><\/section>\n<section class=\"card\" id=\"phases\"><h3>Projektphasen &amp; zeitlicher Verlauf<\/h3><table><thead><tr><th>Phase<\/th><th>Zeitraum<\/th><th>Inhalt<\/th><th>Bewertung<\/th><\/tr><\/thead><tbody>\n<tr><td>Vorbereitung<\/td><td>13.10.2026<\/td><td>Vollst\u00e4ndige Ausgangssicherung, erg\u00e4nzende Absicherung individueller Konfigurationen und Snapshot.<\/td><td>Abgeschlossen<\/td><\/tr>\n<tr><td>Migration 37<\/td><td>13.\u201314.10.2026<\/td><td>Bereinigung fehlerhafter Dateiberechtigungen; Kontrolle der Dienste.<\/td><td>Erfolgreich<\/td><\/tr>\n<tr><td>Migration 36<\/td><td>13.\u201314.10.2026<\/td><td>Erneuerung des DKIM-Schl\u00fcsselmaterials und Validierung der ver\u00f6ffentlichten Daten.<\/td><td>Erfolgreich<\/td><\/tr>\n<tr><td>Nachkontrolle<\/td><td>14.\u201315.10.2026<\/td><td>Systemdiagnose, Mailfunktion und Analyse des verbliebenen DNS-Hinweises.<\/td><td>Abgeschlossen mit offenem Hinweis<\/td><\/tr>\n<tr><td>Abschlusssicherung<\/td><td>15.10.2026<\/td><td>Vollst\u00e4ndiges YunoHost-Backup, Archivkontrolle und Wiederanlauf der Webmail-Komponente.<\/td><td>Erfolgreich<\/td><\/tr>\n<tr><td>Abschlussbereinigung<\/td><td>18.10.2026<\/td><td>Ungenutzte Domain kontrolliert entfernt und vollst\u00e4ndige Systemdiagnose erneut ausgef\u00fchrt.<\/td><td>Erfolgreich; DNS ohne Hinweise<\/td><\/tr><\/tbody><\/table><\/section>\n<section class=\"card\" id=\"architecture\"><h3>System- und Projektarchitektur<\/h3><table><thead><tr><th>Ebene<\/th><th>Komponente<\/th><th>Projektbezug<\/th><\/tr><\/thead><tbody>\n<tr><td>Infrastruktur<\/td><td>Virtueller Server und Debian<\/td><td>Bestandssystem, unver\u00e4ndert weiterbetrieben<\/td><\/tr>\n<tr><td>Systemmanagement<\/td><td>YunoHost<\/td><td>Ausf\u00fchrung und Protokollierung der Migrationen<\/td><\/tr>\n<tr><td>Kommunikation<\/td><td>Maildienste mit DKIM<\/td><td>Pr\u00fcfung der Authentifizierung und des Betriebs<\/td><\/tr>\n<tr><td>Anwendungen<\/td><td>Collaboration, Web, Webmail, WebDAV, Administrationsoberfl\u00e4che<\/td><td>Nachsicherung erfolgreich gemeldet<\/td><\/tr>\n<tr><td>Qualit\u00e4tssicherung<\/td><td>Diagnose, Dienstpr\u00fcfung und Backupverwaltung<\/td><td>Kontrolle vor Projektabschluss<\/td><\/tr>\n<\/tbody><\/table><div class=\"note\"><b>Datensparsamkeit:<\/b> Diese Fassung zeigt bewusst weder Netzwerkadressen noch konkrete Domainnamen, Infrastrukturpfade, Konten oder interne Zugriffskonzepte.<\/div><\/section>\n<section class=\"card\" id=\"migration37\"><h3>Migration 37 \u2013 Dateiberechtigungen<\/h3><div class=\"grid cols2\"><div class=\"note\"><b>Ausgangslage<\/b><p>Die Systemmigration adressierte nicht empfohlene Berechtigungen an mehreren Systemobjekten.<\/p><\/div><div class=\"ok\"><b>Ergebnis<\/b><p>Migration erfolgreich abgeschlossen. Im Migrationslauf wurden 864 Pfade korrigiert.<\/p><\/div><\/div><div class=\"hr\"><\/div><p>Die Wirksamkeit wurde im Anschluss anhand von System- und Dienstpr\u00fcfungen bewertet. Bestehende individuelle Einstellungen wurden nicht pauschal auf Standardwerte zur\u00fcckgesetzt.<\/p><\/section>\n<section class=\"card\" id=\"migration36\"><h3>Migration 36 \u2013 DKIM-Modernisierung<\/h3><div class=\"grid cols2\"><div class=\"note\"><b>Ausgangslage<\/b><p>Die Migration aktualisierte das DKIM-Schl\u00fcsselmaterial f\u00fcr die im System verwalteten Domains.<\/p><\/div><div class=\"ok\"><b>Ergebnis<\/b><p>Die Migration wurde erfolgreich abgeschlossen. F\u00fcr vier tats\u00e4chlich gepr\u00fcfte Domainkontexte wurde die \u00f6ffentliche Schl\u00fcsselzuordnung best\u00e4tigt.<\/p><\/div><\/div><div class=\"hr\"><\/div><p>Der Mailtransport und der Empfang wurden nach der Umstellung erfolgreich erprobt. Der Nachweis von DKIM-, SPF- und DMARC-\u201epass\u201c in einem externen Empf\u00e4nger-Header steht als separater Qualit\u00e4tsschritt aus.<\/p><\/section>\n<section class=\"card\" id=\"dns\"><h3>DNS-Diagnose &amp; Bewertung<\/h3>\n<div class=\"ok\"><b>Abschlussstand 18.10.2026:<\/b> Die vollst\u00e4ndige DNS-Diagnose wurde erfolgreich abgeschlossen. Sowohl die zuvor auff\u00e4llige DKIM-Bewertung als auch der Hinweis auf eine nicht mehr ben\u00f6tigte Subdomain erscheinen nicht mehr.<\/div>\n<div class=\"grid cols2\"><div><div class=\"note\"><b>Urspr\u00fcngliche Ausgangslage<\/b><\/div><ul>\n<li>Abweichende textuelle Darstellung eines ansonsten identischen DKIM-Schl\u00fcssels bei einem externen DNS-Resolver.<\/li>\n<li>Veraltete Registrierung einer nicht l\u00e4nger ben\u00f6tigten Subdomain.<\/li>\n<li>Beide Hinweise wurden gezielt untersucht, ohne bestehende produktive Dienste vorschnell zu ver\u00e4ndern.<\/li><\/ul><\/div>\n<div><div class=\"ok\"><b>Erzielter Endzustand<\/b><\/div><ul>\n<li>\u00d6ffentliche Schl\u00fcsselver\u00f6ffentlichung durch unabh\u00e4ngige Abfragen best\u00e4tigt.<\/li>\n<li>Nicht genutzte Domain nach Nutzungs- und Abh\u00e4ngigkeitspr\u00fcfung aus der Plattform entfernt.<\/li>\n<li>DNS-, Web-, Mail- und Anwendungspr\u00fcfungen im abschlie\u00dfenden Diagnoselauf erfolgreich.<\/li>\n<\/ul><\/div><\/div>\n<div class=\"note\"><b>Nachvollziehbarkeit:<\/b> Der genaue Grund, weshalb die abweichende Resolverantwort sp\u00e4ter nicht mehr zu einem Diagnosefehler f\u00fchrte, wurde nicht separat nachgewiesen. Die dokumentierte Abschlussdiagnose ist jedoch eindeutig erfolgreich.<\/div><\/section>\n<section class=\"card\" id=\"backups\"><h3>Backup &amp; Wiederherstellbarkeit<\/h3><div class=\"grid cols2\"><div class=\"note\"><b>Vorher-Sicherung<\/b><p><b>13.10.2026<\/b><\/p><p>Vollst\u00e4ndiges YunoHost-Archiv vor den Migrationen; zus\u00e4tzlich gesonderte Konfigurationssicherung und Infrastruktur-Snapshot.<\/p><p class=\"small muted\">Archivgr\u00f6\u00dfe gerundet: ca. 17 GB.<\/p><\/div><div class=\"ok\"><b>Nachher-Sicherung<\/b><p><b>15.10.2026<\/b><\/p><p>Vollst\u00e4ndiges YunoHost-Archiv nach beiden Migrationen; alle gemeldeten Backup-Komponenten erfolgreich.<\/p><p class=\"small muted\">Exakt 17.636.086.420 Bytes.<\/p><\/div><\/div>\n<div class=\"hr\"><\/div><table><thead><tr><th>Backupumfang am 15.10.<\/th><th>Ergebnis<\/th><\/tr><\/thead><tbody>\n<tr><td>Anwendungen: Nextcloud, SOGo, WordPress, WebDAV und Fail2ban-Webinterface<\/td><td>5 von 5 erfolgreich<\/td><\/tr>\n<tr><td>System: Verzeichnisdienst, individuelle Konfigurationen, Zertifikate, Einstellungen, Home-, Mail- und Multimediadaten<\/td><td>7 von 7 erfolgreich<\/td><\/tr>\n<tr><td>Archivdatei und Metadaten vorhanden<\/td><td>Best\u00e4tigt<\/td><\/tr>\n<tr><td>TAR-Struktur vollst\u00e4ndig lesbar<\/td><td>Best\u00e4tigt<\/td><\/tr>\n<tr><td>Produktiver Dienst nach Sicherung wieder gestartet<\/td><td>Best\u00e4tigt<\/td><\/tr>\n<tr><td>Vollst\u00e4ndige R\u00fccksicherung in Testumgebung<\/td><td>Noch nicht durchgef\u00fchrt<\/td><\/tr>\n<\/tbody><\/table><div class=\"warn\"><b>Wiederherstellbarkeit:<\/b> Ein erfolgreiches Backup und ein lesbares Archiv sind noch kein vollst\u00e4ndiger Nachweis f\u00fcr eine funktionierende Wiederherstellung. Ein isolierter Restore-Test bleibt empfohlen.<\/div><\/section>\n<section class=\"card\" id=\"validation\"><h3>Validierung &amp; Qualit\u00e4tssicherung<\/h3><div class=\"grid cols2\">\n<div><div class=\"ok\"><b>Best\u00e4tigte Ergebnisse<\/b><\/div><ul>\n<li>Beide Migrationsl\u00e4ufe erfolgreich abgeschlossen.<\/li><li>Vorher- und Nachher-Backups vorhanden; Nachher-Archiv lesbar.<\/li>\n<li>Web-, E-Mail-, Dienst-, Ressourcen- und Anwendungsdiagnose erfolgreich.<\/li>\n<li>Ungenutzte Domain nach Konfigurations- und Zuordnungspr\u00fcfung entfernt.<\/li>\n<li>Abschlussdiagnose vom 18.10.2026: neun von zehn Kategorien erfolgreich; Systemkonfiguration mit neun bekannten Warnungen.<\/li>\n<\/ul><\/div><div><div class=\"warn\"><b>Abnahmegrenzen<\/b><\/div><ul>\n<li>Neun manuelle Konfigurationsabweichungen bleiben dokumentiert.<\/li>\n<li>Kein vollst\u00e4ndiger Wiederherstellungstest durchgef\u00fchrt.<\/li>\n<li>Kein unabh\u00e4ngiger Empf\u00e4ngerheader-Nachweis f\u00fcr die E-Mail-Authentifizierung dokumentiert.<\/li>\n<\/ul><\/div><\/div><\/section>\n<section class=\"card\" id=\"risks\"><h3>Risiken, Abweichungen &amp; offene Punkte<\/h3>\n<table><thead><tr><th>Thema<\/th><th>Bewertung zum 18.10.2026<\/th><th>Weiteres Vorgehen<\/th><\/tr><\/thead><tbody>\n<tr><td>DNS-Diagnose<\/td><td>Abgeschlossen: ohne Fehler oder Warnungen.<\/td><td>Regul\u00e4re Betriebs\u00fcberwachung.<\/td><\/tr>\n<tr><td>Ungenutzte Subdomain<\/td><td>Kontrolliert aus der Plattform entfernt; Abschlussvalidierung erfolgreich.<\/td><td>Keine weitere DNS-Konfiguration f\u00fcr die entfernte Domain.<\/td><\/tr>\n<tr><td>Individuelle Systemkonfigurationen<\/td><td>Neun bekannte Hinweise; kein ungepr\u00fcfter Reset vorgenommen.<\/td><td>Bei k\u00fcnftigen Updates einzeln bewerten.<\/td><\/tr>\n<tr><td>Wiederherstellungstest<\/td><td>Lesbarer Sicherungsbestand; tats\u00e4chlicher Restore nicht erprobt.<\/td><td>Isolierten Test einplanen.<\/td><\/tr>\n<tr><td>Externe Mailauthentifizierung<\/td><td>Zustellung best\u00e4tigt; Header-basierter Authentifizierungsnachweis nicht dokumentiert.<\/td><td>Bei n\u00e4chster Mailpr\u00fcfung verifizieren.<\/td><\/tr>\n<\/tbody><\/table><\/section>\n<section class=\"card\" id=\"operations\"><h3>Betrieb &amp; Aufgabenmodell<\/h3><div class=\"grid cols3\"><div class=\"note\"><b>T\u00e4glich<\/b><ul><li>Erreichbarkeit wichtiger Dienste bewerten.<\/li><li>Monitoring- und Backupstatus pr\u00fcfen.<\/li><li>Mailst\u00f6rungen beobachten.<\/li><\/ul><\/div><div class=\"note\"><b>W\u00f6chentlich<\/b><ul><li>Backup-Historie kontrollieren.<\/li><li>Bekannte Diagnosehinweise vergleichen.<\/li><li>Freien Speicherplatz beobachten.<\/li><\/ul><\/div><div class=\"note\"><b>Nach gr\u00f6\u00dferen Updates<\/b><ul><li>Vorher-Sicherung erstellen.<\/li><li>Migrationen nachvollziehbar protokollieren.<\/li><li>Dienste validieren.<\/li><li>Nachher-Sicherung anfertigen und pr\u00fcfen.<\/li><\/ul><\/div><\/div><\/section>\n<section class=\"card\" id=\"acceptance\"><h3>Abnahme &amp; Projektabschluss<\/h3>\n<div class=\"ok\"><b>Projektabschluss am 18.10.2026:<\/b> Die technischen Migrationen, die Vorher-\/Nachher-Sicherungen und die Bereinigung der nicht mehr ben\u00f6tigten Domain wurden abgeschlossen. Die finale YunoHost-Diagnose meldet keine DNS-, Web-, Mail-, Dienst- oder Anwendungsprobleme.<\/div>\n<table><thead><tr><th>Abnahmekriterium<\/th><th>Status<\/th><\/tr><\/thead><tbody>\n<tr><td>Migration 36<\/td><td>Erf\u00fcllt<\/td><\/tr><tr><td>Migration 37<\/td><td>Erf\u00fcllt<\/td><\/tr>\n<tr><td>Vorher-\/Nachher-Backup<\/td><td>Erf\u00fcllt<\/td><\/tr><tr><td>Lesbarkeitspr\u00fcfung des Nachher-Archivs<\/td><td>Erf\u00fcllt<\/td><\/tr>\n<tr><td>Bereinigung ungenutzter Domain<\/td><td>Erf\u00fcllt<\/td><\/tr><tr><td>Abschlie\u00dfende DNS-Diagnose<\/td><td>Erf\u00fcllt<\/td><\/tr>\n<tr><td>Betriebsdiagnose \u00fcbriger Kernkategorien<\/td><td>Erf\u00fcllt<\/td><\/tr>\n<tr><td>\u00dcberpr\u00fcfung aller individuellen Konfigurationen<\/td><td>Ausstehende laufende Wartung; neun Hinweise<\/td><\/tr>\n<tr><td>Vollst\u00e4ndiger Wiederherstellungstest<\/td><td>Ausstehend<\/td><\/tr><\/tbody><\/table>\n<p class=\"muted\">Die organisatorische Abnahme des Projekts ist von einer sp\u00e4teren Pr\u00fcfung einzelner Wartungs- und Wiederherstellungsma\u00dfnahmen zu unterscheiden.<\/p><\/section>\n<section class=\"card\" id=\"appendix\"><h3>Anhang &amp; Informationsschutz<\/h3><div class=\"note\"><b>Dokumentationsprinzip:<\/b> Technische Einzelbefehle, Wiederherstellungsschritte und vertrauliche Infrastrukturdetails geh\u00f6ren ausschlie\u00dflich in die gesondert gesch\u00fctzte technische Betriebsdokumentation. Diese Projektdokumentation eignet sich f\u00fcr die organisatorische Weitergabe.<\/div>\n<div class=\"grid cols2\" style=\"margin-top:14px\"><div><b>Enthalten<\/b><ul><li>Ziele, Scope und Projektphasen<\/li><li>Ergebniskontrolle und Qualit\u00e4tskriterien<\/li><li>Backup-Umfang, Termine und Status<\/li><li>Risiken, Ausnahmen und Nacharbeiten<\/li><\/ul><\/div><div><b>Bewusst ausgeschlossen<\/b><ul><li>Passw\u00f6rter, Zugangstokens und private Schl\u00fcssel<\/li><li>IP-Adressen, konkrete Domains und Benutzernamen<\/li><li>Interne Pfade, Ports und Zugriffskonfigurationen<\/li><li>Angriffsprotokolle, Mailinhalte und Wiederherstellungsbefehle<\/li><\/ul><\/div><\/div>\n<div class=\"footer\"><b>Autor:<\/b> MayIT \u00a0\u2022\u00a0 <b>Dokumenttyp:<\/b> Projektdokumentation \u00a0\u2022\u00a0 <b>Version:<\/b> 1.0 \u00a0\u2022\u00a0 <b>Stand:<\/b> 15.10.2026<br\/><span class=\"small\">Nicht vertrauliche Projekt\u00fcbersicht zur Systemmigration und Vorher-\/Nachher-Absicherung.<\/span><\/div><\/section>\n<div class=\"print-only\">MayIT \u2013 Projektdokumentation: YunoHost Migrationen 36 und 37 \u2022 Abschlussstand 18.10.2026<\/div>\n<\/div><\/main>\n<\/div>\n<script>\n    function copyText(text){\n      if(navigator.clipboard && window.isSecureContext){\n        return navigator.clipboard.writeText(text);\n      }\n      return new Promise((resolve, reject)=>{\n        try{\n          const ta = document.createElement('textarea');\n          ta.value = text;\n          ta.style.position = 'fixed';\n          ta.style.left = '-9999px';\n          ta.style.top = '0';\n          document.body.appendChild(ta);\n          ta.focus();\n          ta.select();\n          const ok = document.execCommand('copy');\n          document.body.removeChild(ta);\n          ok ? resolve() : reject();\n        } catch(e){ reject(e); }\n      });\n    }\n    document.querySelectorAll('.copybtn').forEach(btn=>{\n      btn.addEventListener('click', async ()=>{\n        const sel = btn.getAttribute('data-copy');\n        const pre = document.querySelector(sel);\n        if(!pre) return;\n        const text = pre.innerText.replace(\/\\u00a0\/g,' ');\n        const old = btn.innerHTML;\n        try{\n          await copyText(text);\n          btn.innerHTML = '<span class=\"dot\" style=\"background: var(--accent2)\"><\/span>Copied';\n          setTimeout(()=>btn.innerHTML = old, 1100);\n        } catch(e){\n          btn.innerHTML = '<span class=\"dot\" style=\"background: var(--warn)\"><\/span>Copy failed';\n          setTimeout(()=>btn.innerHTML = old, 1400);\n        }\n      });\n    });\n  <\/script>\n<\/body>\n<\/html>","protected":false},"excerpt":{"rendered":"<p>Projektdokumentation \u2013 YunoHost Migrationen 36 und 37 \u2013 Projektabschluss 18.10.2026 | MayIT M Projektdokumentation Systemmigration \u2022 Backup \u2022 Qualit\u00e4t \u2022 Autor: MayIT Projekt: YunoHost \u2013 Migrationen 36 \/ 37 Navigation Management Summary Scope &amp; Zielbild Projektphasen Projektarchitektur Migration 37 \u2013 Berechtigungen Migration 36 \u2013 DKIM DNS-Diagnose &amp; Bewertung Backup vor und nach Migration Validierung &amp; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"disabled","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-2770","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"trp-custom-language-flag":false},"uagb_author_info":{"display_name":"MIT","author_link":"https:\/\/www.mayit.eu\/en\/author\/markus_\/"},"uagb_comment_info":0,"uagb_excerpt":"Projektdokumentation \u2013 YunoHost Migrationen 36 und 37 \u2013 Projektabschluss 18.10.2026 | MayIT M Projektdokumentation Systemmigration \u2022 Backup \u2022 Qualit\u00e4t \u2022 Autor: MayIT Projekt: YunoHost \u2013 Migrationen 36 \/ 37 Navigation Management Summary Scope &amp; Zielbild Projektphasen Projektarchitektur Migration 37 \u2013 Berechtigungen Migration 36 \u2013 DKIM DNS-Diagnose &amp; Bewertung Backup vor und nach Migration Validierung &amp;&hellip;","_links":{"self":[{"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/pages\/2770","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/comments?post=2770"}],"version-history":[{"count":2,"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/pages\/2770\/revisions"}],"predecessor-version":[{"id":2772,"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/pages\/2770\/revisions\/2772"}],"wp:attachment":[{"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/media?parent=2770"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}