[Dovecot] Dovecot and MySQL auth - initial setup issues
Hello,
I'm just setting up a new server and wanting to use MySQL for user authentication.
Here is what I have:
Fedora Core 5: 2.6.17-1.2145_FC5 Dovecot v1.0.rc2 (RPM install from atrpms.net) MySQL v5.0.22 SquirrelMail v 1.4.6-7.fc5 ...Running on a Dual XEON machine
I've added the following to dovecot.conf:
auth default {
passdb sql {
args = /etc/dovecot-mysql.conf
}
userdb sql {
args = /etc/dovecot-mysql.conf
}
The rest of dovecot.conf is standard.
/etc/dovecot-mysql.conf has:
driver=mysql connect = host=127.0.0.1 port=3306 dbname=maildb user=root client_flags=0 password_query = SELECT password FROM users WHERE id = '%u' user_query = SELECT maildir FROM users WHERE id = '%u'
(I've run the SQL queries within mysql and they give the right results)
When I start Dovecot the log shows: dovecot: Jul 11 12:47:25 Info: Dovecot v1.0.rc2 starting up dovecot: Jul 11 12:47:27 Info: auth-worker(default): mysql: Connected to 127.0.0.1 (maildb)
When I try to log in using SquirrelMail, it takes about 3 seconds, then I get
dovecot: Jul 11 12:48:00 Info: imap-login: Aborted login: user=<andrew@mail-test.aaisp.net.uk>, method=PLAIN, rip=::ffff:127.0.0.1, lip=::ffff:127.0.0.1, secured
...So, no log of it trying MySQL...
And SquirrelMail then says: Unknown user or password incorrect
Any ideas of what I'm missing?
Thanks!
Andrew.
-- Andrew Hearn, Senior Support Engineer Andrews & Arnold Ltd 01344 400999
For efficient support, please email: support@aaisp.net.uk
Are you using a password encryption scheme for your user passwords in the mysql db? You might want to enable the following to help debug the issue more in your dovecot.conf:
auth_verbose = yes auth_debug = yes auth_debug_passwords = yes
Restart Dovecot and then try logging in. This will spit out alot more information about the process and might give us a better look into your issue.
--
James Bowling <james@jamesbowling.com>
Andrew Hearn wrote:
Hello,
I'm just setting up a new server and wanting to use MySQL for user authentication.
Here is what I have:
Fedora Core 5: 2.6.17-1.2145_FC5 Dovecot v1.0.rc2 (RPM install from atrpms.net) MySQL v5.0.22 SquirrelMail v 1.4.6-7.fc5 ...Running on a Dual XEON machine
I've added the following to dovecot.conf:
auth default {
passdb sql { args = /etc/dovecot-mysql.conf } userdb sql { args = /etc/dovecot-mysql.conf }
The rest of dovecot.conf is standard.
/etc/dovecot-mysql.conf has:
driver=mysql connect = host=127.0.0.1 port=3306 dbname=maildb user=root client_flags=0 password_query = SELECT password FROM users WHERE id = '%u' user_query = SELECT maildir FROM users WHERE id = '%u'
(I've run the SQL queries within mysql and they give the right results)
When I start Dovecot the log shows: dovecot: Jul 11 12:47:25 Info: Dovecot v1.0.rc2 starting up dovecot: Jul 11 12:47:27 Info: auth-worker(default): mysql: Connected to 127.0.0.1 (maildb)
When I try to log in using SquirrelMail, it takes about 3 seconds, then I get
dovecot: Jul 11 12:48:00 Info: imap-login: Aborted login: user=<andrew@mail-test.aaisp.net.uk>, method=PLAIN, rip=::ffff:127.0.0.1, lip=::ffff:127.0.0.1, secured
...So, no log of it trying MySQL...
And SquirrelMail then says: Unknown user or password incorrect
Any ideas of what I'm missing?
Thanks!
Andrew.
James Bowling wrote:
Are you using a password encryption scheme for your user passwords in the mysql db? You might want to enable the following to help debug the issue more in your dovecot.conf:
auth_verbose = yes auth_debug = yes auth_debug_passwords = yes
Restart Dovecot and then try logging in. This will spit out alot more information about the process and might give us a better look into your issue.
Thanks James,
I'm using plain at the moment, the database has a plain password, and under auth default { I've now set: mechanisms = plain
The log I now get is:
dovecot: Jul 11 16:38:48 Info: auth(default): client in: AUTH 1 PLAIN service=IMAP lip=::ffff:81.187.11.54 rip=::ffff:81.187.11.8 resp=AGFuZHJld0BtYWlsLXRlc3QuYWFpc3AubmV0LnVrADIzNzQyNg== dovecot: Jul 11 16:38:48 Info: auth-worker(default): sql(andrew@mail-test.aaisp.net.uk,::ffff:81.187.11.8): query: SELECT password FROM users WHERE id = 'andrew@mail-test.aaisp.net.uk' dovecot: Jul 11 16:38:48 Info: auth(default): client out: OK 1 user=andrew@mail-test.aaisp.net.uk dovecot: Jul 11 16:38:48 Info: auth(default): master in: REQUEST 2 17639 1 dovecot: Jul 11 16:38:48 Info: auth-worker(default): sql(andrew@mail-test.aaisp.net.uk,::ffff:81.187.11.8): SELECT maildir FROM users WHERE id = 'andrew@mail-test.aaisp.net.uk' dovecot: Jul 11 16:38:48 Error: auth-worker(default): sql(andrew@mail-test.aaisp.net.uk,::ffff:81.187.11.8): Password query didn't return uid, or it was NULL dovecot: Jul 11 16:38:48 Info: auth(default): passwd(andrew@mail-test.aaisp.net.uk,::ffff:81.187.11.8): unknown user dovecot: Jul 11 16:38:48 Error: auth(default): userdb(andrew@mail-test.aaisp.net.uk,::ffff:81.187.11.8): user not found from userdb dovecot: Jul 11 16:38:48 Info: auth(default): master out: NOTFOUND 2 dovecot: Jul 11 16:38:48 Info: imap-login: Internal login failure: user=<andrew@mail-test.aaisp.net.uk>, method=PLAIN, rip=::ffff:81.187.11.8, lip=::ffff:81.187.11.54
I'm not sure why it's saying "Password query didn't return uid", that that seems the issue.
On Tue, 2006-07-11 at 12:57 +0100, Andrew Hearn wrote:
user_query = SELECT maildir FROM users WHERE id = '%u'
I guess you've already solved this problem one way or another, but this is anyway the problem. This setting is completely wrong, look at what fields the example configuration returns and do something similar.
participants (4)
-
Andrew Hearn
-
Andrew Hearn
-
James Bowling
-
Timo Sirainen