workaround.org ISP Tutorial - Fehler nach "postfix relo

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
h@nnib@l
Posts: 22
Joined: 2003-10-23 19:27

workaround.org ISP Tutorial - Fehler nach "postfix relo

Post by h@nnib@l » 2005-01-20 11:30

Hallo!

Ich gehe schritt für schritt nach folgendem Tutorial vor:
http://www.workaround.org/articles/ispmail/

Jetzt hat sich aber irgendwie ein Fehlerteufel eingeschlichen!

Also in der "mail.log" steht nach "postfix reload" folgendes drin:
Jan 20 12:10:51 Zeus postfix/postfix-script: refreshing the Postfix mail system
Jan 20 12:10:51 Zeus postfix/master[453]: reload configuration
Jan 20 12:10:51 Zeus postfix/pickup[3480]: warning: 76AF5C92C0: message has been queued for 1 days
Jan 20 12:10:51 Zeus postfix/pickup[3480]: 76AF5C92C0: uid=0 from=<root>
Jan 20 12:10:51 Zeus postfix/trivial-rewrite[3483]: warning: connect to mysql server 192.168.2.102: Host hat keine Berechtigung, eine Verbindung zu diesem MySQL Server herzustellen.
Jan 20 12:10:51 Zeus postfix/cleanup[3481]: warning: connect to mysql server 192.168.2.102: Host hat keine Berechtigung, eine Verbindung zu diesem MySQL Server herzustellen.
Jan 20 12:10:51 Zeus postfix/cleanup[3481]: warning: 76AF5C92C0: virtual_alias_maps map lookup problem for root@meinName@meineDomain.de
Jan 20 12:10:51 Zeus postfix/pickup[3480]: warning: maildrop/9BE8B10133: Error writing message file
Jan 20 12:10:51 Zeus postfix/pickup[3480]: warning: 7CE94C92C0: message has been queued for 1 days
Jan 20 12:10:51 Zeus postfix/pickup[3480]: 7CE94C92C0: uid=0 from=<root>
Jan 20 12:10:51 Zeus postfix/cleanup[3481]: 7CE94C92C0: message-id=<20050119052502.7CE94C92C0@localhost>
Jan 20 12:10:51 Zeus postfix/cleanup[3481]: warning: 7CE94C92C0: virtual_alias_maps map lookup problem for user@meinName@meineDomain.de
Als erstes finde ich es sehr komisch, dass der Host keine Berechtigung hat auf den MySQL Server zuzugreifen!
Auf diesem Host läuft nämlich der MySQL Server!
Und was das andere Zeug bedeuten soll weiss ich nicht! ;)

Weiss von euch jemand weiter?

willi
Posts: 24
Joined: 2004-10-26 10:28

Re: workaround.org ISP Tutorial - Fehler nach "postfix relo

Post by willi » 2005-01-20 12:38

Jan 20 12:10:51 Zeus postfix/cleanup[3481]: warning: connect to mysql server 192.168.2.102: Host hat keine Berechtigung, eine Verbindung zu diesem MySQL Server herzustellen
Ist aber kein Rootserver im Internet, oder? Diese IP-Bereiche werden lokal verwendet. Falls doch den Rootie prüfen.

Oder versuchst du gerade extern auf die DB zuzugreifen? (externer Zugriff freigegeben?)

h@nnib@l
Posts: 22
Joined: 2003-10-23 19:27

Re: workaround.org ISP Tutorial - Fehler nach "postfix relo

Post by h@nnib@l » 2005-01-20 12:55

willi wrote:
Jan 20 12:10:51 Zeus postfix/cleanup[3481]: warning: connect to mysql server 192.168.2.102: Host hat keine Berechtigung, eine Verbindung zu diesem MySQL Server herzustellen
Ist aber kein Rootserver im Internet, oder? Diese IP-Bereiche werden lokal verwendet. Falls doch den Rootie prüfen.

Oder versuchst du gerade extern auf die DB zuzugreifen? (externer Zugriff freigegeben?)
Jo das hab ich vergessen zu schreiben.
Es ist mein Desktop System hier aufdem ich sozusagen erstmal nen root server installieren will bevor ich mir einen im Internet anmiete.

Und der Zugriff erfolgt local (wenn ich "postfix reload" mache).
Ich bin als "user" in Gnome und als "su" in der konsole unterwegs :D

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: workaround.org ISP Tutorial - Fehler nach "postfix relo

Post by Roger Wilco » 2005-01-20 17:45

Hat der Benutzer wirklich alle notwendigen Rechte? Darf er vielleicht nur von localhost aus eine Verbindung aufbauen?

h@nnib@l
Posts: 22
Joined: 2003-10-23 19:27

Re: workaround.org ISP Tutorial - Fehler nach "postfix relo

