Ich hab einen eigenen root-server, auf dem ein ubuntu 7.10 läuft.
Nun ist der Plan, für mehrere Domains einen Mailserver laufen zu lassen, dabei habe ich mit der Basiskonfiguration angefangen, erst mal eine Domain zuzuweisen. Der Mailtransport funktioniert auch zwischen den eingerichteten Fächern. Um die Domain um die anderen zu erweitern, habe ich Virtuelle Mailboxen eingerichtet. Solange ich es bei den statischen Maps belasse, funktioniert es auch einwandfrei. Sobald ich aber die recipientmap auf die Datenbank auslagere, spuckt er Fehler. Um das ganze Einzukreisen: Ich kann mich mit dem postfix-Benutzer in die DB einloggen und Daten auslesen, postmap -q ... funktioniert auch einwandfrei. Aber eben nicht mit Postfix allgemein:
Ich habe auch schon was gefunden, was das Problem sein könnte:Dec 3 21:11:12 noise postfix/smtpd[4222]: match_string: xxx.net ~? localhost.yyy.net
Dec 3 21:11:12 noise postfix/smtpd[4222]: match_string: xxx.net ~? localhost
Dec 3 21:11:12 noise postfix/smtpd[4222]: match_list_match: xxx.net: no match
Dec 3 21:11:12 noise postfix/smtpd[4222]: maps_find: virtual_alias_maps: @xxx.net: not found
Dec 3 21:11:12 noise postfix/smtpd[4222]: mail_addr_find: abuse@xxx.net -> (not found)
Dec 3 21:11:12 noise postfix/smtpd[4222]: dict_mysql_get_active: attempting to connect to host localhost
Dec 3 21:11:12 noise postfix/smtpd[4222]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (40)
Dec 3 21:11:12 noise postfix/smtpd[4222]: maps_find: virtual_mailbox_maps: abuse@xxx.net: search aborted
Dec 3 21:11:12 noise postfix/smtpd[4222]: mail_addr_find: abuse@xxx.net -> (try again)
allerdings kann das bei mir nicht angewendet werden, weil hardlinks nicht filesystemübergreifend benutzt werden können, dann kommt nämlich ein invalid cross-device fehler -.-Da Postfix in einer chroot-Umgebung läuft, hat es erst mal keinen Zugriff auf den My SQL- Socket?, welcher sich ja außerhalb der chroot-Umgebung von Postfix befindet. Also passen wir das Startskript von Postfix derart an, dass beim Start des Mailservers ein Hardlink des My SQL- Sockets? in der chroot-Umgebung erzeugt wird:
Die Datei /etc/init.d/postfix ist folgendermaßen zu ergänzen:
case "$1" in
[...]
start)
[...]
umask $oldumask
if [ -x /var/spool/postfix/var/run/mysqld/mysqld.sock ] ; then
rm /var/spool/postfix/var/run/mysqld/mysqld.sock
fi
ln /var/run/mysqld/mysqld.sock /var/spool/postfix/var/run/mysqld/mysqld.sock
[...]
Hatte jemand schon mal das gleiche Problem? :?: