Postfix Hosting · 3 min read · Nov 18, 2025

Virtuelles Hosting mit Postfix, Teil eins

Version 1.0

Autor: Joe Topjian

Der Support für virtuelle Domains in Postfix ist tatsächlich ziemlich robust. Es gibt drei verschiedene Möglichkeiten, wie Sie virtuelle Domains mit Postfix hosten können, und alle werden hier beschrieben. Wir werden uns die dritte Möglichkeit ansehen: separate Domains und Nicht-Unix-Konten.

Warum diese? Weil uns diese Option am Ende die größte Flexibilität bietet. Es ist etwas komplizierter einzurichten und zu verstehen, aber es lohnt sich, wenn Sie mehrere Domains hosten.

Unser Endziel ist es, einen E-Mail-Server zu haben, der die Zustellung von E-Mails an mehrere Domains unterstützt. Jede E-Mail-Adresse wird nur für diese Domain authentisch sein. Zum Beispiel sind [email protected] und [email protected] zwei verschiedene Konten, die jeweils unterschiedliche E-Mails empfangen.

Um zu beginnen, werden wir alle Domains in virtuelle Hosts umwandeln. Selbst wenn Sie Postfix mit einer einzelnen Domain eingerichtet haben, werden wir diese Domain virtuell machen. Sie müssen dies nicht tun, aber ich mache es, weil ich denke, dass es organisierter ist. Wenn Postfix eine echte Domain und den Rest virtuell hostet, müssen Sie Postfix immer zweimal konfigurieren: einmal für jeden Typ von Domain. Um das zu tun, ändern wir unsere myhostname-Zeile in main.cf zu:

myhostname = localhost

Als nächstes werden wir die folgenden Informationen zu virtuellen Domains in main.cf hinzufügen (die alle nachfolgend erklärt werden):

virtual_mailbox_domains = /etc/postfix/vhosts.txt

virtual_mailbox_base = /var/spool/vmail
virtual_mailbox_maps = hash:/etc/postfix/vmaps.txt
virtual_uid_maps = static:1000
virtual_gid_maps = static:1000
virtual_alias_maps = hash:/etc/postfix/valias.txt

In der ersten Zeile verwenden wir eine Textdatei namens vhosts.txt. Sie können dies tatsächlich beliebig benennen. In dieser Textdatei wird eine einfache einspaltige Liste aller Domains, die Sie hosten, enthalten sein. Zum Beispiel:

domain1.com

domain2.com

virtual.org

Die nächste Zeile gibt das Basisverzeichnis an, in dem wir alle unsere E-Mails speichern werden. Auch hier können Sie beliebig wählen.

Die dritte Zeile verweist auf eine Textdatei, die ich vmaps.txt genannt habe. Dies ist eine zweispaltige Textdatei. Die erste Spalte gibt eine virtuelle E-Mail-Adresse an. Die zweite Spalte gibt den Speicherort des Postfachs dieser Person an. Genau wie beim Hosting echter Domains, wenn Sie ein / am Ende des Speicherorts angeben, wird es im Maildir-Format. Andernfalls ist es mbox. Ich habe hash angegeben, weil ich auch vmaps.txt in eine Hash-Datei umwandle, indem ich ausführe:

postmap vmaps.txt

Das ergibt eine Datei namens vmaps.txt.db. Postfix kann Informationen in Hashes schneller nachschlagen als in einer normalen Textdatei.

Der Inhalt von vmaps.txt sieht so aus:

[email protected]

domain1.com/joe/

[email protected]

domain2.com/joe/

[email protected]

virtual.org/john/

Schauen Sie sich die zweite Spalte an. Der Wert wird an unsere Zeile virtual_mailbox_base angehängt. Der absolute Pfad des virtuellen Postfachs wird also beispielsweise /var/spool/vmail/domain1.com/joe/. Vergessen Sie nicht, tatsächlich die Verzeichnisse domain1.com und joe zu erstellen. Da dieses Postfach im Maildir-Format vorliegt, benötigen wir 3 Unterverzeichnisse unter diesem Postfach: new, cur, tmp. Es gibt mehrere Skripte dafür, aber grundsätzlich funktioniert dies ganz gut:

mkdir new cur tmp

chmod 700 new cur tmp

Die nächsten beiden Zeilen definieren ein Konto, das wir einrichten werden und das Berechtigungen zum Zugriff auf die Postfächer hat. Ja, ein Konto wird die Möglichkeit haben, alle virtuellen E-Mails zu lesen. Ja, dies kann als Sicherheitsproblem angesehen werden. Bitte tun Sie Ihr Bestes, um sicherzustellen, dass niemand dieser Benutzer werden kann. Wir nennen das Konto “virtual”. Fügen Sie es auf beliebige Weise zum System hinzu (z. B. useradd) und notieren Sie sich seine uid und gid.

Die letzte Zeile gibt eine Textdatei an, in der wir Aliase für virtuelle Konten platzieren können. Der Inhalt sieht so aus:

[email protected]

[email protected]

Schließlich müssen Sie die Eigentümerschaft der Postfächer an den virtuellen Benutzer übertragen. Das Ausführen von folgendem kümmert sich darum:

chown -R virtual:virtual /var/spool/vmail

Und das war’s. Führen Sie einfach ein “postfix reload” aus und Sie sind bereit. Natürlich brauchen wir jetzt einen Weg, um die E-Mails tatsächlich abzurufen. Das werde ich in Teil Zwei tun.

Teil Zwei:

https://www.howtoforge.com/linux_postfix_virtual_hosting_2

Ursprünglicher Standort dieses Dokuments:

http://adminspotting.net/howtos/postfixvirtual.html

| |

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.