Post by h@nnib@l » 2005-01-20 18:54

Roger Wilco wrote:Hat der Benutzer wirklich alle notwendigen Rechte? Darf er vielleicht nur von localhost aus eine Verbindung aufbauen?
Ich nehme es schon schwer an...
Kann ich das in phpmyadmin überprüfen?
Oder wo schau ich das nach?

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: workaround.org ISP Tutorial - Fehler nach "postfix relo

Post by Roger Wilco » 2005-01-20 19:27

H@nnib@l wrote:Kann ich das in phpmyadmin überprüfen?
Oder wo schau ich das nach?
In phpMyAdmin kannst du das unter "Rechte" überprüfen.

h@nnib@l
Posts: 22
Joined: 2003-10-23 19:27

Re: workaround.org ISP Tutorial - Fehler nach "postfix relo

Post by h@nnib@l » 2005-01-20 21:19

Roger Wilco wrote:
H@nnib@l wrote:Kann ich das in phpmyadmin überprüfen?
Oder wo schau ich das nach?
In phpMyAdmin kannst du das unter "Rechte" überprüfen.
Jo dort schaut es wie folgt aus:
http://www.h4nnib4l.de/bilder/phpmyadmin.jpg

Also der Benutzer mit dem ich mich an der GUI (Gnome) anmelde ist dort nicht aufgeführt!
Aber wenn ich in der Konsole bin und "postfix reload" mache bin ich immer als root drin!
In den Configurationsdateien habe ich auch überall "root" und als Passwort das vom root drin (natürlich nur für root lesbar diese dateien!)!

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: workaround.org ISP Tutorial - Fehler nach "postfix relo

Post by Roger Wilco » 2005-01-20 22:06

H@nnib@l wrote:Also der Benutzer mit dem ich mich an der GUI (Gnome) anmelde ist dort nicht aufgeführt!
Systembenutzer != MySQL-Benutzer

MySQL hat ein eigenes Rechtesystem, das hat mit den Systembenutzern nichts zu tun.
H@nnib@l wrote:In den Configurationsdateien habe ich auch überall "root" und als Passwort das vom root drin (natürlich nur für root lesbar diese dateien!)!
Hast du dort auch das Passwort des MySQL-Benutzers root und nicht von dem gleichnamigen Systembenutzer eingetragen?
Wie denn z. B. mysql-virtual_domains.cf konkret bei dir aus? (Passwort kannst du ja unkenntlich machen, den Rest bitte nicht)

h@nnib@l
Posts: 22
Joined: 2003-10-23 19:27

Re: workaround.org ISP Tutorial - Fehler nach "postfix relo

Post by h@nnib@l » 2005-01-21 09:52

Roger Wilco wrote:
H@nnib@l wrote:Also der Benutzer mit dem ich mich an der GUI (Gnome) anmelde ist dort nicht aufgeführt!
Systembenutzer != MySQL-Benutzer

MySQL hat ein eigenes Rechtesystem, das hat mit den Systembenutzern nichts zu tun.
Jo das ist mir schon klar, aber ich dachte dass es wichtig ist mit welchem Benutzer ich den "postfix reload" aufrufe was aber nicht der Fall ist ;)
Roger Wilco wrote:
H@nnib@l wrote:In den Configurationsdateien habe ich auch überall "root" und als Passwort das vom root drin (natürlich nur für root lesbar diese dateien!)!
Hast du dort auch das Passwort des MySQL-Benutzers root und nicht von dem gleichnamigen Systembenutzer eingetragen?
Wie denn z. B. mysql-virtual_domains.cf konkret bei dir aus? (Passwort kannst du ja unkenntlich machen, den Rest bitte nicht)
Also meine "mysql-virtual_domains.cf" sieht so aus:

Code: Select all

user = root
password = *********
dbname = provider
table = domains
select_field = 'virtual'
where_field = domain
hosts = 192.168.2.102
Der user "root" ist wie du siehst auch in MySQL angelegt und das PW stimmt auch!
In dem Tutorial steht ja, dass ich bei "hosts" nicht "localhost" eintragen soll, da Postfix ja chroot'ed läuft und sonst nix finden würd...

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: workaround.org ISP Tutorial - Fehler nach "postfix relo

Post by Roger Wilco » 2005-01-21 14:43

H@nnib@l wrote:Also meine "mysql-virtual_domains.cf" sieht so aus:

Code: Select all

user = root
password = *********
dbname = provider
table = domains
select_field = 'virtual'
where_field = domain
hosts = 192.168.2.102
Der user "root" ist wie du siehst auch in MySQL angelegt und das PW stimmt auch!
In dem Tutorial steht ja, dass ich bei "hosts" nicht "localhost" eintragen soll, da Postfix ja chroot'ed läuft und sonst nix finden würd...
Wenn der MySQL-Server auf dem selben Rechner läuft, dann trage als host 127.0.0.1 ein. Somit müsste der Server auch nicht für alle erreichbar auf der "externen" IP-Adresse lauschen.

