# postfix->mysql verbindungsproblem



## softice (3. Dezember 2007)

Hallo, 
ich habe einen Postfixserver mit sql und sasl unterstützung aufgesetzt.  Die Basiskonfiguration mit einer Domain funktioniert, Mails können hin und her geschickt werden.  Nun muss ich noch zwei zusätzliche Domains verwalten, das realisiere ich mit virtual mailbox domains.
Ich habe die Virtuellen User in die Datenbank verfrachtet, da ich für diese Domains viele Accounts erwarte.  Wenn ich mich zum postfix verbinde, kriege ich im log folgende Fehlermeldung:

Dec  3 17:48:32 noise postfix/smtpd[4744]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Ich komme per console als user postfix auf den sql-server rauf und kann auch daten ausgeben lassen.  Die Berechtigungen für den sock:

srwxrwxrwx 1 mysql mysql 0 2007-12-03 15:11 mysqld.sock

inhalt in der main.cf:

virtual_mailbox_domains =/etc/postfix/virtual_mailbox_domain_map
virtual_uid_maps            = /etc/postfix/virtual_mailbox_uid_map
virtual_gid_maps            = $virtual_uid_maps
virtual_mailbox_base     = /var/spool/virtual_mailboxes
virtual_mailbox_maps    = mysql:/etc/postfix/sql/virtual_mailbox_recipients.cf      <--------

Es werden insgesamt 3 domains verwaltet, davon stehen zwei als virtuelle in der virtual_mailbox_domains.  Die gid/uid habe ich für die beiden domains in der virtual_uid_maps gesetzt per "@domain.xxx  100x" gesetzt.

in der virtual_mailbox_maps steht folgendes:

user = xxx
password = xxx
hosts = localhost
dbname = mail
table = virtual_users
query = SELECT virtual_mailbox FROM virtual_users WHERE email = '%s' AND active = '1'

postmap -q gibt über die map auch daten aus der db raus, nur postmap packt es nicht. Hat vielleicht jemand einen tip, wo ich noch nachgucken könnte?


----------



## softice (3. Dezember 2007)

Hallo Leute!  Aalso, ein Problem scheint das hier zu sein.. 




> 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:
> 
> 
> ...



.. was aber auch nicht funktioniert, weil hardlinks nicht filesystemübergreifend benutzt werden kann, dann kommt nämlich ein invalid cross-device fehler -.-

Ich bleibe am ball; wenn wer parallel noch was wissen will, oder ich zu wenig infos gegeben hab - ihr Anmerkungen oder sonstiges habt, bin ich euch sehr dankbar )


----------



## softice (3. Dezember 2007)

Ich bin gerade dabei, die Logs noch einmal zu durchforsten, ich poste einfach mal die inhalte.. vielleicht hat jemand die zündende idee 



> 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
> ...




so far

gruß softi

edit:  ich habe vergessen zu sagen, wenn die virtuellen recipient maps in statischen maps sind, funktioniert es.  Wie die Datenbankverbindung laufen soll, ist mir leider immer noch ein Rätsel.


----------

