PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Courier IMAP und MySQL



silveraxe
20.02.05, 11:50
Hallo,
ich habe ein Problem mit der MySQL Anbindung in Courier IMAP.

Ich habe SuSE9.0 (Original Kernel), MySQL 4.0.15 (mitgeliefert), Exim 4.22-34 (selbst aus den SuSE Quellen mit MySQL Unterstützung kompiliert) und Courier 2.1.1-2.9 (selbst aus den SuSE Quellen kompiliert mit authmysql).

Mit Exim kann ich problemlos mittlerweile auf die Datenbank zugreifen und die Benutzer authentifizieren, jedoch gelingt mir selbiges mit Courier nicht.

In der /etc/courier/imapd steht zur Authentifizierung und TLS:

AUTHMODULES="authdaemon"
AUTHMODULES_ORIG="authdaemon"
IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE"
IMAP_CAPABILITY_ORIG="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 IDLE"
IMAP_CAPABILITY_TLS="$IMAP CAPABILITY AUTH=PLAIN"
IMAP_CAPABILITY_TLS_ORIG="$IMAP_CAPABILITY_ORIG AUTH=PLAIN"
IMAPDSTART=NO

In der /etc/courier/imapd-ssl steht zur Authentifizierung und TLS:


IMAPDSSLSTART=NO
IMAPDSTARTTLS=YES
IMAP_TLS_REQUIRED=YES
TLS_PROTOCOL=SSL3
TLS_STARTTLS_PROTOCOL=TLS1


Der Inhalt der /etc/courier/authdaemonrc ist:


authmodulelist="authmysql"
version="authdaemon.mysql"
authmodulelistorig="authmysql"
daemons=5
authdaemonvar=/var/run/authdaemon.courier-imap


Der Inhalt der /etc/courier/authmysqlrc ist:


MYSQL_SERVER localhost
MYSQL_USERNAME mein_benutzer
MYSQL_PASSWORD mein_passwort
MYSQL_SOCKET /var/lib/mysql/mysql.sock
MYSQL_OPT 0
MYSQL_DATABASE meine_datenbank
MYSQL_USER_TABLE users
MYSQL_CRYPT_PWFIELD cryptpw
MYSQL_CLEAR_PWFIELD clearpw
MYSQL_UID_FIELD uid
MYSQL_GID_FIELD gid
MYSQL_LOGIN_FIELD loginname
MYSQL_HOME_FIELD homedir
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD maildir


Ich habe testweise in die authmysqlrc auch den Port der Datenbank auf 3306 gestellt (dort läuft die DB), aber das hilft auch nicht. Courier greift gar nicht auf die Datenbank zu. Ich logge derzeit alles von der DB, also Login, Logout, Select-Statements, etc., aber dort taucht nur Exim auf.

In der /var/log/mail steht immer folgendes drin (neben der LOGIN/LOGOUT):


Datum linux imapd-ssl: LOGIN: DEBUG: ip=[meineip], username=meinbenutzer
Datum linux imapd-ssl: LOGIN: DEBUG: ip=[meineip], password=meinpasswort
Datum linux imapd-ssl: LOGIN FAILED, ip=[meineip]


In dem Verzeichnis /usr/lib/courier-imap/authlib ist die "authdaemond.mysql" vorhanden. Beim Start von Courier-Imap-SSL habe ich folgende Prozesse:
6x authdaemond.mysql (aus usr/lib/courier-imap/authlib)
1x couriertcpd
1x courierlogger


Hat vielleicht irgendjemand einen Tipp bzw. schonmal Courier auf SuSE mit MYSQL Unterstützung installiert und kann mir helfen?

Danke,
Hilmar

Reveller
12.06.05, 19:08
Guten Tag.

Hab exakt das gleiche Problem. Eine Suche im Forum und unter Google hat mir leider nicht weitergeholfen.

Gibts hier niemanden der das schon mal erfolgreich gemacht hat ?

Danke.

Tomek
13.06.05, 14:13
Ich habe auf einem Debian Sarge System eine SysCP-Installation, die mit Courier und MySQL arbeitet - funktioniert einwandfrei.

Ein paar Ideen:

Aktiviere mal zum Test den normalen imapd ohne SSL in der Datei /etc/courier/imapd:

IMAPDSTART=YES
Und aktiviere folgende Option:

DEBUG_LOGIN=1
Versuche dich dann mit dem Mailclient per IMAP ohne SSL, also Port 143, zu verbinden.


Die Datei /etc/courier/authdaemonrc sieht bei mir wie folgt aus:

authmodulelist="authmysql"
authmodulelistorig="authcustom authcram authuserdb authldap authmysql authpam"
daemons=5
version=""
authdaemonvar=/var/run/courier/authdaemon


Weiterhin habe ich noch eine Konfigurationsdatei /etc/courier/authmodulelist bei mir, die diesen Inhalt hat:

authdaemon


In deiner Konfigurationsdatei /etc/courier/authmysqlrc hast du gesetzt:

MYSQL_CRYPT_PWFIELD cryptpw
MYSQL_CLEAR_PWFIELD clearpw
Meines Wissens nach wird damit gar kein Login gehen, da du dich entscheiden musst, ob du nun verschlüsselte Passwörter oder Passwörter im Klartext verwenden willst. Aktiviere also nur eine Option, und zwar die, die du für deine MySQL-Datenbank benötigst. Zudem würde ich die Konfigurationsdatei folgendermaßen anpassen:

MYSQL_SERVER localhost
MYSQL_PORT 3306
MYSQL_USERNAME mein_benutzer
MYSQL_PASSWORD mein_passwort
MYSQL_DATABASE meine_datenbank
MYSQL_USER_TABLE users

MYSQL_CRYPT_PWFIELD cryptpw
oder:
MYSQL_CLEAR_PWFIELD clearpw

MYSQL_UID_FIELD uid
MYSQL_GID_FIELD gid
MYSQL_LOGIN_FIELD loginname
MYSQL_HOME_FIELD homedir
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD maildir


Zum Schluss solltest du noch die Dateirechte und Modi überprüfen. Bei mir sieht das Ganze so aus:

$ ls -al /etc/courier/
total 84
drwxr-xr-x 2 daemon daemon 4096 2005-06-13 14:57 .
drwxr-xr-x 90 root root 8192 2005-06-13 04:31 ..
-rw-rw---- 1 daemon daemon 2681 2004-11-04 16:12 authdaemonrc
-rw-r--r-- 1 root root 11 2004-11-05 04:48 authmodulelist
-rw-rw---- 1 daemon daemon 361 2005-05-02 20:11 authmysqlrc
-rw-r--r-- 1 root root 12629 2004-11-04 16:16 imapd
-rw------- 1 daemon daemon 321 2004-12-04 13:35 imapd.cnf
-rw------- 1 root root 2101 2004-12-04 13:45 imapd.pem
-rw-r--r-- 1 root root 6097 2004-11-05 14:39 imapd-ssl
-rw-r--r-- 1 root root 18 2004-10-16 23:31 maildrop
-rw-r--r-- 1 root root 526 2005-05-02 10:37 maildroprc
-rw-r--r-- 1 root root 3812 2004-10-16 23:31 pop3d
-rw------- 1 daemon daemon 321 2004-12-04 13:36 pop3d.cnf
-rw------- 1 root root 2101 2004-12-04 13:36 pop3d.pem
-rw-r--r-- 1 root root 5708 2004-11-05 14:39 pop3d-ssl

Ich hoffe, dass ich etwas helfen konnte. Ansonsten nochmal melden und relevante Auszüge aus den entsprechenden Logdateien posten.