thrawn1024
Posts: 47
Joined: 2004-09-04 21:36

Re: workaround.org ISP Tutorial - Fehler nach "postfix relo

Post by thrawn1024 » 2005-01-21 17:32

es funzt auch wunderbar mit einem "localhost", wenn man innerhalb der chroots von postfix einen hardlink auf den mysql socket macht..

das ganze noch ins start script eingefügt und es geht auch beim nächsten neustart noch :)

h@nnib@l
Posts: 22
Joined: 2003-10-23 19:27

Re: workaround.org ISP Tutorial - Fehler nach "postfix relo

Post by h@nnib@l » 2005-01-21 18:37

Roger Wilco wrote:
H@nnib@l wrote:Also meine "mysql-virtual_domains.cf" sieht so aus:

Code: Select all

user = root
password = *********
dbname = provider
table = domains
select_field = 'virtual'
where_field = domain
hosts = 192.168.2.102
Der user "root" ist wie du siehst auch in MySQL angelegt und das PW stimmt auch!
In dem Tutorial steht ja, dass ich bei "hosts" nicht "localhost" eintragen soll, da Postfix ja chroot'ed läuft und sonst nix finden würd...
Wenn der MySQL-Server auf dem selben Rechner läuft, dann trage als host 127.0.0.1 ein. Somit müsste der Server auch nicht für alle erreichbar auf der "externen" IP-Adresse lauschen.
Gesagt, getan ;)
Nun folgendes Problem:
mail.log wrote:Jan 21 19:35:57 Zeus postfix/trivial-rewrite[727]: warning: connect to mysql server 127.0.0.1: Keine Zugriffsberechtigung f?r Benutzer: 'root@Zeus'. (Verwendetes Passwort: Ja)
Jan 21 19:35:57 Zeus postfix/cleanup[725]: warning: connect to mysql server 127.0.0.1: Keine Zugriffsberechtigung f?r Benutzer: 'root@Zeus'. (Verwendetes Passwort: Ja)
thrawn1024 wrote:es funzt auch wunderbar mit einem "localhost", wenn man innerhalb der chroots von postfix einen hardlink auf den mysql socket macht..

das ganze noch ins start script eingefügt und es geht auch beim nächsten neustart noch
Jo doch diese Variante bringt etwaige Fehler mit (steht im Tutorial) aber Fehler hab ich mit der Tutorial-variante ja auch *g*
Ich probier dies mal, wenn du mir sagt wo ich das "Start-Script" finde *g*
So jetzt habe ich deine Variante mal versucht und bei allen mysql-virtaul_*.cf bei hosts "localhost" eingetragen und nen Hardlink von /var/run/mysqld/mysqld.sock" ins "/var/spool/postfix/" gemacht und nen "postfix reload" gemacht und nun folgendes:
Mail.log wrote:Jan 21 20:25:19 Zeus postfix/trivial-rewrite[875]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Jan 21 20:25:19 Zeus postfix/cleanup[874]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

h@nnib@l
Posts: 22
Joined: 2003-10-23 19:27

Re: workaround.org ISP Tutorial - Fehler nach "postfix relo

Post by h@nnib@l » 2005-01-22 16:21

Soll ich mal die relevanten Config-Daten posten?

jasa
Posts: 14
Joined: 2003-03-20 17:40

Re: workaround.org ISP Tutorial - Fehler nach "postfix relo

Post by jasa » 2005-01-23 01:51

