[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: problema autentificación SMTP(sasl) POSTFIX+MYSQL



Holá Pedro,

estando confrontado con más o menos el mismo problema queria informarte sobre la solución que yo tengo instalado en mi servidor. Tengo una instalación básica de Debian 3.0 Woody, originalmente con Postfix y Courier "out-of-the-box" como paquetes originales Debian.

Despues de la instalación inicial el servidor ha gañado +- 25 domains, con 10 de ellos registrados para mis clientes. El desafío era ofrecer una possibilidad para ellos configurar sus cuentas de correo por un interface web. Mi decisión era instalar DBMail (http://www.dbmail.org), un sistema que - en collaboración con Postfix y MySQL - ofrece tres daemons para inyectar correo de Postfix smtp en una base de datos y extraerlos por POP y IMAP. Toda la administración de utilizadores (nombre, password, aliases de correo etc.) puede ser hecho por un interface PHP, que todo mundo puede escribir fácilmente.

La instalación de dbmail no era fácil, sin embargo. El manual es una pena, sólo con mucho investigación en diversos foros finalmente lo hice. Para Debian se necesita varios libraries que normalmente no son incluidos. Aquí una lista de todos paquetes que tengo instalado:

- Apache 1.3.27 y PHP 4.3.1 (para el interface web)
- MySQL 3.23.56
- DBMail 1.2.1
- libmysqlclient.so 10.0.0 (necesario para compilar DBMail, instalado via apt-get install libmysqlclient10-dev)
- Postfix en la versión stable recomendado de Debian
- Cyrus SASL 1.5.28 (agente de autentificación)
- PAM mysql (pam_mysql.so, instalado via apt-get install libpam-mysql)

El manual de DBMail há una misinformación sobre los libraries: normalmente se usa "-lcrypto" y "-lmysqlclient" en el build-script. El make no funcionó así comiga, sólo substituendo "-lcrypto" con "-lcrypt" era acertado.

Los bases de datos que DBMail anstala en MySQL tienen un table que se llama "users". Este table tambien puede ser utilizado para la autentificaci´n SASL. Aquí (http://small.dropbear.id.au/myscripts/postfixmysql.html) se encuentra un fácil manual de instalación (en inglés), que funciona óptimo comigo. El único problema era que inicialmente pam_mysql.so no podría conectir con mysql (los logs dicen, "pam_mysql: MySQL err Can't connect to local MySQL server through s ocket '/var/run/mysqld/mysqld.sock'"). Esto es porque en mi servidor mysqld.sock reside en /tmp/ y no en /var/run/mysqld/. Un link simbólico trabaja perfectamente.

El fichero "/etc/pam.d/smtp" para usar el user-table de DBMail junto con SASL lee como sigue:

auth required pam_mysql.so user=[mysql-user for dbmail-database] passwd=[password] db=dbmail table=users usercolumn=userid passwdcolumn=passwd crypt=0

en contrário que la cita en postfixmysql.html. Así tienes un sólo table para SMTP y POP/IMAP, fácilmente de administrar por phpMyAdmin o una solución hecho tu mismo.

Michael


Reply to: