{"id":2599,"date":"2026-03-25T16:05:27","date_gmt":"2026-03-25T16:05:27","guid":{"rendered":"https:\/\/www.mayit.eu\/?page_id=2599"},"modified":"2026-03-28T23:04:30","modified_gmt":"2026-03-28T23:04:30","slug":"sogoprojekt","status":"publish","type":"page","link":"https:\/\/www.mayit.eu\/en\/sogoprojekt\/","title":{"rendered":"SOGoProjekt"},"content":{"rendered":"<!doctype html>\n<html lang=\"de\">\n<head>\n  <meta charset=\"utf-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" \/>\n  <title>Projektdokumentation \u2013 MayIT Enterprise SOGo Plattform<\/title>\n  <meta name=\"author\" content=\"MayIT\" \/>\n  <meta name=\"description\" content=\"Ausf\u00fchrliche Projektdokumentation ausschlie\u00dflich f\u00fcr SOGo auf der MayIT Plattform: Ausgangslage, Zielarchitektur, umgesetzte Ma\u00dfnahmen, Monitoring, Backup und Betriebsmodell.\" \/>\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      white-space: pre-wrap;\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    ul.tight li{margin:6px 0}\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\">\n      <div class=\"brand\">\n        <div class=\"logo\">M<\/div>\n        <div>\n          <h1>Projektdokumentation<\/h1>\n          <div class=\"sub\">SOGo \u2022 Betrieb \u2022 Monitoring \u2022 Autor: <b>MayIT<\/b><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"pill\"><b>Ziel:<\/b> Ausschlie\u00dflich SOGo: Projektziel, Architektur, Ma\u00dfnahmen, Monitoring und Betrieb<\/div>\n      \n<h2>Navigation<\/h2>\n<ul>\n  <li><a href=\"#scope\">Projektziel<\/a><\/li>\n  <li><a href=\"#initial\">Ausgangssituation<\/a><\/li>\n  <li><a href=\"#architecture\">Zielarchitektur<\/a><\/li>\n  <li><a href=\"#measures\">Umgesetzte Ma\u00dfnahmen<\/a><\/li>\n  <li><a href=\"#monitoring\">Monitoring-Konzept<\/a><\/li>\n  <li><a href=\"#operations\">Betriebsmodell<\/a><\/li>\n  <li><a href=\"#backup\">Backup &#038; Restore<\/a><\/li>\n  <li><a href=\"#risks\">Restrisiken<\/a><\/li>\n  <li><a href=\"#roadmap\">Roadmap<\/a><\/li>\n  <li><a href=\"#appendix\">Anhang<\/a><\/li>\n<\/ul>\n<h2>Quick Links<\/h2>\n<ul>\n  <li><a href=\"#monitoring\">SOGo Health<\/a><\/li>\n  <li><a href=\"#backup\">Backup-Strategie<\/a><\/li>\n  <li><a href=\"#roadmap\">Erweiterungen<\/a><\/li>\n<\/ul>\n\n      <div class=\"footer small\">\n        <div><b>Stand:<\/b> 2026-03-18<\/div>\n        <div class=\"hr\"><\/div>\n        <div>Dokument: HTML \u2022 Layout: MayITEnterprise \u2022 Autor: MayIT<\/div>\n      <\/div>\n    <\/aside>\n    <main class=\"main\">\n      <div class=\"container\">\n        <div class=\"hero\">\n          <h1>MayIT Enterprise SOGo Plattform \u2013 Projektdokumentation<\/h1>\n          <div class=\"muted\">Diese Projektdokumentation beschreibt ausschlie\u00dflich die Einf\u00fchrung, Stabilisierung und Absicherung von SOGo innerhalb der MayIT Plattform. Dokumentiert sind Ausgangslage, Architekturentscheidungen, technische Ma\u00dfnahmen, Monitoring, Backup und der resultierende Betriebsstandard.<\/div>\n          <div class=\"meta\"><span class=\"tag\">Autor: MayIT<\/span><span class=\"tag\">SOGo Plattform<\/span><span class=\"tag\">Monitoring<\/span><span class=\"tag\">Backup &#038; Restore<\/span><span class=\"tag\">Betriebsdokumentation<\/span><\/div>\n        <\/div>\n        \n<section id=\"scope\" class=\"card\">\n  <h3>Projektauftrag &#038; Zielbild<\/h3>\n  <div class=\"grid cols2\">\n    <div>\n      <div class=\"note\"><b>Projektziel:<\/b> SOGo auf der MayIT Plattform sollte stabilisiert, optimiert, \u00fcberwachbar und updatesicher dokumentiert werden \u2013 ohne angrenzende Fachsysteme unn\u00f6tig umzubauen.<\/div>\n      <div class=\"hr\"><\/div>\n      <ul class=\"tight\">\n        <li>Fokus ausschlie\u00dflich auf SOGo und seine direkten Abh\u00e4ngigkeiten.<\/li>\n        <li>Produktionsbetrieb mit nachvollziehbarem Sollzustand.<\/li>\n        <li>Minimierung manueller Wiederholungsarbeit nach Updates.<\/li>\n      <\/ul>\n    <\/div>\n    <div>\n      <div class=\"ok\"><b>Ergebnis:<\/b> SOGo wurde technisch konsolidiert, in das Enterprise Monitoring eingebunden und durch Hook- sowie Backup-Mechanismen dauerhaft abgesichert.<\/div>\n      <div class=\"hr\"><\/div>\n      <div class=\"warn\"><b>Projektgrenze:<\/b> Nextcloud, WordPress und andere Plattformkomponenten sind bewusst nur dort erw\u00e4hnt, wo sie SOGo technisch beeinflussen.<\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section id=\"initial\" class=\"card\">\n  <h3>Ausgangssituation<\/h3>\n  <table>\n    <thead><tr><th>Beobachtung<\/th><th>Auswirkung<\/th><\/tr><\/thead>\n    <tbody>\n      <tr><td>Unklare Konfigurationspfade<\/td><td>Unsicherheit, welche SOGo Datei tats\u00e4chlich wirksam ist<\/td><\/tr>\n      <tr><td>Leere Datei <span class=\"kbd\">\/etc\/sogo\/sogo.conf<\/span><\/td><td>falscher Diagnosepfad bei manueller Analyse<\/td><\/tr>\n      <tr><td>Worker-Engpass \/ Watchdog-Hinweise<\/td><td>potenzielle Lastprobleme und reduzierte Reaktionsf\u00e4higkeit<\/td><\/tr>\n      <tr><td>IMAP Login Fehler im Log<\/td><td>Risiko fehlerhafter Maildarstellung in SOGo<\/td><\/tr>\n      <tr><td>Keine SOGo-spezifischen Dashboard-Werte<\/td><td>fehlende Fr\u00fchwarnung f\u00fcr Benutzerprobleme<\/td><\/tr>\n      <tr><td>Keine updatesichere R\u00fccksicherung<\/td><td>Optimierungen konnten durch App-Upgrades verloren gehen<\/td><\/tr>\n    <\/tbody>\n  <\/table>\n<\/section>\n\n<section id=\"architecture\" class=\"card\">\n  <h3>Zielarchitektur f\u00fcr SOGo<\/h3>\n  <div class=\"grid cols2\">\n    <div>\n      <div class=\"badge\"><span class=\"b\"><\/span><b>Betriebsmodell:<\/b> SOGo als eigener Service mit direkter Monitoring- und Restore-Logik<\/div>\n      <div class=\"hr\"><\/div>\n      <div class=\"codewrap\"><button class=\"copybtn\" data-copy=\"#pd_arch\"><span class=\"dot\"><\/span>Copy<\/button><pre id=\"pd_arch\">Browser \/ Benutzer\n  \u2502\n  \u2514\u2500\u2500 nginx \/ YunoHost Reverse Proxy\n        \u2502\n        \u2514\u2500\u2500 SOGo (sogod)\n              \u251c\u2500\u2500 Dovecot (IMAP \/ Sieve)\n              \u251c\u2500\u2500 Postfix (SMTP \/ Submission)\n              \u251c\u2500\u2500 MariaDB (Profile \/ Sessions \/ Folder Info)\n              \u2514\u2500\u2500 MayIT Monitor (Status \/ Health \/ Errors)<\/pre><\/div>\n    <\/div>\n    <div>\n      <table>\n        <thead><tr><th>Baustein<\/th><th>Projektentscheidung<\/th><\/tr><\/thead>\n        <tbody>\n          <tr><td>Worker Tuning<\/td><td>PREFORK auf 5 erh\u00f6ht<\/td><\/tr>\n          <tr><td>Konfigurationsreferenz<\/td><td>YunoHost SOGo Konfigurationsdatei als produktive Wahrheit<\/td><\/tr>\n          <tr><td>Persistenz<\/td><td>Hook nach App-Upgrade<\/td><\/tr>\n          <tr><td>Monitoring<\/td><td>SOGo Metriken in enterprise-report und Dashboard<\/td><\/tr>\n          <tr><td>Backup<\/td><td>dediziertes Enterprise-SOGo Backup<\/td><\/tr>\n        <\/tbody>\n      <\/table>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section id=\"measures\" class=\"card\">\n  <h3>Umgesetzte Ma\u00dfnahmen<\/h3>\n  <div class=\"grid cols2\">\n    <div>\n      <div class=\"note\"><b>1. Betriebsstabilit\u00e4t<\/b><\/div>\n      <ul class=\"tight\">\n        <li>Analyse der wirksamen Konfigurationspfade.<\/li>\n        <li>Bewertung der Worker-Situation und Anhebung des Prefork-Werts.<\/li>\n        <li>Pr\u00fcfung der lokalen SOGo Erreichbarkeit \u00fcber Port 20000.<\/li>\n      <\/ul>\n      <div class=\"hr\"><\/div>\n      <div class=\"note\"><b>2. Mail-Funktionspr\u00fcfung<\/b><\/div>\n      <ul class=\"tight\">\n        <li>Dovecot Status und IMAP Port gepr\u00fcft.<\/li>\n        <li>Postfix Versandpfad und externe Zustellung bewertet.<\/li>\n        <li>DNS-seitige Reputation (SPF, DKIM, DMARC, PTR) konsolidiert.<\/li>\n      <\/ul>\n    <\/div>\n    <div>\n      <div class=\"note\"><b>3. Update-Sicherheit<\/b><\/div>\n      <ul class=\"tight\">\n        <li>Optimierte Soll-Konfiguration unter <span class=\"kbd\">\/root\/sogo.conf.optimized<\/span> abgelegt.<\/li>\n        <li>YunoHost Hook f\u00fcr automatische Wiederherstellung nach App-Upgrades eingerichtet.<\/li>\n        <li>Logdatei f\u00fcr Hook-Ausf\u00fchrung etabliert.<\/li>\n      <\/ul>\n      <div class=\"hr\"><\/div>\n      <div class=\"note\"><b>4. Monitoring<\/b><\/div>\n      <ul class=\"tight\">\n        <li>SOGo_Status, SOGo_IMAP, SOGo_Errors_5m und SOGo_Health ins Backend aufgenommen.<\/li>\n        <li>Dashboard-Kacheln und SOGo Overall erg\u00e4nzt.<\/li>\n        <li>SOGo Alerts in die bestehende Alert-Logik integriert.<\/li>\n      <\/ul>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section id=\"monitoring\" class=\"card\">\n  <h3>Monitoring-Konzept f\u00fcr SOGo<\/h3>\n  <div class=\"grid cols2\">\n    <div>\n      <table>\n        <thead><tr><th>Metrik<\/th><th>Zweck<\/th><th>Interpretation<\/th><\/tr><\/thead>\n        <tbody>\n          <tr><td>SOGo_Status<\/td><td>Dienstzustand<\/td><td>active = betriebsbereit<\/td><\/tr>\n          <tr><td>SOGo_IMAP<\/td><td>Funktionspr\u00fcfung Mailbackend<\/td><td>OK = Dovecot lokal erreichbar<\/td><\/tr>\n          <tr><td>SOGo_Errors_5m<\/td><td>frische Fehler<\/td><td>&gt; 0 = degradierter Betrieb m\u00f6glich<\/td><\/tr>\n          <tr><td>SOGo_Health<\/td><td>verdichteter Betriebswert<\/td><td>100 = optimal<\/td><\/tr>\n          <tr><td>SOGo_Overall<\/td><td>visuelle Schnellbewertung<\/td><td>OK \/ WARNING \/ CRITICAL<\/td><\/tr>\n        <\/tbody>\n      <\/table>\n    <\/div>\n    <div>\n      <div class=\"warn\"><b>Alert-Design<\/b><\/div>\n      <ul class=\"tight\">\n        <li>SOGo down \u2192 CRITICAL<\/li>\n        <li>IMAP Check fail \u2192 CRITICAL<\/li>\n        <li>Fehler im 5-Minuten-Fenster \u2192 WARNING<\/li>\n        <li>Health unter 90 \u2192 WARNING<\/li>\n        <li>Health unter 70 \u2192 CRITICAL<\/li>\n      <\/ul>\n      <div class=\"codewrap\"><button class=\"copybtn\" data-copy=\"#pd_mon\"><span class=\"dot\"><\/span>Copy<\/button><pre id=\"pd_mon\">curl -s http:\/\/127.0.0.1:3000\/enterprise-report | grep SOGo\n# Sollbeispiel\nSOGo_Status: active\nSOGo_IMAP: OK\nSOGo_Errors_5m: 0\nSOGo_Health: 100<\/pre><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section id=\"operations\" class=\"card\">\n  <h3>Betriebsmodell<\/h3>\n  <div class=\"grid cols3\">\n    <div class=\"note\"><b>Daily<\/b><br>Dashboard pr\u00fcfen, Errors 5m beobachten, Benutzerfeedback gegen Monitoring spiegeln.<\/div>\n    <div class=\"warn\"><b>Weekly<\/b><br>SOGo Logs pr\u00fcfen, Hook und Backupvalidit\u00e4t stichprobenartig kontrollieren.<\/div>\n    <div class=\"ok\"><b>Monthly<\/b><br>Restore-Test und Review der SOGo Soll-Konfiguration durchf\u00fchren.<\/div>\n  <\/div>\n  <div class=\"hr\"><\/div>\n  <table>\n    <thead><tr><th>Aufgabe<\/th><th>Werkzeug<\/th><th>Ziel<\/th><\/tr><\/thead>\n    <tbody>\n      <tr><td>Dienstkontrolle<\/td><td>systemctl \/ journalctl<\/td><td>Betriebsbereitschaft<\/td><\/tr>\n      <tr><td>Funktionskontrolle<\/td><td>enterprise-report<\/td><td>Fr\u00fcherkennung<\/td><\/tr>\n      <tr><td>Change-Schutz<\/td><td>Datei-Backups + Hook<\/td><td>Rollback-F\u00e4higkeit<\/td><\/tr>\n      <tr><td>Versandpr\u00fcfung<\/td><td>Postfix \/ DNS \/ Testmail<\/td><td>End-to-End Qualit\u00e4t<\/td><\/tr>\n    <\/tbody>\n  <\/table>\n<\/section>\n\n<section id=\"backup\" class=\"card\">\n  <h3>Backup- &#038; Wiederherstellungsstrategie<\/h3>\n  <div class=\"grid cols2\">\n    <div>\n      <div class=\"note\"><b>Gesicherte Artefakte<\/b><\/div>\n      <ul class=\"tight\">\n        <li><span class=\"kbd\">\/etc\/default\/sogo<\/span><\/li>\n        <li><span class=\"kbd\">\/etc\/yunohost\/apps\/sogo\/conf\/sogo.conf<\/span><\/li>\n        <li><span class=\"kbd\">\/root\/sogo.conf.optimized<\/span><\/li>\n        <li><span class=\"kbd\">\/etc\/yunohost\/hooks.d\/post_app_upgrade\/05-restore-sogo-config<\/span><\/li>\n        <li><span class=\"kbd\">\/opt\/mayit-monitor\/server.js<\/span><\/li>\n        <li><span class=\"kbd\">\/opt\/mayit-monitor\/index.html<\/span><\/li>\n      <\/ul>\n    <\/div>\n    <div><div class=\"codewrap\"><button class=\"copybtn\" data-copy=\"#pd_backup\"><span class=\"dot\"><\/span>Copy<\/button><pre id=\"pd_backup\">sudo tar -czf \/root\/sogo-enterprise-backup-$(date +%F-%H%M).tar.gz \/root\/mayit-enterprise-backup\nsudo tar -tf \/root\/sogo-enterprise-backup-YYYY-MM-DD-HHMM.tar.gz | sed -n '1,120p'\nsudo cp \/root\/sogo.conf.optimized \/etc\/yunohost\/apps\/sogo\/conf\/sogo.conf\nsudo systemctl restart sogo<\/pre><\/div><\/div>\n  <\/div>\n<\/section>\n\n<section id=\"risks\" class=\"card\">\n  <h3>Restrisiken &#038; Bewertung<\/h3>\n  <div class=\"grid cols2\">\n    <div>\n      <div class=\"warn\"><b>Restrisiken<\/b><\/div>\n      <ul class=\"tight\">\n        <li>Abh\u00e4ngigkeit von Mailbackend-Komponenten bleibt bestehen.<\/li>\n        <li>Provider- oder Firewall-Sperren k\u00f6nnen externen Versand trotzdem beeinflussen.<\/li>\n        <li>YunoHost App-Upgrades k\u00f6nnen k\u00fcnftig neue Konfigurationsanforderungen einf\u00fchren.<\/li>\n      <\/ul>\n    <\/div>\n    <div>\n      <div class=\"ok\"><b>Reduzierte Risiken nach Projektabschluss<\/b><\/div>\n      <ul class=\"tight\">\n        <li>Keine blinde \u00c4nderung mehr an der falschen SOGo Datei.<\/li>\n        <li>Schneller Rollback ist etabliert.<\/li>\n        <li>Monitoring erkennt SOGo Probleme fr\u00fchzeitig.<\/li>\n        <li>Optimierungen bleiben nach Upgrade reproduzierbar.<\/li>\n      <\/ul>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section id=\"roadmap\" class=\"card\">\n  <h3>Roadmap \/ empfohlene Erweiterungen<\/h3>\n  <table>\n    <thead><tr><th>Phase<\/th><th>Empfehlung<\/th><th>Nutzen<\/th><\/tr><\/thead>\n    <tbody>\n      <tr><td>1<\/td><td>Top Alert Banner f\u00fcr SOGo im Dashboard<\/td><td>bessere Sichtbarkeit<\/td><\/tr>\n      <tr><td>2<\/td><td>Verlaufsspeicherung von Health \/ Errors<\/td><td>Trend- und Incident-Analyse<\/td><\/tr>\n      <tr><td>3<\/td><td>Benachrichtigung per Mail \/ Push<\/td><td>aktive Alarmierung<\/td><\/tr>\n      <tr><td>4<\/td><td>geplanter Restore-Test nur f\u00fcr SOGo-Konfiguration<\/td><td>Nachweis der Wiederherstellbarkeit<\/td><\/tr>\n    <\/tbody>\n  <\/table>\n<\/section>\n\n<section id=\"appendix\" class=\"card\">\n  <h3>Anhang<\/h3>\n  <table>\n    <thead><tr><th>Element<\/th><th>Pfad \/ Zweck<\/th><\/tr><\/thead>\n    <tbody>\n      <tr><td>SOGo Dienst<\/td><td><span class=\"kbd\">sogo.service<\/span><\/td><\/tr>\n      <tr><td>SOGo Default<\/td><td><span class=\"kbd\">\/etc\/default\/sogo<\/span><\/td><\/tr>\n      <tr><td>SOGo YunoHost Config<\/td><td><span class=\"kbd\">\/etc\/yunohost\/apps\/sogo\/conf\/sogo.conf<\/span><\/td><\/tr>\n      <tr><td>SOGo Sicherungskopie<\/td><td><span class=\"kbd\">\/root\/sogo.conf.optimized<\/span><\/td><\/tr>\n      <tr><td>Hook<\/td><td><span class=\"kbd\">\/etc\/yunohost\/hooks.d\/post_app_upgrade\/05-restore-sogo-config<\/span><\/td><\/tr>\n      <tr><td>Monitoring Backend<\/td><td><span class=\"kbd\">\/opt\/mayit-monitor\/server.js<\/span><\/td><\/tr>\n      <tr><td>Monitoring Frontend<\/td><td><span class=\"kbd\">\/opt\/mayit-monitor\/index.html<\/span><\/td><\/tr>\n    <\/tbody>\n  <\/table>\n  <div class=\"footer\"><b>Autor:<\/b> MayIT \u2022 <b>Dokumenttyp:<\/b> Projektdokumentation \u2022 <b>Scope:<\/b> SOGo Einrichtung, Optimierung, Monitoring, Backup und Betrieb<\/div>\n<\/section>\n\n        <div class=\"print-only\">Autor: MayIT \u2013 MayIT Enterprise SOGo Plattform \u2013 Projektdokumentation<\/div>\n      <\/div>\n    <\/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 MayIT Enterprise SOGo Plattform M Projektdokumentation SOGo \u2022 Betrieb \u2022 Monitoring \u2022 Autor: MayIT Ziel: Ausschlie\u00dflich SOGo: Projektziel, Architektur, Ma\u00dfnahmen, Monitoring und Betrieb Navigation Projektziel Ausgangssituation Zielarchitektur Umgesetzte Ma\u00dfnahmen Monitoring-Konzept Betriebsmodell Backup &#038; Restore Restrisiken Roadmap Anhang Quick Links SOGo Health Backup-Strategie Erweiterungen Stand: 2026-03-18 Dokument: HTML \u2022 Layout: MayITEnterprise \u2022 Autor: MayIT [&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":"normal-width-container","site-content-style":"unboxed","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","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-2599","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 MayIT Enterprise SOGo Plattform M Projektdokumentation SOGo \u2022 Betrieb \u2022 Monitoring \u2022 Autor: MayIT Ziel: Ausschlie\u00dflich SOGo: Projektziel, Architektur, Ma\u00dfnahmen, Monitoring und Betrieb Navigation Projektziel Ausgangssituation Zielarchitektur Umgesetzte Ma\u00dfnahmen Monitoring-Konzept Betriebsmodell Backup &#038; Restore Restrisiken Roadmap Anhang Quick Links SOGo Health Backup-Strategie Erweiterungen Stand: 2026-03-18 Dokument: HTML \u2022 Layout: MayITEnterprise \u2022 Autor: MayIT&hellip;","_links":{"self":[{"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/pages\/2599","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=2599"}],"version-history":[{"count":1,"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/pages\/2599\/revisions"}],"predecessor-version":[{"id":2600,"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/pages\/2599\/revisions\/2600"}],"wp:attachment":[{"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/media?parent=2599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}