hiho... hatte letztes wochenende das selbe problem. hiermit hab ich`s gelöst:
First, you have to configure postfix to connect to mysql database which is installed via phpmywebhosting.

First of all an important note (thanks to Ulrich Hammer). Remember that Postfix runs in a chroot environment. Thus it would not be able to access MySQL's socket file at /var/run/mysqld/mysqld.sock. There are two ways to work around this:
Mario Duve (et al) propose an addition to the start section of /etc/init.d/postfix like this:

if [ -e /var/spool/postfix/var/run/mysqld/mysqld.sock ]; then
rm /var/spool/postfix/var/run/mysqld/mysqld.sock
fi

mkdir -p /var/spool/postfix/var/run/mysqld
chown mysql /var/spool/postfix/var/run/mysqld
ln /var/run/mysqld/mysqld.sock /var/spool/postfix/var/run/mysqld/mysqld.sock


In case of power failure postfix won't start working because the socket of mysql is not valid. To prevent this edit /etc/init.d/postfix and add the above lines in the start section under echo -n "Starting mail transport agent: Postfix". Result is:

case "$1" in
start)
echo -n "Starting mail transport agent: Postfix"
if [ -e /var/spool/postfix/var/run/mysqld/mysqld.sock ]; then
rm /var/spool/postfix/var/run/mysqld/mysqld.sock
fi
mkdir -p /var/spool/postfix/var/run/mysqld
chown mysql /var/spool/postfix/var/run/mysqld
ln /var/run/mysqld/mysqld.sock /var/spool/postfix/var/run/mysqld/mysqld.sock

# see if anything is running chrooted.
[...]


Also take care, that postfix is started after mysql. Check it with the following command:

bash #> ls /etc/rc$(grep initdefault /etc/inittab | cut -d: -f2).d/ | grep -E "(postfix|mysql)"
S20mysql
S20postfix
bash #>


If it is like above, everything is alright. If not, delete the links in /etc/rc{runlevel}.d/ and create them new.
event. kannst du damit ja was anfangen

greeetz... Jasa

h@nnib@l
Posts: 22
Joined: 2003-10-23 19:27

Re: workaround.org ISP Tutorial - Fehler nach "postfix relo

Post by h@nnib@l » 2005-01-24 11:31

Jasa wrote:hiho... hatte letztes wochenende das selbe problem. hiermit hab ich`s gelöst:
[...]
event. kannst du damit ja was anfangen
Danke für den Tipp doch bei mir klappt das leider nicht!

Ich poste jetzt einfach mal die relevanten Dateien:
"/etc/postfix/main.cf"

Code: Select all

# See /usr/share/postfix/main.cf.dist for a commented, more complete version

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

myhostname = localhost
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = Zeus, localhost.localdomain, localhost
relayhost = 
mynetworks = 127.0.0.0/8, 192.168.2.0/8
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
myorigin = /etc/mailname
transport_maps = mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_maps = mysql:/etc/postfix/mysql-virtual_forwardings.cf mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_domains.cf mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /home/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_relay_domains
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
"/etc/postfix/mysql_virtual-domains.cf"

Code: Select all

user = root
password = ******
dbname = provider
table = domains
select_field = 'virtual'
where_field = domain
hosts = localhost
"/etc/postfix/mysql_virtual-email2email.cf"

Code: Select all

user = root
password = ******
dbname = provider
table = users
select_field = email
where_field = email
hosts = localhost
"/etc/postfix/mysql_virtual-forwardings.cf"

Code: Select all

user = root
password = ******
dbname = provider
table = forwardings
select_field = destination
where_field = source
hosts = localhost
"/etc/postfix/mysql_virtual-mailboxes.cf"

Code: Select all

user = root
password = ******
dbname = provider
table = users
select_field = concat(email,'/')
where_field = email
hosts = localhost
"/etc/mysql/my.cnf"

Code: Select all

# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "/var/lib/mysql/my.cnf" to set server-specific options or
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
[client]
#password	= my_password
port		= 3306
socket		= /var/run/mysqld/mysqld.sock

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket		= /var/run/mysqld/mysqld.sock
nice		= 0

[mysqld]
user		= mysql
pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
port		= 3306
# Both location gets rotated by the cronjob.
#log		= /var/log/mysql.log
log		= /var/log/mysql/mysql.log
basedir		= /usr
datadir		= /var/lib/mysql
tmpdir		= /tmp
language	= /usr/share/mysql/german
skip-external-locking
#
# The skip-networking option will no longer be set via debconf menu.
# You have to manually change it if you want networking i.e. the server
# listening on port 3306. The default is "disable" - for security reasons.
skip-networking
key_buffer		= 16M
max_allowed_packet	= 16M
thread_stack		= 128K
#
# Query Cache Configuration
#
query_cache_limit	= 1048576
query_cache_size        = 26214400
query_cache_type        = 1
#
# Here you can see queries with especially long duration
#log-slow-queries	= /var/log/mysql/mysql-slow.log
#
# The following can be used as easy to replay backup logs or for replication
#server-id		= 1
#log-bin		= /var/log/mysql/mysql-bin.log
#binlog-do-db		= include_database_name
#binlog-ignore-db	= include_database_name
#
# Read the manual if you want to enable InnoDB!
skip-innodb
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# If you want to enable SSL support (recommended) read the manual or my
# HOWTO in /usr/share/doc/mysql-server/SSL-MINI-HOWTO.txt
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem

[mysqldump]
quick
quote-names
max_allowed_packet	= 16M

[mysql]
#no-auto-rehash	# faster start of mysql but no tab completition

[isamchk]
key_buffer		= 16M
Falls ich noch eine Datei posten soll sagt es einfach :D
Also ich bin strikt nach workaround.org ISP Tutorial vorgegangen... :!: :?: