Mailserver Howto auf www.workaround.org - Debian Sarge

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
darkiop
Beiträge: 144
Registriert: 29.01.2004 20:12:23

Mailserver Howto auf www.workaround.org - Debian Sarge

Beitrag von darkiop » 16.09.2004 00:42:08

Ich hab meinen Mailserver nach einiges Tipps hier im Forum anhand des HowTo's auf http://www.workaround.org (Debian Sarge) neu aufgesetzt.

Die Tests während des HowTo's verliefen immer positiv.

Bin jetzt bei Step9 angelangt und hier auf Probleme gestoßen:

Der Test: "telnet servername 25" schlug fehl, nach dem 2.ten Arbeitsschritt (mail from:<test@workaround.org>) bekomme ich keine Antwort mehr.

Im Logfile steht folgendes:

Code: Alles auswählen

Sep 16 00:39:19 simian postfix/trivial-rewrite[5957]: warning: connect to mysql server 192.168.0.252: Can't connect to MySQL server on '192.168.0.252' (111)
Sep 16 00:39:19 simian postfix/trivial-rewrite[5957]: fatal: mysql:/etc/postfix/mysql-virtual_domains.cf(0,100): table lookup problem
Sep 16 00:39:20 simian postfix/smtpd[5580]: warning: premature end-of-input on private/rewrite socket while reading input attribute name
Sep 16 00:39:20 simian postfix/smtpd[5580]: warning: problem talking to service rewrite: Success
Sep 16 00:39:20 simian postfix/master[5167]: warning: process /usr/lib/postfix/trivial-rewrite pid 5957 exit status 1
Sep 16 00:39:20 simian postfix/master[5167]: warning: /usr/lib/postfix/trivial-rewrite: bad command startup -- throttling
Als User für die MySQL Datenbank habe ich in den entsprechenden Files zu testzwecken den Root User und einen speziell für den Mailserver angelegten "postfix"-User getestet. Bei beiden kommt dieselbe Fehlermeldung.


Wo muss ich den Fehler suchen?

ahoi
Beiträge: 14
Registriert: 20.04.2004 19:06:14

Beitrag von ahoi » 16.09.2004 08:42:07

Hi,
Sep 16 00:39:19 simian postfix/trivial-rewrite[5957]: warning: connect to mysql server 192.168.0.252: Can't connect to MySQL server on '192.168.0.252' (111)
Der Mysql Server wird nicht gefunden.
Was steht den in deiner my.cnf bzg. "skip-networking" bzw. uU "bind-adress" ?

darkiop
Beiträge: 144
Registriert: 29.01.2004 20:12:23

Beitrag von darkiop » 16.09.2004 08:55:25

Code: Alles auswählen

#
# 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      = 1M
thread_stack            = 128K
#
Bzgl. bind-adress steht in der my.cnf nichts.

Edit: Habs testweise auskommentiert = Gleicher Fehler:

Code: Alles auswählen

Sep 16 09:00:50 simian authdaemond.mysql: failed to connect to mysql server (server=192.168.0.252, userid=root)
userid=root --> Hab es mit dem Root-User versucht und mit einem postfix-user

Das ist meine authmysqlrc:

Code: Alles auswählen

MYSQL_SERVER            192.168.0.252
MYSQL_USERNAME          root
MYSQL_PASSWORD          *******
#MYSQL_SOCKET           /var/run/mysqld/mysqld.sock
MYSQL_PORT              0
MYSQL_OPT               0
MYSQL_DATABASE          provider
MYSQL_USER_TABLE        users
#MYSQL_CRYPT_PWFIELD    crypt
MYSQL_CLEAR_PWFIELD     password
#DEFAULT_DOMAIN         example.com
MYSQL_UID_FIELD         5000
MYSQL_GID_FIELD         5000
MYSQL_LOGIN_FIELD       email
MYSQL_HOME_FIELD        /home/vmail
#MYSQL_NAME_FIELD       name
MYSQL_MAILDIR_FIELD     concat(email,'/')


#MYSQL_DEFAULTDELIVERY defaultdelivery
#MYSQL_QUOTA_FIELD      quota
#MYSQL_AUXOPTIONS_FIELD auxoptions
#MYSQL_WHERE_CLAUSE     server='mailhost.example.com'
#MYSQL_SELECT_CLAUSE    SELECT CONCAT(popbox.local_part, '@', popbox.domain_name),                      \
#                       CONCAT('{MD5}', popbox.password_hash),          \
#                       popbox.clearpw,                                 \
#                       domain.uid,                                     \
#                       domain.gid,                                     \
#                       CONCAT(domain.path, '/', popbox.mbox_name),     \
#                       '',                                             \
#                       domain.quota,                                   \
#                       '',                                             \
#                       CONCAT("disableimap=",disableimap,",disablepop3=",    \
#                              disablepop3,",disablewebmail=",disablewebmail, \
#                              ",sharedgroup=",sharedgroup)             \
#                       FROM popbox, domain                             \
#                       WHERE popbox.local_part = '$(local_part)'       \
#                       AND popbox.domain_name = '$(domain)'            \
#                       AND popbox.domain_name = domain.domain_name
#MYSQL_ENUMERATE_CLAUSE SELECT CONCAT(popbox.local_part, '@', popbox.domain_name),                      \       
#                       domain.uid,                                     \
#                       domain.gid,                                     \
#                       CONCAT(domain.path, '/', popbox.mbox_name),     \
#                       ''                                              \
#                       FROM popbox, domain                             \
#                       WHERE popbox.local_part = '$(local_part)'       \
#                       AND popbox.domain_name = '$(domain)'            \
#                       AND popbox.domain_name = domain.domain_name
#MYSQL_CHPASS_CLAUSE    UPDATE  popbox                                  \
#                       SET     clearpw='$(newpass)',                   \
#                               password_hash='$(newpass_crypt)'        \
#                       WHERE   local_part='$(local_part)'              \
#                       AND     domain_name='$(domain)'
#

ahoi
Beiträge: 14
Registriert: 20.04.2004 19:06:14

Beitrag von ahoi » 16.09.2004 10:03:27

Sagt das mysql.log etwas? Könnte ein Login Problem sein.

darkiop
Beiträge: 144
Registriert: 29.01.2004 20:12:23

Beitrag von darkiop » 16.09.2004 10:34:04

Code: Alles auswählen

040916 10:32:10       7 Connect     Keine Zugriffsberechtigung für Benutzer: 'root@simian.eaglebase.homeip.net'. (Verwendetes Passwort: Ja)
Ja, das scheint es zu sein.

Die Domain "eaglebase.homeip.net" habe ich bei der Installation mal angegeben. Mittlerweile existiert paralell zu dieser noch die "freedom.tux".

Diese habe ich auf auf meinem Woody-Router mittels Bind9 eingerichtet.


Mit dem root user kann ich mich im phpmyadmin aber ohne Probleme einloggen und arbeiten.


Edit: Wenn ich "skip-networking" auskommentiere kommt der Zugriffsfehler, wenn ich es einschalte, dann nicht. Der Zugriff auf die Mailbox funktioniert aber trotzdem nicht.
Zuletzt geändert von darkiop am 16.09.2004 10:44:24, insgesamt 1-mal geändert.

mgr
Beiträge: 35
Registriert: 26.05.2004 09:51:59
Wohnort: Unterägeri, CH
Kontaktdaten:

Beitrag von mgr » 16.09.2004 10:43:33

hallo,

überprüfe mal, von welchen Hosts aus root auf die DB zugreiffen kann.
Oder noch besser :erstelle eine separaten mySQL Benutzer, der nur Berechtigung auf
deine Mail Datenbank hat. root mit passwort als klartext ein einem File zu haben
ist nicht so sinnvoll. Gib diesem User das recht von 127.0.0.1 und externe.ip.deines.server einzuloggen.
Das sollte eigentlich so klappen.

btw. : % im "host" feld in der mySQL User Tabelle, bedeutet nicht, dass er von localhostl einloggen kann

hth
gruss
mgr

darkiop
Beiträge: 144
Registriert: 29.01.2004 20:12:23

Beitrag von darkiop » 16.09.2004 10:47:21

mgr hat geschrieben:hallo,

überprüfe mal, von welchen Hosts aus root auf die DB zugreiffen kann.
Oder noch besser :erstelle eine separaten mySQL Benutzer, der nur Berechtigung auf
deine Mail Datenbank hat. root mit passwort als klartext ein einem File zu haben
ist nicht so sinnvoll. Gib diesem User das recht von 127.0.0.1 und externe.ip.deines.server einzuloggen.
Das sollte eigentlich so klappen.

btw. : % im "host" feld in der mySQL User Tabelle, bedeutet nicht, dass er von localhostl einloggen kann

hth
gruss
mgr

Code: Alles auswählen

root  	localhost  	Ja  	 ALL PRIVILEGES   	Ja  	Bearbeiten
	root 	simian 	Nein 	ALL PRIVILEGES 	Ja 	Bearbeiten
Das steht im phpmyadmin bei Root.

Den Zugriff mit dem Root-User habe ich nur zu testzwecken bis das System mal läuft. Einen User namens "postfix" habe ich schon gerichtet.


Für den postfix user reicht es doch aus wenn er nur "SELECT" als Recht hat, oder?

ahoi
Beiträge: 14
Registriert: 20.04.2004 19:06:14

Beitrag von ahoi » 16.09.2004 11:06:00

Für den postfix user reicht es doch aus wenn er nur "SELECT" als Recht hat, oder?
Ja.

darkiop
Beiträge: 144
Registriert: 29.01.2004 20:12:23

Beitrag von darkiop » 16.09.2004 11:18:39

ich habe jetzt in den Dateien:

-rw------- 1 daemon daemon 2.5K Sep 16 11:10 authmysqlrc
-rw-r--r-- 1 root postfix 133 Sep 16 11:11 mysql-virtual_domains.cf
-rw-r--r-- 1 root postfix 126 Sep 16 11:11 mysql-virtual_email2email.cf
-rw-r--r-- 1 root postfix 139 Sep 16 11:11 mysql-virtual_forwardings.cf
-rw-r--r-- 1 root postfix 138 Sep 16 11:11 mysql-virtual_mailboxes.cf

Den User auf postfix und den host auf "127.0.0.1" abgeändert.

Jetzt bekomme ich folgende Meldung im mysql.log

Code: Alles auswählen

040916 11:14:25      38 Connect     postfix@localhost on 
                     38 Init DB     provider
                     38 Query       SELECT email, "", password, 5000, 5000, /home/vmail, concat(email,'/'), "", "", "" FROM users WHERE email = "user@virtual.test"
                     38 Quit       
                     39 Connect     postfix@localhost on 
                     39 Init DB     provider
                     39 Query       SELECT email, "", password, 5000, 5000, /home/vmail, concat(email,'/'), "", "", "" FROM users WHERE email = "user@virtual.test"
                     39 Quit       
Damit scheint ja zumindest der MySQL Connect mal zu funktionieren.

Im mail.log steht jetzt folgendes:

Code: Alles auswählen

Sep 16 11:14:12 simian imapd-ssl: Connection, ip=[::ffff:192.168.0.1]
Sep 16 11:14:17 simian imapd-ssl: LOGIN FAILED, ip=[::ffff:192.168.0.1]
Sep 16 11:17:32 simian imaplogin: Connection, ip=[::ffff:192.168.0.1]
Sep 16 11:17:37 simian imaplogin: LOGIN FAILED, ip=[::ffff:192.168.0.1]
Sep 16 11:19:36 simian pop3d-ssl: Connection, ip=[::ffff:192.168.0.1]
Sep 16 11:19:45 simian pop3d-ssl: LOGIN FAILED, ip=[::ffff:192.168.0.1]
Es macht also auch keinen Unterschied ob ich mit oder ohne SSL , mit pop oder imap connecten will.

mgr
Beiträge: 35
Registriert: 26.05.2004 09:51:59
Wohnort: Unterägeri, CH
Kontaktdaten:

Beitrag von mgr » 16.09.2004 11:21:36

hi,

select reicht für den postfix user

trage mal beim 2ten root user im host feld "simian.eaglebase.homeip.net" ein

falls das auch nicht klappt, dann versucht mit der externen IP deines Server,
bzw. mit der IP die du in authmysqlrc eingetragen hast

skip-networking muss in der my.cnf auskommentiert sein, da du ja per IP und nicht über einen socket verbindest (mySQL Server neu starten)

gruss
mgr

mgr
Beiträge: 35
Registriert: 26.05.2004 09:51:59
Wohnort: Unterägeri, CH
Kontaktdaten:

Beitrag von mgr » 16.09.2004 11:26:15

gibts denn "user@virtual.test" in der DB ?

darkiop
Beiträge: 144
Registriert: 29.01.2004 20:12:23

Beitrag von darkiop » 16.09.2004 11:30:05

Ja:

Code: Alles auswählen

 
email   	  PASSWORD
user@virtual.test 	secret
und die Domain ist auch in der Tabelle "domains" eingetragen:

Code: Alles auswählen

virtual.test
Ich hab jetzt noch einen postfix user mit 192.168.0.252 als Host im phpmyadmin angelegt. Jetzt funktioniert der MySQL Connect logischerweise auch mit der 192.168.0.252 und nicht nur mit der 127.0.0.1.

mgr
Beiträge: 35
Registriert: 26.05.2004 09:51:59
Wohnort: Unterägeri, CH
Kontaktdaten:

Beitrag von mgr » 16.09.2004 11:35:54

schalte mal im /etc/courier/imapd (du benutzt courier, oder ?)
den Debug Mode bzw. Verbose output ein

imho sollte irgendwo in dieser conf ein "Debug=X" sein

gruss
mgr

darkiop
Beiträge: 144
Registriert: 29.01.2004 20:12:23

Beitrag von darkiop » 16.09.2004 11:47:12

mgr hat geschrieben:schalte mal im /etc/courier/imapd (du benutzt courier, oder ?)
den Debug Mode bzw. Verbose output ein

imho sollte irgendwo in dieser conf ein "Debug=X" sein


gruss
mgr
Ja den benutze ich. Das habe ich in der "imapd" gefunden:

Code: Alles auswählen

##NAME: DEBUG_LOGIN:0
#
# Dump additional login diagnostics to syslog
#
# DEBUG_LOGIN=0   - turn off login debugging
# DEBUG_LOGIN=1   - turn on login debugging
# DEBUG_LOGIN=2   - turn on login debugging + log passwords too
#
# Note that most information is sent to syslog at level 'debug', so
# you may need to modify your /etc/syslog.conf to be able to see it.

DEBUG_LOGIN=0
Ich schalte das jetzt mal auf 2.


Edit:
Neuer Auszug aus der mail.log:

Code: Alles auswählen

Sep 16 11:48:45 simian imaplogin: LOGIN: DEBUG: ip=[::ffff:192.168.0.1], command=LOGIN
Sep 16 11:48:45 simian imaplogin: LOGIN: DEBUG: ip=[::ffff:192.168.0.1], username=user@virtual.test
Sep 16 11:48:45 simian imaplogin: LOGIN: DEBUG: ip=[::ffff:192.168.0.1], password=secret
Sep 16 11:48:45 simian imaplogin: authdaemon: starting client module
Sep 16 11:48:45 simian imaplogin: authdaemon: TEMPFAIL - no more modules will be tried
Sep 16 11:48:50 simian imaplogin: LOGIN FAILED, ip=[::ffff:192.168.0.1]
Sep 16 11:48:56 simian imaplogin: Disconnected, ip=[::ffff:192.168.0.1]

mgr
Beiträge: 35
Registriert: 26.05.2004 09:51:59
Wohnort: Unterägeri, CH
Kontaktdaten:

Beitrag von mgr » 16.09.2004 12:03:49

hi

hast du authmodulelist="authmysql"
in /etc/courier/authdaemonrc ?
You cannot fetch emails from a mailbox unless at least one mail has been sent there. Users would get cryptic error messages. So I recommend sending a welcome email to new users.
auch beachtet ?

darkiop
Beiträge: 144
Registriert: 29.01.2004 20:12:23

Beitrag von darkiop » 16.09.2004 12:07:54

Ja:

Code: Alles auswählen

cat authdaemonrc | grep authmysql
27:authmodulelist="authmysql"
Hier habe ich mal alle config files zusammengetragen:
http://nopaste.php-q.net/84944

mgr
Beiträge: 35
Registriert: 26.05.2004 09:51:59
Wohnort: Unterägeri, CH
Kontaktdaten:

Beitrag von mgr » 16.09.2004 12:17:52

evtl. hilft dir ja das weiter :

http://www.infocopter.com/know-how/cour ... gging.html

und eben : schick mal eine mail an diesen user und versuch dann nochmal den pop/imap zugriff

darkiop
Beiträge: 144
Registriert: 29.01.2004 20:12:23

Beitrag von darkiop » 16.09.2004 12:27:04

Ich hab nach eine Mail anhand der Anleitung auf http://workaround.org/articles/ispmail-sarge/ Step9 versendet:

Code: Alles auswählen

Sep 16 12:20:42 simian postfix/smtpd[2697]: connect from localhost[127.0.0.1]
Sep 16 12:21:37 simian postfix/smtpd[2697]: 915E026ED28: client=localhost[127.0.0.1]
Sep 16 12:21:53 simian postfix/cleanup[2703]: 915E026ED28: message-id=<20040916102121.915E026ED28@simian.freedom.tux>
Sep 16 12:21:53 simian postfix/qmgr[2532]: 915E026ED28: from=<test@workaround.org>, size=370, nrcpt=1 (queue active)
Sep 16 12:21:53 simian postfix/virtual[2706]: 915E026ED28: to=<user@virtual.test>, relay=virtual, delay=32, status=sent (delivered to maildir)
Sep 16 12:21:53 simian postfix/qmgr[2532]: 915E026ED28: removed
Sep 16 12:21:57 simian postfix/smtpd[2697]: disconnect from localhost[127.0.0.1]

Hab jetzt auch eine mail in /home/vmail/user@virtual.test/new liegen. Der Login schlägt allerdings noch immer Fehl.

Was mich irgendwie irritiert, einmal steht freedom.tux und ein anderes mal eaglebase.homeip.net in den log files ...

mgr
Beiträge: 35
Registriert: 26.05.2004 09:51:59
Wohnort: Unterägeri, CH
Kontaktdaten:

Beitrag von mgr » 16.09.2004 13:15:09

dann setz mal alle komponente (mta, pop3, imap) auf dieselbe domäne
(am besten die, welche du wirklich verwendest)

darkiop
Beiträge: 144
Registriert: 29.01.2004 20:12:23

Beitrag von darkiop » 16.09.2004 13:26:28

In der mail.log erscheint immer freedom.tux und in der mysql.log die eaglebase.homeip.net.

In keinen der conf files ist eaglebase.homeip.net erwähnt, immer nur die freedom,tux. Da der Mailserver auch nur für lokale Zwecke dienen soll brauche ich die egalebase.homeip,net (dyndns) auch nicht.

Edit:
Es müsste jetzt alles auf freedom.tux laufen, habe die conf files nochmal überprüft und die /etc/hosts auch auf freedom.tux abgeändert.
Den Server habe ich danach dann zur Sicherheit nochmal rebootet.

Geht immer noch nicht, bin solangsam mit meinem Latein am Ende .... :)

darkiop
Beiträge: 144
Registriert: 29.01.2004 20:12:23

Beitrag von darkiop » 18.09.2004 10:33:31

*Hochdrück*

Geht leider immer noch nicht.

Ich habe jetzt zusätzlich noch squirrelmail installiert und da sagt er mit das entweder der Username oder Password falsch seien.

Daraufhin habe ich die Tabellen domains und users geleert und einen neuen User angelegt. Brachte auch nichts.

Laut Logfiles funktioniert die MySQL Anbindung, nur Postfix scheint die Usernamen nicht zu kennen.

Bei dem Tutorial [1] habe ich den Anfang nicht ganz verstanden, muss ich da irgendetwas in der /etc/aliases verändern?


Ich hoffe auf Hilfe :)
Gruß darkiop


[1] http://www.workaround.org/articles/ispmail-sarge/

darkiop
Beiträge: 144
Registriert: 29.01.2004 20:12:23

Beitrag von darkiop » 21.09.2004 12:37:59

Funktioniert noch immer nicht, hat denn niemand eine Idee an was das liegen könnte?

Atreju
Beiträge: 21
Registriert: 26.07.2004 11:58:42
Wohnort: Freising

Beitrag von Atreju » 24.09.2004 15:00:04

Habe dasselbe Problem. Ganz komisch, ich finde auch nix in den Logs und sqwebmail verweigert das login.

darkiop
Beiträge: 144
Registriert: 29.01.2004 20:12:23

Beitrag von darkiop » 25.09.2004 20:37:12

Wenn du eine Lösung gefunden hast, sag bitte bescheid. Für den Fall das ich etwas finde poste ich es hier.

darkiop
Beiträge: 144
Registriert: 29.01.2004 20:12:23

Beitrag von darkiop » 26.09.2004 00:30:38

Ich hab mein Problem gefunden:

in der /etc/courier/authmysqlrc hatte ich 2 " " bei

Code: Alles auswählen

MYSQL_HOME_FIELD "/home/vmail"
vergessen.

Antworten