Home
19.05.2012, 21:49:37
Mailserver Exim4 mit Courier IMAP Server + Spamassasin + Mailscanner PDF Drucken E-Mail
19.02.2006



Heute habe ich mir mal die Mühe gemacht, ein kleines HowTo zum Einrichten eines IMAP Mailservers inkl. Mailscanner, Spamschutz etc. zu erstellen.

Dieses Howto bezieht sich auf die Einrichtung eines Mailservers mit den folgenden Komponenten:

Debian SID + Exim4 + Courier IMAP SSL + Spamassasin + procmail + Squirrelmail + Mailscanner
Als Basis dient ein RootDS Server von server4you. Ich gehe davon aus, dass dieser völlig leer ist und praktisch "frisch" zur Verfügung gestellt wurde. Natürlich sollte dieses HowTo auch bei einem nicht mehr so frischen System funktionieren ;-)



1. Mailserver Vorbereitung 

Ausgehend von einem "leeren, frischen" Server sollte man als aller erstes ein

zabulus:~# apt-get dist-upgrade

durchführen. Nachdem alle Pakete ihr verdientes Update erhalten haben, installieren wir anstatt des vorinstallierten "uw-imapd" Mailservers - der grundsätzlich nicht schlecht ist, aber leider ein unperformantes Mailformat verwendet - den Courier Mailserver.
Damit können wir später das meiner Meinung nach wesentlich bessere Maildir Format nutzen.

Dazu installieren wir erst mal alle nötigen Pakete. Da wir später noch Programme wie fetchmail, procmail, mailscanner benötigen installieren wir diese direkt mit:

zabulus:~# apt-get install fetchmail procmail mailscanner courier-authdaemon courier-base courier-ssl courier-imap courier-imap-ssl courier-ssl courier-webadmin couriergraph locales

Optional können wir dann noch mb2md installieren, womit man sein altes Mail Format in das Maildir Format umwandeln kann.
Eine schöne Anleitung dazu findet ihr hier.

Konvertierungsbeispiel:

 zabulus:~# ./mb2md.pl -s /var/mail/username  -d /var/opt/vmail/mydomain.de/username/Maildir/
Converting /var/mail/username to maildir: /var/opt/vmail/mydomain.de/username/Maildir
Source Mbox is /var/mail/username
Target Maildir is var/opt/vmail/mydomain.de/username/Maildir
666 messages.

2. Konfiguration

- System

Nachdem alle Pakete (hoffentlich erfolgreich) installiert wurden, können wir jetzt alles nach unseren Wünschen konfigurieren.
Damit man den Couriere Mailserver überhaupt starten kann, sollte man in der /etc/inetd alles was mit imap / pop3 zu tun hat auskommentieren.

 -snip-
 #:MAIL: Mail, news and uucp services.
 #imap2  stream  tcp     nowait  root    /usr/sbin/tcpd /usr/sbin/imapd
 #<off># imaps   stream  tcp     nowait  root    /usr/sbin/tcpd /usr/sbin/imapd
 #pop3   stream  tcp     nowait  root    /usr/sbin/tcpd /usr/sbin/ipop3d
 #pop3s  stream  tcp     nowait  root    /usr/sbin/tcpd /usr/sbin/ipop3d
 -snip-
 


Die inetd.conf abspeichern und mit:

zabulus:/# /etc/init.d/inetd restart

den Dienst neu starten.


jetzt kann man auch erfolgreich den Courrier Mailserver starten:

zabulus:/# /etc/init.d/courier-imap start
zabulus:/# /etc/init.d/courier-imap-ssl start


- Exim4 Anpassung:

Damit exim4 in Zukunft auch mit dem Mailscanner zusammenarbeiten kann, müssen wir hier ein paar Veränderungen vornehmen. Exim4 bietet bei der Konfiguration die Möglichkeit, alles in einer Datei zu konfigurieren oder alles in viele Dateien aufzusplitten. Ich habe mich für letztere Variante entschieden da diese wesentlich übersichtlicher ist.

In /etc/exim4/ finden wir alle benötigten Dateien. Um exim4 nun die Kommunikation mit dem Mailscanner beizubringen fehlen noch einige Einstellungen.

I. Datei erzeugen:
Erstellt in /etc/exim4/conf.d/main/
Die Datei: 01_mailscanner_config

Inhalt dieser Datei sollte sein:

#01_mailscanner_config
#
.ifdef OUTGOING
SPOOLDIR = /var/spool/exim4
.else
queue_only = true
queue_only_override = false
SPOOLDIR = /var/spool/exim4_incoming
log_file_path = /var/log/exim4_incoming/%slog
.endif

II. Verzeichnis erstellen:

Wir müssen ein Verzeichnis "exim4_incomming" erstellen.
Dazu erstellen wir eine Kopie des bereits vorhandenen exim4 spool Verzeichnis.

zabulus:/# cp -a /var/spool/exim4 /var/spool/exim4_incoming/

III. Datei Anpassen:

Die folgende Datei benötigt ein paar Anpassungen:

zabulus:/# vi /etc/exim4/conf.d/transport/30_exim4-config_mail_spool

Inhalt:

# This transport is used for local delivery to user mailboxes in traditional
# BSD mailbox format.
#
mail_spool:
  debug_print = "T: appendfile for
$local_part@$domain"
  driver = appendfile
  #file = /var/mail/$local_part
  delivery_date_add
  envelope_to_add
  return_path_add
  group = mail
  mode = 0660
  mode_fail_narrower = false
  directory = ${home}/Maildir
  maildir_format
  message_prefix = ""

IV. Logfile Verzeichnis erstellen

zabulus:/# cp -a /var/log/exim4/ /var/log/exim4_incoming/



- Mailscanner konfiguration

Der Mailscanner soll in Zukunft alle mails beim Eintreffen prüfen und nach Viren bzw. Spam durchsuchen. Dazu müssen wir noch ein paar Berechtigungen neu setzten:

zabulus:/# chown -R Debian-exim /var/spool/MailScanner/
zabulus:/# chgrp -R Debian-exim /var/spool/MailScanner/
zabulus:/# chown -R Debian-exim /var/lib/MailScanner/
zabulus:/# chgrp -R Debian-exim /var/lib/MailScanner/
zabulus:/# chown -R Debian-exim /var/run/MailScanner/
zabulus:/# chgrp -R Debian-exim /var/run/MailScanner/
zabulus:/# chown -R Debian-exim /var/lock/subsys/MailScanner/
zabulus:/# chgrp -R Debian-exim /var/lock/subsys/MailScanner/

Jetzt können wir den Mailscanner ohne Warnmeldung starten:

zabulus:/# /etc/init.d/mailscanner start

Dabei befindet er sich in der default Einstellung. Bitte konfiguriert die:

zabulus:/# vi /etc/MailScanner/MailScanner.conf

nach Euren Wünschen. Diese Datei ist recht selbsterklärend da nahezu alles kommentiert wurde.


- Spamassassin updaten

Spamassassin bietet von Grund auf sehr gute Einstellungen. Jedoch versuchen "Spammer" stetig diese Einstellungen zu umgehen. Dazu findet ihr hier ein kleines tool - womit ihr z.B. per cronjob den Mailscanner immer auf dem Laufenden haltet.

http://www.exit0.us/index.php?pagename=RulesDuJour




3. Erweiterte Literatur


Configuring Exim4 and Courier IMAP under Debian GNU/Linux
http://www.trekweb.com/~jasonb/articles/exim4_courier

Konvertierung:
http://batleth.sapienti-sat.org/projects/mb2md/



Kommentare und Anregungen sind erwünscht!

 
< Zurück   Weiter >

Gerade online

MotoGP News

Guareschi über Rossi, Stoner & CO: Mitten in der Motorradwelt Vittoriano Guareschi hat mehrere Rollen bei Ducati.
Stoner überglücklich bei Honda: Fehler werden schnell behoben Casey Stoner fühlt sich bei Honda rundum wohl.
Capirossi will nicht in die Superbike: Nur Spaß haben Loris Capirossi weiß noch nicht, ob er auch im nächsten Jahr noch in der MotoGP bleibt oder zurücktritt.
Rossi will Verbesserungen: Guareshi auf Fehlersuche Valentino Rossi hofft auf eine bessere zweite Saisonhälfte bei Ducati.
Roberts bewundert Lorenzos Kampfgeist: Parallelen Kenny Roberts gab nach dem Rennen in Kalifornien zu, dass er sehr viel vom amtierenden Weltmeister hält und ihm einiges zutraut.