W ostatnim czasie miałem okazję instalować i konfigurować na Ubuntu serwer pocztowy wraz z bajerami typu SpamAssassin, Amavis itd.
Skorzystałem z howto z http://flurdy.com/docs/postfix/index.html
Po kilku dniach walki udało mi się postawić wszystko na nogi. Przy wykorzystaniu tego howto pojawił się problem z błędami na styku autentykacji SASL i bazy danych. Przeszukując zasoby sieci nie udało mi się znaleźć jednoznacznej odpowiedzi co zrobić żeby to wszystko zagrało (no może poza downgrade wersji libsasl, czego akurat nie chciałem robić).
W logach pojawiały się wpisy typu: saslauthd: SASL PLAIN authentication failed: no mechanism available
Pierwszy problem na styku SASL<>DB pojawił się w związku z literówką, która wkradła się w howoto w sekcji http://flurdy.com/docs/postfix/#config-secure-auth
W konfiguracji z mojego punktu widzenia są dwa błędy (1 i 2 na screenie).
- Poprawny wpis to:
sql_passwd: mailPASSWORD
- Poprawny wpis dla Ubuntu 12.04.01 to:
auxprop_plugin: sql
- (opcja) Nie udało mi się skorzystać z autentykacji przy użyciu mechanizmów cram-md5 i digest-md5, dlatego też usunąłem te dwie opcje
Punkt (2) można zweryfikować włączając logowanie zapytań w bazie Mysql. Przy opcji “mysql” w logach nie pojawiały się żadne zapytania, po zmianie na “sql” i restarcie usług zaczęło się logowanie zapytań podczas prób autentykacji przy logowaniu do poczty.
Logowanie w MYSQL włączamy poprzez dodanie do konfigu (/etc/mysql/my.cfg) wpisu:
general_log_file = /var/log/mysql/mysql.log
general_log = 1
…i restart Mysql.
Od tego momentu wszystko zaczęło działać poprawnie. Co prawda przy wykorzystaniu tylko metod LOGIN i PLAIN ale przy użyciu TLS/SSL nie powinno mieć to większego znaczenia.