Diese Anleitung zeigt dir, wie du grommunio Archive auf einer grommunio-2026.06.1-Appliance einrichtest, technisch prüfst und einen vollständigen Archivierungs- und Restore-Workflow nachweist. Sie ist bewusst praxisnah: Paket installieren, Datenbank und Storage vorbereiten, Mailflow anbinden, Benutzer berechtigen, suchen, wiederherstellen, sichern und überwachen.

Wir sprechen hier über technische E-Mail-Archivierung und einen belastbaren Retention-Compliance-Baustein. Rechtliche Anforderungen wie Aufbewahrungsfristen, Exportpflichten oder Beweiswerterhaltung musst du immer mit der eigenen Organisation und Rechtsberatung abstimmen.

grommunio 2026 Schritt für Schritt

  • Teil 1: grommunio 2026 installieren: /de/tech/grommunio-2026-installieren
  • Teil 2: grommunio-antispam mit Rspamd: /de/tech/grommunio-antispam-rspamd-2026-schritt-fuer-schritt
  • Teil 3: grommunio-auth mit Keycloak: /de/tech/grommunio-auth-keycloak-2026-schritt-fuer-schritt
  • Teil 4: grommunio Meet: /de/tech/grommunio-meet-2026-schritt-fuer-schritt
  • Teil 5: grommunio Chat: /de/tech/grommunio-chat-2026-schritt-fuer-schritt
  • Teil 6: grommunio Files und Office: /de/tech/grommunio-files-office-2026-schritt-fuer-schritt
  • Teil 7: grommunio Archive: du bist hier.

Was wir aufbauen

Archive hängt in diesem Setup nicht als dekorative Zusatzoberfläche neben der Groupware. Die Appliance nimmt eine Nachricht normal in die Mailbox an und erzeugt zusätzlich eine Archivkopie über die Postfix-BCC-Strecke. grommunio Archive speichert die Nachricht, legt Metadaten in der Datenbank ab, indexiert sie über Sphinx und stellt Suche sowie Restore über die Archive-Weboberfläche bereit.

  • Paket: grommunio-archive
  • Version im Test: 1.4.9 auf grommunio 2026.06.1
  • Daemons: grommunio-archive, grommunio-archive-smtp und searchd
  • Datenbank: groarchive in MariaDB
  • Datenpfad: /var/lib/grommunio-archive
  • Webpfad: https://mail.example.test/archive/
  • Login: grommunio-Benutzer mit IMAP/POP und Archive-Recht
  • Restore: aus Archive zurück in die Benutzer-Mailbox.

Architektur und Mailflow

Der getestete Ablauf ist einfach, aber wichtig: Eine eingehende oder lokal erzeugte Nachricht wird an die Mailbox zugestellt und parallel an eine interne Archive-Adresse kopiert. Diese Adresse routet Postfix lokal zum Archive-SMTP-Dienst auf 127.0.0.1:2693. Dadurch bleibt der Archive-Daemon intern gebunden; öffentlich sichtbar ist nur die HTTPS-Oberfläche unter /archive/.

markdown
Mailflow
-> Postfix / gromox
-> Mailbox
-> recipient_bcc_maps
-> archive@archive.example.test
-> smtp:[127.0.0.1]:2693
-> grommunio Archive
-> groarchive Datenbank
-> Sphinx Suchindex
-> Archive Web UI
-> Restore in die Mailbox

Voraussetzungen prüfen

Starte auf einer funktionierenden grommunio-2026-Basis. DNS, TLS, Zeitsynchronisation, Admin-Zugang, funktionierende Benutzerpostfächer und IMAP müssen bereits sauber laufen. Wenn du aus der Artikelserie kommst, ist die Installation aus Teil 1 die Grundlage.

bash
cat /etc/os-release
hostname -f
rpm -qa | grep -Ei 'grommunio|gromox|archive' | sort
zypper search -s grommunio-archive
systemctl list-unit-files | grep -Ei 'archive|grommunio'
ss -lntup

Archive installieren

Das Paket kommt aus den grommunio-Repositories. Vor der Installation prüfst du die angebotene Version, danach installierst du nur das reale Paket. In unserem Test war grommunio-archive 1.4.9-lp160.3.32 verfügbar.

bash
zypper refresh
zypper search -s grommunio-archive
zypper --non-interactive install grommunio-archive
rpm -q grommunio-archive
app.example.com

Datenbank und Storage vorbereiten

grommunio Archive verwendet eine eigene Datenbank. Im getesteten Setup heißt sie groarchive. Lege Benutzer und Datenbank mit einem starken, nicht im Shell-Verlauf sichtbaren Passwort an, importiere das mitgelieferte Schema und bewahre das Passwort in einer nur für Root und die Archive-Gruppe lesbaren Datei auf.

bash
install -d -m 0750 -o root -g groarchive /etc/grommunio-archive
openssl rand -base64 36 > /etc/grommunio-archive/db.secret
chown root:groarchive /etc/grommunio-archive/db.secret
chmod 0640 /etc/grommunio-archive/db.secret
mariadb -uroot <<'SQL'
CREATE DATABASE IF NOT EXISTS groarchive CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER IF NOT EXISTS 'groarchive'@'localhost' IDENTIFIED BY '<strong-password>';
GRANT ALL PRIVILEGES ON groarchive.* TO 'groarchive'@'localhost';
FLUSH PRIVILEGES;
SQL
mariadb groarchive < /usr/share/grommunio-archive/db-mysql.sql

Die Daten, temporären Dateien, Indexdaten und Fehlerablagen liegen unter /var/lib/grommunio-archive. Für Produktion planst du diesen Pfad wie Maildaten: eigener Speicher, Monitoring, Backup, Kapazitätsplanung und klare Restore-Tests.

bash
rpm -ql grommunio-archive | sort
du -sh /var/lib/grommunio-archive
find /var/lib/grommunio-archive -maxdepth 1 -type d -printf '%p\n' | sort

Archive konfigurieren

Kopiere nicht blind ganze Beispielkonfigurationen, sondern setze die Werte, die in deiner Umgebung wirklich gelten: Hostname, Datenbank, Storage, Sphinx, interner SMTP-Port, IMAP-Backend und öffentliche URL. Im Lab war die externe URL https://mail.example.test/archive/.

bash
cp -n /etc/grommunio-archive/grommunio-archive.conf.dist /etc/grommunio-archive/grommunio-archive.conf
cp -n /etc/grommunio-archive/config-site.dist.php /etc/grommunio-archive/config-site.php
cp -n /etc/grommunio-archive/sphinx.conf.dist /etc/sphinx/sphinx.conf
# Danach kontrolliert setzen:
# hostid=mail.example.test
# listen_addr=127.0.0.1
# listen_port=2693
# mysqldb=groarchive
# mysqluser=groarchive
# queuedir=/var/lib/grommunio-archive/store
# workdir=/var/lib/grommunio-archive/tmp
# sphxhost=127.0.0.1
# sphxport=9306

Dienste und Ports aktivieren

Nach der Konfiguration startest du Archive, den Archive-SMTP-Dienst, Sphinx, PHP-FPM und nginx. Der entscheidende Sicherheitscheck: piler-smtp lauscht nur lokal auf 127.0.0.1:2693. Von außen sollen Benutzer nur HTTPS sehen.

bash
systemctl enable --now searchd grommunio-archive grommunio-archive-smtp
systemctl restart php-fpm nginx
systemctl is-active searchd grommunio-archive grommunio-archive-smtp php-fpm nginx
ss -lntup | grep -Ei '2693|9306|:443|:80'
app.example.com

Reverse Proxy für /archive/

Die Weboberfläche läuft in diesem Setup unter /archive/. nginx übergibt PHP-Dateien an den grommunio-Archive-PHP-FPM-Pool. Zusätzlich müssen die Rewrite-Regeln der Anwendung für Such-, Login-, Message- und Restore-Routen greifen.

nginx
location ^~ /archive/ {
alias /usr/share/grommunio-archive/archive/;
index index.php;
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_pass unix:/run/php-fpm/php-grommunio-archive-fpm.sock;
}
}
bash
nginx -t
systemctl reload nginx
curl -kI https://127.0.0.1/archive/

Benutzer berechtigen

Ein Benutzer braucht IMAP/POP und das Archive-Recht. grommunio dokumentiert diesen Weg auch für Archive-Login und Restore über IMAP. Für einen Testbenutzer sieht das so aus:

bash
grommunio-admin user modify alice@example.test --pop3-imap true --privArchive true
grommunio-admin user query username pop3_imap privArchive --filter username=alice@example.test
app.example.com

Archive-Login prüfen

Melde dich danach mit einem berechtigten Benutzer unter /archive/ an. Im Lab wurde der Pfad über https://mail.example.test/archive/ getestet. Verwende in der Anleitung und in Screenshots immer die echte Ziel-URL deiner Appliance, nicht lokale Portweiterleitungen.

app.example.com

Testmail senden und Archivierung nachweisen

Für den technischen Nachweis sendest du eine Testnachricht an den Benutzer. Postfix kopiert sie über recipient_bcc_maps an die interne Archive-Adresse. Danach prüfst du drei Ebenen: Zustellung an Archive-SMTP, Eintrag in groarchive und Auffindbarkeit im Sphinx-Index.

bash
/usr/sbin/sendmail -t <<'MAIL'
From: Archive Sender <sender@example.test>
To: alice@example.test
Subject: ForgeOne Archive Search Validation 20260908140826
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Diese Nachricht prüft Suche und Restore im grommunio Archive.
MAIL
postmap -q alice@example.test mysql:/etc/postfix/grommunio-bcc-forwards.cf
postmap -q archive.example.test lmdb:/etc/postfix/transport
mariadb groarchive -e "SELECT id, CAST(subject AS CHAR(255)) AS subject_text FROM metadata ORDER BY id DESC LIMIT 5;"

Der Delta-Indexer läuft im Regelbetrieb per Cron. Für einen unmittelbaren Lab-Nachweis kannst du den Delta-Index manuell rotieren und danach direkt gegen Sphinx suchen.

bash
runuser -u groarchive -- indexer --rotate --config /etc/sphinx/sphinx.conf delta1
mariadb -h127.0.0.1 -P9306 -e "SELECT id FROM main1,dailydelta1,delta1 WHERE MATCH('ForgeOne');"
app.example.com

Suchen und Nachricht öffnen

In Archive suchst du nach einem eindeutigen Marker aus dem Betreff. Der Treffer muss Datum, Absender, Empfänger, Betreff und Größe zeigen. Öffne die Nachricht und prüfe, dass Headerdaten, Inhalt und Restore-Aktion sichtbar sind.

app.example.com
app.example.com

Aus der Mailbox löschen und aus Archive wiederherstellen

Für den echten Restore-Test reicht es nicht, dass die Nachricht in Archive sichtbar ist. Lösche sie zuerst aus der Mailbox, prüfe, dass sie dort nicht mehr vorhanden ist, löse dann in Archive Restore to mailbox aus und prüfe die Mailbox erneut.

Im produktiven Browserpfad öffnest du danach grommunio Web, meldest dich als derselbe Benutzer an und suchst im Posteingang nach dem eindeutigen Betreff. Für automatisierte Abnahme ist die IMAP-Prüfung reproduzierbarer, weil sie dieselbe Mailbox ohne UI-Session-Effekte kontrolliert.

bash
python3 archive_imap_check_20260908.py "ForgeOne Archive Search Validation 20260908140826"
python3 archive_imap_check_20260908.py "ForgeOne Archive Search Validation 20260908140826" delete
# Danach in der Archive-Weboberfläche: Restore to mailbox
python3 archive_imap_check_20260908.py "ForgeOne Archive Search Validation 20260908140826"
app.example.com
app.example.com

Export, Anhänge und Benutzerisolation prüfen

Prüfe nach dem Basis-Restore auch Export und Berechtigungsgrenzen. Ein normaler Benutzer soll eigene archivierte Nachrichten finden, öffnen, als EML herunterladen und wiederherstellen können. Er soll aber keine fremden Mailboxen sehen. Anhänge müssen in der geöffneten Nachricht nachvollziehbar erscheinen und dürfen beim Export nicht verloren gehen.

  • Suche als Alice nach einer Alice-Nachricht.
  • Suche als Bob nach derselben Alice-Nachricht und erwarte keinen Treffer.
  • Öffne eine Nachricht mit Anhang und prüfe Anzeige sowie EML-Download.
  • Dokumentiere Rollen für Helpdesk, Auditoren oder Administratoren getrennt von normalen Benutzern.

Backup und Restore der Archive-Plattform

Für Archive sicherst du nicht nur die Datenbank. Du brauchst mindestens Datenbankdump, /var/lib/grommunio-archive, Archive-Konfiguration, Sphinx-Konfiguration, nginx-Route und die zugehörigen Schlüssel- beziehungsweise Secret-Dateien. Die Dateien dürfen im Backup liegen, aber nicht im Artikel, in Screenshots oder in Tickets veröffentlicht werden.

bash
mariadb-dump --single-transaction groarchive | gzip -c > /root/archive-backup-validation/groarchive.sql.gz
tar -C / -czf /root/archive-backup-validation/grommunio-archive-config-data.tar.gz \
etc/grommunio-archive \
etc/sphinx/sphinx.conf \
etc/grommunio-common/nginx/locations.d/grommunio-archive.conf \
var/lib/grommunio-archive
gzip -t /root/archive-backup-validation/groarchive.sql.gz
tar -tzf /root/archive-backup-validation/grommunio-archive-config-data.tar.gz | head
app.example.com

Monitoring und Logs

Überwache nicht nur HTTP 200. Für Archive sind Servicezustand, lokaler SMTP-Port, Sphinx-Port, Datenbankzugriff, Indexalter, eingehende Archivnachrichten, Suchfunktion und ein synthetischer Restore-Test relevant.

bash
systemctl status grommunio-archive grommunio-archive-smtp searchd --no-pager
journalctl -u grommunio-archive -u grommunio-archive-smtp -u searchd --since "1 hour ago" --no-pager
du -sh /var/lib/grommunio-archive
mariadb groarchive -e "SELECT COUNT(*) AS archived_messages FROM metadata;"

Troubleshooting

  • Login schlägt fehl: IMAP/POP und privArchive für den Benutzer prüfen.
  • Kein Treffer in der Suche: Mailflow, metadata-Tabelle und Delta-Indexer prüfen.
  • Restore kommt nicht an: IMAP-Backend, Benutzerrechte und Archive-Logs prüfen.
  • 404 unter /archive/: nginx-Location, Rewrite-Regeln und PHP-FPM-Socket prüfen.
  • Port 2693 öffentlich sichtbar: listen_addr korrigieren und Firewall prüfen.

Produktionscheckliste

  • FQDN, TLS und /archive/-Pfad produktiv festlegen.
  • Archive-SMTP nur intern binden.
  • Retention-Konzept fachlich abstimmen und technisch dokumentieren.
  • Benutzer- und Rollenmodell vor Rollout testen.
  • Backup und Restore mit echter Wiederherstellung üben.
  • Monitoring für Mailflow, Index und Restore einrichten.
  • Betriebsdokumentation und Übergabe an Support vorbereiten.

Fazit

Mit grommunio Archive ergänzt du die Groupware um einen technischen Archivierungs- und Restore-Baustein. Entscheidend ist der vollständige Nachweis: Mail wird archiviert, gefunden, geöffnet, aus der Mailbox gelöscht, aus Archive wiederhergestellt und anschließend wieder in der Mailbox sichtbar. Genau dieser Ablauf wurde im Lab gegen grommunio 2026.06.1 getestet.

grommunio professionell einsetzen

Du möchtest grommunio evaluieren, Lizenzen beschaffen oder brauchst Unterstützung bei Einführung, Migration, Betrieb oder Support? ForgeOne begleitet dich von Architektur und Lizenzierung bis zu Professional Services, Integration, Monitoring und laufendem Betrieb.