johker’s blog stories about me, my life, science and my trips

4Apr/093

Der neue Server: Teil 7 roundcube

Oft hat man nicht die Möglichkeit mit einen E-Mail Client - wie z.B. Evolution oder Thunderbird - arbeiten zu können, deshalb wird hier darauf eingegangen wie man einen Webmailer - in diesem Fall roundcube - inkl. postfixadmin-Integration und Sieve-Plugin installiert.

imapproxy

Da http ein "stateless"-Protokoll ist, kann es - anders als IMAP-Clients - keine Verbindungen offen halten und stellt deshalb sehr viele unnötige "LOGIN"-Anfragen. Um dies zu verhindern wird ein imapproxy installiert. Dieser wird dem Webmailer vorgeschaltet und hält die Verbindungen geöffnet. Stellt der Webmailer nun eine Anfrage an den Proxy, sucht dieser die Verbindung raus und benutzt die bestehende Verbindung anstatt eine neue aufzubauen. Der Proxy hält die Verbindung nicht für eine unbestimmte Zeit offen, sondern schließt sie nachdem ein Timeout abgelaufen ist.

Installation:

aptitude install imapproxy

Konfiguration:

listen_address 127.0.0.1

Wir ändern nur die oben genannte Zeile, den Rest belassen wir wie er ist. Da der IMAP-Proxy auf dem gleichen System wie der Mailserver läuft, lassen wir nur lokale Verbindungen zu.
Wenn nun ein Programm/Skript den IMAP-Proxy nutzen soll, gibt man Port 1143 an, anstatt Port 143.

roundcube

Für roundcube brauchen wir zunächst einen vHost. Im Weiteren wird davon ausgegangen, dass roundcube unter https://webmail.domain.tld/ verfügbar ist.
Zunächst muss die neueste roundcube Version von http://roundcube.net/ heruntergeladen und in den vHost entpackt werden, damit es über https://webmail.domain.tld/ verfügbar ist.
Nun legen wir eine Datenbank inkl. Benutzer für roundcube an und importieren das postgres-Schema:

su - postgres
psql template1
CREATE USER roundcube WITH PASSWORD 'password';
CREATE DATABASE roundcube WITH OWNER roundcube ENCODING 'UNICODE';
\c - roundcube
\i /PFAD/ZU/ROUNDCUBE/SQL/postgres.initial.sql
\q

Nun rufen wir im Browser roundcube auf, hängen der URL aber noch "/installer" an und folgen danach den Anweisungen. Nachden wir die Konfigurationsdateien kopiert und am aufgeforderten Ort gespeichert haben, können wir roundcube über den Browser aufrufen und uns mit unserem IMAP-Benutzernamen und -passwort anmelden. Jedoch sollte man damit noch warten, bis postfixadmin-bridge installiert ist, denn dann wird automatisch der vollständige Name aus den postfixadmin-Tabellen übernommen.

postfixadmin-bridge

Zur Installation von rcpfa (= postfixadmin-bridge) wird patch benötigt:

aptitude install patch

Danach entpackt man rcpfa in den roundcube Ordner, wechselt in das neue Unterverzeichnis und führt folgenden Befehl aus:

sh INSTALL.TXT

Sollten während des Patch-Vorgangs Probleme auftreten, kann man sich die *.rej-Dateien anschauen und die Probleme ggf. händisch lösen. Nach der Installation muss noch die roundcube-Konfiguration angepasst werden (beim Patchen wurden neue Variablen in der Konfiguration hinzugefügt) und danach kann man im Einstellungs-Tab von roundcube Einstellungen aus postfixadmin ändern.

sieve rules

Das sieve-Plugin für roundcube kann man hier herunterladen: http://www.tehinterweb.co.uk/roundcube/#ptsieverules und anschließend mit

patch -ul -d /PFAD/ZU/ROUNDCUBE/ -p1 < /PFAD/ZUM/PATCH

installieren.
Die parallele Installation von rcpfa und sieve rules ist problematisch, da der Patch-Vorgang sehr wahrscheinlich an einer Stelle fehlschlägt und man selbst Hand anlegen muss.
Auch dieses Plugin hat Variablen zur roundcube-Konfiguration hinzugefügt, die angepasst werden müssen, bevor das Plugin benutzt werden kann.

mutt

Um auch über die Konsole auf E-Mails zugreifen kann, installieren wir zusätzlich noch mutt. Manche Leute fragen sich vielleicht, wozu man einen Konsolenmailer braucht, bzw. brauchen könnte. Ein interessanter Punkt ist, dass mutt einen weitaus größeren Funktionsumfang als ein Webmailer bietet und außerdem sieht es auch schick aus, wenn man seine Mails auf der Konsole liest.

Installation:

aptitude install mutt

Eine einfache Konfiguration ("~/.muttrc"):

set folder="imap://localhost"
set spoolfile="imap://localhost/INBOX"
set imap_authenticators="LOGIN"
set imap_user="username"
set imap_pass="password"
set move=no
 
set editor='vim -c "set t_Co=8" -c "syntax on" -c "/^$" -c "set tw=72" -c "set number"'
set header_cache=~/.mutt_header

Die mutt-Konfiguration ist sehr rudimentär und sollte zusätzlich noch an die eigenen Bedürfnisse angepasst werden, z.B. Sent-Ordner definieren, GPG-Schlüssel definieren, ...

Quellen:

http://roundcube.net/

http://nejc.skoberne.net/projects/rcpfa/

http://www.tehinterweb.co.uk/roundcube/#ptsieverules