Mail Server · 3 min read · Oct 06, 2025

Vollständige Mail-Server-Lösung mit virtuellen Domains und Benutzern (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Seite 3

IV. Postfix auf den Mail-Exchange-Servern

A. Postfix neu erstellen

Die in der Debian Etch-Distribution enthaltene Version von Postfix hat eine defekte Quotenunterstützung. Wir müssen sie neu erstellen, damit die Quoten funktionieren. Dieser Neuaufbau sollte NICHT auf den tatsächlichen Produktions-MX-Servern durchgeführt werden. Haben Sie einen separaten Server zur Verfügung (oder sogar nur eine separate virtuelle Maschine in Xen), um Build-Aufgaben auszuführen. Unser Server für diese Aufgabe ist build.internal.example.com. Installieren Sie auf diesem Server die benötigten Build-Tools:

# apt-get install build-essential dpkg-dev fakeroot debhelper libgdbm-dev libldap2-dev libpcre3-dev libssl-dev libsasl2-dev postgresql-dev po-debconf dpatch libdb4.3-dev libmysqlclient15-dev lsb-release libcdb-dev

Laden Sie dann den Quellcode des Postfix-Pakets herunter:

# cd /usr/src   
# apt-get source postfix

HINWEIS: Stellen Sie sicher, dass Sie die richtige Postfix-Version mit den folgenden Befehlen verwenden! Dies wurde gegen Postfix 2.3.8 geschrieben. Sie können Ihre aktuell laufende Postfix-Version ermitteln, indem Sie dies an der Eingabeaufforderung eingeben:

# postconf -d | grep mail_version

Die Ausgabe sollte so aussehen:

# postconf -d | grep mail_version   
  mail_version = 2.3.8   
  milter_macro_v = $mail_name $mail_version 

Vorausgesetzt, alles ist bereit (und Sie haben die richtigen Versionen), laden Sie den Quoten-Patch herunter:

# wget http://vda.sourceforge.net/VDA/postfix-2.3.8-vda.patch.gz

Sie müssen dann den Patch entpacken und auf den neuen Quellcode anwenden:

# gunzip postfix-2.3.8-vda.patch.gz  
# cd postfix-2.3.8  
# patch -p1 < ../postfix-2.3.8-vda.patch

Und schließlich, bauen Sie das gepatchte Paket neu:

# dpkg-buildpackage

Am Ende des dpkg-buildpackage-Befehls sehen Sie möglicherweise eine Warnung wie diese:

(Warnung: .dsc- und .changes-Datei konnte nicht signiert werden)

Diese Nachricht können Sie sicher ignorieren.

Dieser neue Neuaufbau führt dazu, dass mehrere Pakete erstellt werden. Sie möchten postfix_2.3.8-1_i386.deb und postfix-mysql_2.3.8-2_i386.deb auf Ihre Mail-Exchanger (MX-1 und MX-2) kopieren. Sie sind dann bereit zur Installation!

B. Postfix installieren

Da wir ein Debian-basiertes System verwenden, ist die Installation von Postfix ein Kinderspiel. Dieser Abschnitt geht davon aus, dass Sie auf Mail Exchanger 1 (mx-1.example.com) arbeiten. Wenn Sie auf MX-2 arbeiten, tauschen Sie einfach den Servernamen in allen Konfigurationsdateien aus, und Sie sollten bereit sein. Beginnen Sie die Installation, indem Sie Folgendes ausführen:

# dpkg -i postfix_2.3.8-2_i386.deb  
# dpkg -i postfix-mysql_2.3.8-2_i386.deb

Wenn/wenn die Auto-Konfiguration während der Installation Fragen zu Postfix stellt, wählen Sie einfach “Keine Konfiguration” (da Sie dieses Handbuch verwenden, werden Sie es selbst konfigurieren!)

dpkg wird alle Konfigurationsdateien für Postfix in /etc/postfix installieren, also gehen Sie dorthin und erstellen Sie die Datei main.cf:

# cd /etc/postfix  
# touch main.cf

Die main.cf-Datei kann mit zwei verschiedenen Methoden bearbeitet werden. Sie können Ihren bevorzugten Texteditor verwenden oder das integrierte Postfix-Tool postconf verwenden. Wir haben postconf bereits einmal verwendet, um unsere Version im Abschnitt IV.A oben zu bestimmen.

Der eigentliche Vorteil des postconf-Tools besteht darin, dass es einige eingebaute Fehlerprüfungen hat und die Möglichkeit von ‘Seltsamkeiten’ aufgrund von Wagenrückläufen, Zeilenumbrüchen, seltsamen Anführungszeichen usw. beseitigt. Wir werden es in diesem Handbuch verwenden, aber es gibt wirklich keine Anforderung.

Beginnen Sie damit, die grundlegenden Informationen auszufüllen:

# postconf -e 'myhostname = mx-1.example.com'  
# postconf -e 'smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)'  
# postconf -e 'biff = no'  
# postconf -e 'append_dot_mydomain = no'  
# postconf -e 'myorigin = example.com'  
# postconf -e 'mydestination = $myhostname, localhost, locahost.localdomain'  
# postconf -e 'mynetworks = 127.0.0.0/8'   
# postconf -e 'recipient_delimiter = +'  
# postconf -e 'inet_interfaces = all'  
# postconf -e 'proxy_read_maps = $local_recipient_maps $mydestination \  
    $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps \  
    $virtual_mailbox_domains $relay_recipient_maps $relay_domains \  
    $canonical_maps $sender_canonical_maps $recipient_canonical_maps \  
    $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps'

Das ist alles, was Sie tatsächlich benötigen, um einen voll funktionsfähigen Mail-Server mit Standard-Unix-Benutzern zu betreiben. Wir wollen keine Standard-Unix-Benutzer, also werden wir diese Datei ziemlich oft bearbeiten. Denken Sie daran, example.com in Ihre eigene Domain zu ändern! (Und mx-1 in mx-2 auf dem zweiten Server!)

###

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.