Mail Server · 3 min read · Oct 05, 2025

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

III. Installation und Konfiguration des MySQL-Servers (+PostFixAdmin-Schema)

Zunächst müssen wir den MySQL-Server auf sql-1.internal.example.com installieren. Um das Leben einfacher zu machen, werden wir auch den MySQL-Befehlszeilen-Client installieren. Dies kann erreicht werden, indem man Folgendes an der Eingabeaufforderung eingibt:

# apt-get install mysql-server mysql-client

Nachdem apt-get seine Installation abgeschlossen hat, möchten Sie den Root-Zugriff auf die MySQL-Datenbank sperren. Dies geschieht mit dem Tool mysqladmin.

# mysqladmin -u root password "mypassword"

HINWEIS: Ändern Sie mypassword in Ihr eigenes sicheres Passwort!!!

Jetzt werden wir die Datenbank und die Benutzer für virtuelle Benutzer und Domains erstellen. Es ist wichtig zu beachten, dass Postfix (und Dovecot) nur SELECT-Zugriff auf diese Datenbank benötigen. PostfixAdmin benötigt SELECT, UPDATE und INSERT.

# mysql -uroot -p   
Enter password:   
mysql> CREATE DATABASE virtual_mail;   
mysql> GRANT SELECT ON virtual_mail.* TO 'vmail_user'@'mx-1.example.com' IDENTIFIED BY 'vmail_user_password';   
mysql> GRANT SELECT,UPDATE,INSERT ON virtual_mail.* TO 'vmail_admin'@'mx-1.example.com' IDENTIFIED BY 'vmail_admin_password';   
mysql> GRANT SELECT ON virtual_mail.* TO 'vmail_user'@'mx-2.example.com' IDENTIFIED BY 'vmail_user_password';   
mysql> GRANT SELECT,UPDATE,INSERT ON virtual_mail.* TO 'vmail_admin'@'mx-2.example.com' IDENTIFIED BY 'vmail_admin_password';   
mysql> quit

HINWEIS: Ändern Sie vmail_user_password und vmail_admin_password in Ihre eigenen sicheren Passwörter!!!

Jetzt müssen wir Postfix Admin herunterladen. Während das Tool selbst nicht zwingend für unsere Konfiguration erforderlich ist, ist es sehr nützlich und das Schema, das es verwendet, ist gut durchdacht. Sobald Sie das Postfix Admin-Distributions-Tarball heruntergeladen haben, entpacken Sie es wie folgt:

# tar xfvz postfixadmin-2.1.0.tgz

Öffnen Sie im resultierenden Verzeichnis postfixadmin-2.1.0/DATABASE_MYSQL.TXT mit Ihrem bevorzugten Texteditor. Entfernen Sie alle Zeilen unter dem Abschnitt “Postfix / MySQL”. Diese Zeilen erstellen die ursprüngliche Datenbank, die wir bereits erstellt haben. Für Postfix Admin 2.1.0 sind dies die Zeilen 26-39.

Wenn Sie fertig sind, laden Sie die Datei mit dem folgenden Befehl in Ihre vorhandene MySQL-Tabelle:

# mysql -uroot -p virtual_mail < postfixadmin-2.1.0/DATABASE_MYSQL.TXT

HINWEIS: Wenn Sie eine Fehlermeldung erhalten, die besagt “Zugriff verweigert für Benutzer ‘mail’@’localhost’ zur Datenbank ‘mysql’”, dann haben Sie die Zeilen nicht richtig auskommentiert. Wenn Sie nach der Eingabe Ihres Passworts keine Nachricht erhalten, dann ist alles gut gelaufen.

IV. NFS-Dateifreigabeserver

Viele Server benötigen Zugriff auf die Maildir-Ordner unserer Benutzer, daher werden wir sie zur Vereinfachung auf einem NFS-Mount installieren. Einer der Vorteile von Maildir ist, dass es mit NFS kompatibel ist. Das Mailbox-Format hingegen wäre nicht schön. Glücklicherweise ist die Einrichtung von NFS in Debian genauso einfach wie die Einrichtung eines anderen Dienstes.

Lassen Sie uns mit der Installation des Dienstes auf files-1.internal.example.com beginnen:

# apt-get install nfs-kernel-server nfs-common portmap

Die NFS-Exporte (Shares) werden durch die Datei /etc/exports gesteuert. Jede Zeile beginnt mit dem absoluten lokalen Pfad eines Verzeichnisses, das exportiert werden soll, gefolgt von einer durch Leerzeichen getrennten Liste von erlaubten Clients. NFS kann extrem leistungsfähig sein, aber ich werde hier nicht auf die vollständigen Details eingehen. Für unsere Zwecke würde Folgendes ausreichen:

/etc/exports:

/vmail mx-1.internal.example.com(ro, insecure) mx-2.internal.example.com(ro, insecure) postman.internal.example.com(rw, no_root_squash) secure-mail.internal.example.com(rw, no_root_squash)

Wenn Sie Änderungen an /etc/exports auf einem laufenden NFS-Server vornehmen, können Sie die Änderungen wirksam machen, indem Sie den Befehl ausführen:

# exportfs -a

Wir benötigen einen echten Benutzer, um alle virtuellen Zuordnungen in unserer Einrichtung zu verwalten. Für diese Lösung werden wir die Benutzer-ID 150 verwenden. Diese Benutzer-ID ist für einen speziell erstellten “Virtuellen Mail”-Benutzer. Er verwendet die Standardgruppe “mail” mit der Standard-GID (Debian) von 8. Sie können den Benutzer und das Verzeichnis wie folgt erstellen:

# useradd -r -u 150 -g mail -d /var/vmail -s /sbin/nologin -c "Virtuelles Postfach" vmail  
# mkdir /vmail  
# chmod 770 /vmail/   
# chown vmail:mail /vmail/ 

HINWEIS: Dieser Benutzer muss auf allen Servern erstellt werden, die auf dieses Share zugreifen (mx-1, mx-2, postman, files-1, secure-mail). Wenn der Benutzer nicht existiert, können Sie Dateizugriffsfehler erhalten. Während NIS verwendet werden könnte, um einen einzelnen Host für diesen Benutzer zu erstellen, liegt das außerhalb des Rahmens dieses Dokuments.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.