Postfix - Hilfe!!
Hallo, ich schon wieder. ;-) Komme irgendwie wieder mal komplett nicht weiter. Vielleicht könnt Ihr mir einen Hinweis oder kleinen Tipp geben? Vielen Dank Hier meine Fehlermeldung die mich nicht weiter bringt: postfix/trivial-rewrite[27954]: fatal: mysql:/etc/postfix/mysql-virtual.cf(0,100): table lookup problem die Datei sieht folgendermaßen aus: # # mysql config file for alias lookups on postfix # comments are ok. # # the user name and password to log into the mysql server hosts=localhost user=1000mail password=mail234ze # the database name on the servers dbname=1000mail # the table name table=virtual # select_field=dest where_field=alias additional_conditions = and status = '1' Mit den obigen Zugangsdaten komme ich bei MySQL einwandfrei rein. Wie kann ich dem Problem auf den Grund gehen? Hat irgendjemand Vorschläge? Google tippt auf falsche Zugangsdaten oder nicht ausreichende Rechte in der DB, allerdings kann ich mit den Zugangsdaten einwandfrei mit MySql auf der Konsole arbeiten. Viele Grüße Michael -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Michael Post wrote:
Hallo,
ich schon wieder. ;-)
Komme irgendwie wieder mal komplett nicht weiter. Vielleicht könnt Ihr mir einen Hinweis oder kleinen Tipp geben?
Vielen Dank
Hier meine Fehlermeldung die mich nicht weiter bringt:
postfix/trivial-rewrite[27954]: fatal: mysql:/etc/postfix/mysql-virtual.cf(0,100): table lookup problem
die Datei sieht folgendermaßen aus:
# # mysql config file for alias lookups on postfix # comments are ok. (...)
Hmm die Datei sieht so auf den ersten Blick OK aus Versuch doch mal mysql mitloggen zu lassen, dann siehste bis wohin dass es klappt ! Zeile log=/var/log/mysqld.log oder so in /etc/my.cnf aktivieren... Grüsse Matti -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Michael Post wrote:
Hallo,
ich schon wieder. ;-)
Komme irgendwie wieder mal komplett nicht weiter. Vielleicht könnt Ihr mir einen Hinweis oder kleinen Tipp geben?
Vielen Dank
Hier meine Fehlermeldung die mich nicht weiter bringt:
postfix/trivial-rewrite[27954]: fatal: mysql:/etc/postfix/mysql-virtual.cf(0,100): table lookup problem
die Datei sieht folgendermaßen aus:
# # mysql config file for alias lookups on postfix # comments are ok. #
# the user name and password to log into the mysql server hosts=localhost user=1000mail password=mail234ze
# the database name on the servers dbname=1000mail
# the table name table=virtual
# select_field=dest where_field=alias additional_conditions = and status = '1'
Mit den obigen Zugangsdaten komme ich bei MySQL einwandfrei rein. Wie kann ich dem Problem auf den Grund gehen? Hat irgendjemand Vorschläge? Google tippt auf falsche Zugangsdaten oder nicht ausreichende Rechte in der DB, allerdings kann ich mit den Zugangsdaten einwandfrei mit MySql auf der Konsole arbeiten.
Welche Version von Postfix? postconf mail_version Wurde Postfix mit MySQL-Unterstützung kompiliert? postconf -m Ist in der master.cf trivial-rewrite im chroot? Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Hallo Sandy, Sandy Drobic schrieb:
Welche Version von Postfix? postconf mail_version
damals habe ich - unter anderem mit Deiner Unterstützung - das System lokal unter SuSE 9.3 installiert und auch wunschgemäß ans Laufen gebracht. Jetzt versuche ich das System eigentlich *nur* identisch auf einem SuSE10.0-System zu installieren. Gleiche Optionen, etc. Ich habe Postfix 2.2.10 eingesetzt. Ich habe es mit make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql-4/include -DHAS_PCRE -DUSE_SASL_AUTH -I/usr/include/sasl -DUSE_CYRUS_SASL -I/usr/include/sasl -DHAS_SSL -I/usr/include/ssl -DUSE_TLS -I/usr/include/ssl ' 'AUXLIBS=-L/usr/local/mysql-4/lib -lmysqlclient -lz -lm -lpcre -lsasl2 -lssl -lcrypto' kompiliert und auch mit make und make install installiert. Postfix von Yast habe ich sofort vorher deinstalliert. SASL (-devel) sind installiert. pam-mysql ist installiert vom Sourceforge-Server.
Wurde Postfix mit MySQL-Unterstützung kompiliert? postconf -m
beta:~/installedSoftware/postfix # postconf -m btree cidr environ hash mysql nis pcre proxy regexp static unix
Ist in der master.cf trivial-rewrite im chroot?
beta:/etc/postfix # cat master.cf | grep trivial rewrite unix - - n - - trivial-rewrite Viele Grüße Michael PS: Braucht Ihr noch Angaben? -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Michael Post wrote:
Hallo Sandy,
Sandy Drobic schrieb:
Welche Version von Postfix? postconf mail_version
damals habe ich - unter anderem mit Deiner Unterstützung - das System lokal unter SuSE 9.3 installiert und auch wunschgemäß ans Laufen gebracht. Jetzt versuche ich das System eigentlich *nur* identisch auf einem SuSE10.0-System zu installieren.
Gleiche Optionen, etc.
Ich habe Postfix 2.2.10 eingesetzt. Ich habe es mit
make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql-4/include -DHAS_PCRE -DUSE_SASL_AUTH -I/usr/include/sasl -DUSE_CYRUS_SASL
Diese Option wird eigentlich erst von Version 2.3 unterstützt, sollte aber beim Kompilieren nur ignoriert werden.
-I/usr/include/sasl -DHAS_SSL -I/usr/include/ssl -DUSE_TLS -I/usr/include/ssl ' 'AUXLIBS=-L/usr/local/mysql-4/lib -lmysqlclient -lz -lm -lpcre -lsasl2 -lssl -lcrypto'
kompiliert und auch mit make und make install installiert. Postfix von Yast habe ich sofort vorher deinstalliert. SASL (-devel) sind installiert. pam-mysql ist installiert vom Sourceforge-Server.
Wurde Postfix mit MySQL-Unterstützung kompiliert? postconf -m
beta:~/installedSoftware/postfix # postconf -m btree cidr environ hash mysql
Okay.
nis pcre proxy regexp static unix
Ist in der master.cf trivial-rewrite im chroot?
beta:/etc/postfix # cat master.cf | grep trivial rewrite unix - - n - - trivial-rewrite
Auch gut. Mit Postfix 2.2 solltest du auch besser die vorgeschlagene Version der Abfrage nehmen: /etc/postfix/mysql_alias.cf: # the user name and password to log into the mysql server hosts=localhost user=1000mail password=mail234ze # the database name on the servers dbname=1000mail # the table name #table=virtual # #select_field=dest #where_field=alias #additional_conditions = and status = '1' query = SELECT dest FROM virtual WHERE alias='%s' and status = '1' Dann mache doch mal einen Test mit postmap: postmap -q virusalert mysql:/etc/postfix/mysql_testalias.cf Nimm bitte den kompletten Pfad bei der *.cf! Wenn es hier Probleme gibt, dann kannst du notfalls mit -v die Ausgabe von postmap detaillierter setzen. Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Hallo Sandy, Sandy Drobic schrieb:
Michael Post wrote:
Diese Option wird eigentlich erst von Version 2.3 unterstützt, sollte aber beim Kompilieren nur ignoriert werden.
Alles klar. Ich habe es geändert. Verwende jetzt V2.3. Manchmal bin ich blind. Hole mir doch sonst immer die aktuelle stable-Version. Danke für den Hinweis.
Mit Postfix 2.2 solltest du auch besser die vorgeschlagene Version der Abfrage nehmen:
/etc/postfix/mysql_alias.cf: # the user name and password to log into the mysql server hosts=localhost user=1000mail password=mail234ze
# the database name on the servers dbname=1000mail
# the table name #table=virtual # #select_field=dest #where_field=alias #additional_conditions = and status = '1'
query = SELECT dest FROM virtual WHERE alias='%s' and status = '1'
Dann mache doch mal einen Test mit postmap: postmap -q virusalert mysql:/etc/postfix/mysql_testalias.cf
Nimm bitte den kompletten Pfad bei der *.cf! Wenn es hier Probleme gibt, dann kannst du notfalls mit -v die Ausgabe von postmap detaillierter setzen. beta:~/installedSoftware/postfix/postfix-2.3.0 # postmap -q virusalert mysql:/etc/postfix/mysql-virtual.cf
Er nimmt jetzt alles wie er soll. Kann zwar noch nicht schicken, aber dass liegt an der falschen Socket. postmap: warning: connect to mysql server localhost:3306: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) Das ist ok. Muss aber noch behoben werden. Jetzt aktuelle Baustelle. Wo kann ich die Socket ändern, die Postfix bei der Verbindung nutzen möchte? Vielen Dank Michael -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Michael Post wrote:
query = SELECT dest FROM virtual WHERE alias='%s' and status = '1'
Er nimmt jetzt alles wie er soll. Kann zwar noch nicht schicken, aber dass liegt an der falschen Socket.
Okay.
Dann mache doch mal einen Test mit postmap: postmap -q virusalert mysql:/etc/postfix/mysql_testalias.cf
Nimm bitte den kompletten Pfad bei der *.cf! Wenn es hier Probleme gibt, dann kannst du notfalls mit -v die Ausgabe von postmap detaillierter setzen. beta:~/installedSoftware/postfix/postfix-2.3.0 # postmap -q virusalert mysql:/etc/postfix/mysql-virtual.cf postmap: warning: connect to mysql server localhost:3306: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Das ist ok. Muss aber noch behoben werden. Jetzt aktuelle Baustelle.
Wo kann ich die Socket ändern, die Postfix bei der Verbindung nutzen möchte?
Das solltest du in /etc/my.cnf mal prüfen: # The following options will be passed to all MySQL clients [client] #password = your_password port = 3306 socket = /var/lib/mysql/mysql.sock Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Sandy Drobic schrieb:
Michael Post wrote:
Okay.
Das solltest du in /etc/my.cnf mal prüfen:
# The following options will be passed to all MySQL clients [client] #password = your_password port = 3306 socket = /var/lib/mysql/mysql.sock Wo die Socket liegt weiss ich. /tmp/mysql4.sock
So ist es auch in der my.cnf eingetragen. Allerdings liegt diese my.cnf-Datei auch nicht unter /etc sondern ganz woanders. MySQL ist richtig konfiguriert und arbeitet auch mit der andern my.cnf, welche NICHT in /etc liegt. Also jetzt meine Frage: Wo kann ich Postfix sagen, wo er die Socket auslesen soll. Glaube nicht, dass /vtmp/mysql.sock fest verdrahtet ist. Viele Grüße Michael -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Michael Post wrote:
Sandy Drobic schrieb:
Michael Post wrote:
Okay.
Das solltest du in /etc/my.cnf mal prüfen:
# The following options will be passed to all MySQL clients [client] #password = your_password port = 3306 socket = /var/lib/mysql/mysql.sock Wo die Socket liegt weiss ich. /tmp/mysql4.sock
So ist es auch in der my.cnf eingetragen. Allerdings liegt diese my.cnf-Datei auch nicht unter /etc sondern ganz woanders. MySQL ist richtig konfiguriert und arbeitet auch mit der andern my.cnf, welche NICHT in /etc liegt.
Also jetzt meine Frage: Wo kann ich Postfix sagen, wo er die Socket auslesen soll.
Glaube nicht, dass /vtmp/mysql.sock fest verdrahtet ist.
IMHO ist der einzige Ort, wo der Socket festgelegt ist, in der my.cnf. Wo diese liegt, kann Postfix nicht wissen. Die einzige andere Möglichkeit ist die header-Datei für mysql: /usr/include/mysql/mysql_version.h: #define MYSQL_UNIX_ADDR "/var/lib/mysql/mysql.sock" Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Hallo Sandy, Sandy Drobic schrieb:
Michael Post wrote:
IMHO ist der einzige Ort, wo der Socket festgelegt ist, in der my.cnf. Wo diese liegt, kann Postfix nicht wissen. Die einzige andere Möglichkeit ist die header-Datei für mysql:
/usr/include/mysql/mysql_version.h: #define MYSQL_UNIX_ADDR "/var/lib/mysql/mysql.sock" Oh. Dann muss ich mysql neu compilieren. Aber Rober Kunde hat mir nun einen Weg genannt die Socket anzugeben in Postfix.
host = unix:[absoluterPfad zur socket] Das ist eine feine Sache. Jetzt funktioniert die Kommunikation zw. beiden. Habe jetzt zwar noch einen SASL - Fehler, aber den muss ich mir erst einmal im Detail anschauen. Viele Grüße und vielen Dank Michael -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
participants (3)
-
Matthias Keller
-
Michael Post
-
Sandy Drobic