Startseite>Mail-Archivierung mit Benno auf dem RasPi
Aus Raspberry Pi Geek 08/2017

Mail-Archivierung mit Benno auf dem RasPi

© Silvae, 123RF

Gut aufgehoben

Bernhard Bablok

Das Verwalten mehrerer Tausend Mails bringt viele Mailclients spätestens bei der Suche an die Leistungsgrenze. Der Mail-Archivierer Benno übernimmt diesen Job netzwerkweit.

Der RasPi bewährt sich schon eine ganze Weile als zentrale Mail-Drehscheibe im LAN [1], eine IMAP-Lösung eignet sich ideal für den Zugriff auf aktuelle Mails von beliebigen Mailclients aus. Es liegt also nahe, den Kleinstrechner auch als Mailarchiv für alle alten Mails zu nutzen.

Wozu archivieren? Wer einen eigenen Betrieb führt, den verpflichtet das Gesetz dazu. Aber auch für Privatpersonen bringt ein Archiv Vorteile: So lassen sich etwa alte Nachrichten schneller wiederfinden. Thunderbird indiziert zwar seine Mails, trotzdem erfolgt der Zugriff mit wachsender Zahl immer träger. Auch das Backup der Maildateien dauert zunehmend länger, was an der Art der Speicherung der Mails liegt.

Eine Suche nach einer offenen, auch auf dem RasPi lauffähigen Archivlösung stellte sich als schwieriger heraus als gedacht. Üblicherweise wird so etwas in Unternehmen eingesetzt, wo sich mit Software noch richtig Geld verdienen lässt. Offene Lösungen kommen da meist nicht infrage. Die deutsche Firma LWsystems stellt ihre Archivlösung Benno MailArchiv [2] aber nicht nur lizenzpflichtig für Firmen bereit, sondern auch in einer freien Community-Edition – um die geht es in diesem Artikel ausschließlich.

Gestatten: Benno

Benno besteht aus mehreren Komponenten. Der eigentliche Archivierer zerlegt den Nachrichtentext und füttert einen Index, der dann eine spätere Suche extrem beschleunigt. Die originale E-Mail landet komprimiert ebenfalls im Archiv. Den Zugriff auf das Archiv realisiert eine klassische Webanwendung, die auf einem Java-Applikationsserver läuft. Die responsive Weboberfläche liefert ein Apache in Verbindung mit PHP aus.

Die Schnittstelle vom PHP-Client zur Webapplikation per REST-API stellt den einzigen nicht quelloffenen Teil der Anwendung dar. Ansonsten finden sich viele alte Bekannte: So nutzt der Archivierer beispielsweise Lucene als Indizierungssoftware. Die Community-Edition entspricht vom Code her exakt der kommerziellen Version und lässt sich jederzeit per Lizenzschlüssel umwandeln. Einschränkungen gibt es nur bei der Benutzerverwaltung und bei nicht näher spezifizierten Optimierungen.

Als einen großen Vorteil verbucht Benno für sich, dass die Mails nicht in einem proprietären Archiv verschwinden, auf das nur genau eine Software zugreifen kann. Auch die beste quelloffene Software nutzt nichts, wenn die Entwickler sie nicht pflegen. Selbst der Index von Benno lässt sich dank Lucene im Prinzip ganz ohne Benno weiterverwenden.

Installation und Konfiguration

Als Basis für Benno dient uns die aktuelle Version von Debian “Jessie” Lite. Prinzipiell funktionieren aber auch alternative ARM-Betriebssysteme für andere SoCs: Beim Autor lief die Installation problemlos auf Armbian für einen FriendlyARM-Mini-Computer. Da die zentralen Komponenten von Benno das speicherhungrige Java verwenden, sollte der Rechner ausreichend Hauptspeicher mitbringen. Ein Raspberry Pi 3 mit 1 GByte RAM stellt insofern eine gute Wahl dar.

Wie bei Archiven typisch, nutzt Benno intensiv die I/O-Fähigkeiten des Rechners. Am besten installieren Sie das System auf einer USB-Festplatte mit entsprechend viel Speicherplatz. Alternativ hängen Sie diese vor der Installation der Software unter /srv ein: Benno verwendet für seine Dateien (Index, Mailarchiv) die Verzeichnisse unterhalb von /srv/benno. Der Einhängepunkt auf /srv stellt also sicher, dass diese Daten auch auf der Festplatte landen.

Eine komplette Installationsanleitung finden Sie auf der Webseite des Projekts [2]. Es lohnt sich in jedem Fall, die Anleitung zu lesen. Neben den genauen Voraussetzungen beschreibt sie im Detail die Ordnerstruktur sowie die umfangreichen Einstellungsmöglichkeiten, die dieser Artikel nicht behandelt.

Die Installation gelingt unter Debian-Derivaten besonders bequem, da die wesentlichen Schritte dank Apt-get automatisch ablaufen. Das Skript in Listing 1 liefert, mit administrativen Rechten ausgeführt, eine Komplettlösung. Sie müssen lediglich die USERxxx-Variablen am Anfang des Skripts an die lokalen Gegebenheiten anpassen. Je nach Internet-Verbindung dauert die Installation gut 15 Minuten, danach steht das System sofort zum Einsatz bereit.

Nicht zur offiziellen Installationsanleitung gehört der Wechsel zum Oracle-JDK (Zeilen 17 und 18). Da Oracles Java-Variante unter Raspbian deutliche Leistungsvorteile gegenüber dem OpenJDK bietet, erweist sich dieser Schritt aber als durchaus sinnvoll.

Listing 1

 

#!/bin/bash
USERNAME=benno
USERPW=benno
USERINFO="Benno User"
USERMAIL="[email protected],[email protected]"
# ---- Repositories hinzufügen
echo "deb http://www.benno-mailarchiv.de/download/debian /" > /etc/apt/sources.list.d/benno.list
wget http://www.benno-mailarchiv.de/download/debian/benno.asc
apt-key add benno.asc
# ---- Installation Pakete
apt-get update
apt-get -y install benno-lib benno-core benno-archive benno-rest benno-rest-lib benno-web uuid
# --- Java wechseln
apt-get -y install oracle-java8-jdk
update-java-alternatives -s jdk-8-oracle-arm32-vfp-hflt
# ---- Konfiguration
secret=$(uuid | tr -d '-')
sed -i -e "s/notset/$secret/" /etc/benno-web/benno.conf
sed -i -e "s/notset/$secret/" /etc/benno/benno.xml
sed -i -e "/USERPERMISSONS/s/.*USERPERMISSONS.*/USERPERMISSONS = DISABLED/" /etc/benno-web/benno.conf
# ---- Start des Systems
touch /etc/benno/benno.lic
systemctl restart benno-archive.service
systemctl restart benno-rest.service
# ---- Benutzer anlegen
benno-useradmin -u "$USERNAME" -p "$USERPW" -n "$USERINFO" -e "$USERMAIL"
benno-useradmin -u admin -d

Benutzerverwaltung

Für die Benutzerverwaltung existiert noch keine grafische Oberfläche, das erledigt das Tool benno-useradmin. In Listing 1 legt das Installationsskript einen neuen Benutzer an (Zeile 32) und löscht den Default-User (Zeile 33).

Die Option -e des Kommandos verbindet Mailadressen mit den Nutzern. In der kommerziellen Version stellt Benno sicher, dass jeder Anwender nur seine eigenen E-Mails sieht. Diese Einschränkung gibt es bei der Community-Edition nicht – hier kann jeder alle Nachrichten sehen.

Ob diese Einschränkung für den Familieneinsatz ein Ausschlusskriterium darstellt, muss jeder selbst entscheiden. Da es aber in Familien meist sowieso einen IT-affinen “Administrator” mit vollen Zugangsrechten gibt, sollte dieses Detail nicht allzu sehr einschränken. Im Zweifelsfall müssten Sie Benno einfach auf mehreren Kleinrechnern installieren.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland