[postfix-es] Postfix + MySQL + Courier :/

tony.diaz en infomed.sld.cu tony.diaz en infomed.sld.cu
Lun Abr 12 06:29:30 CEST 2004


Hola tengo este problema con PostFix... uso un Debian y quiero montar el PostFix + MySQL
(para poner los usuarios en base de datos y que no sean del systema) + Courier IMAP & POP
todo lo tengo "supuestamente bien segun el manual" aca le envio los pasos que he seguido
al pie de la letra y los logs de lo que pasa

crear las base de datos en MySQL

1 create database mail;
2 grant all privileges on mail.* to mail en localhost identified by 'emperor';
3 use mail;
4 create table transport (
        domain varchar(128) not null primary key unique,
        transport varchar(128) not null default 'virtual:'
        );
5 create table virtual (
        address varchar(255) not null primary key unique,
        goto varchar(255) not null
        );
6 create table users (
        address varchar(255) not null primary key unique,
        id varchar(128) not null,
        clear varchar(128) not null,
        uid smallint(5) unsigned not null default 10000,
        gid smallint(5) unsigned not null default 8,
        name varchar(128) not null,
        domain varchar(128) not null,
        maildir varchar(128) not null,
        active tinyint(3) unsigned not null default 1
        );
7 mi fichero main.cf

~# cat /etc/postfix/main.cf
# see /usr/share/postfix/main.cf.dist for a commented, fuller
# version of this file.

# Do not change these directory settings - they are critical to Postfix
# operation.
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
setgid_group = postdrop
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

# probando postfix contra BASE DE DATOS MySQL
virtual_mailbox_base = /var/mail
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virt.cf
virtual_uid_maps = mysql:/etc/postfix/uids.cf
virtual_gid_maps = mysql:/etc/postfix/gids.cf
transport_maps = mysql:/etc/postfix/transport.cf
virtual_maps = mysql:/etc/postfix/virtual.cf

# Aca termina la conf para la bd de mysql

mydestination = bloodrayne.debian.lnx.cu, $transport_maps
mynetworks = 127.0.0.0/8 192.168.100.1/24
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
delay_notice_recipient = root
notify_classes = policy, protocol, resource, software
2bounce_notice_recipient = root
error_notice_recipient = root
message_size_limit = 1024000
disable_vrfy_command = yes

-----------------------------------------------------------

8 Los ficheros de /etc/postfix/*.cf(s)

~# cat /etc/postfix/mysql_virt.cf
user=mail
password=emperor
dbname=mail
table=users
hosts=localhost
where_field=address
select_field=maildir

~# cat /etc/postfix/uids.cf
user=mail
password=emperor
dbname=mail
table=users
hosts=localhost
where_field=address
select_field=uid

~# cat /etc/postfix/gids.cf
user=mail
password=emperor
dbname=mail
table=users
hosts=localhost
where_field=address
select_field=gid

~# cat /etc/postfix/transport.cf
user=mail
password=emperor
dbname=mail
table=transport
hosts=localhost
select_field=transport
where_field=domain

~# cat /etc/postfix/virtual.cf
user=mail
password=emperor
dbname=mail
table=virtual
hosts=localhost
where_field=address
select_field=goto

9 le cambio los permisos a estos 4 ficheros para seguridad en 640
~# ll /etc/postfix/
total 80
-rw-r--r--    1 root     root          360 Jul 28  2003 dynamicmaps.cf
-rw-r-----    1 root     postfix       104 Apr 10 09:49 gids.cf
-rw-r--r--    1 root     root         1256 Apr 11 14:00 main.cf
-rw-r--r--    1 root     root         4969 Jul 28  2003 master.cf
-rw-r-----    1 root     postfix       108 Apr 10 09:48 mysql_virt.cf
-rwxr-xr-x    1 root     root        17979 Jul 28  2003 post-install
-rw-r--r--    1 root     root         8542 Jul 28  2003 postfix-files
-rwxr-xr-x    1 root     root         5425 Jul 28  2003 postfix-script
drwxr-xr-x    2 root     root         4096 Apr 10 09:43 salva
-rw-r--r--    1 root     root          151 Apr 11 13:43 transport.cf
-rw-r-----    1 root     postfix       104 Apr 10 09:49 uids.cf
-rw-r-----    1 root     postfix       107 Apr 10 09:51 virtual.cf

10 me pide crear un directorio par aque postfix pueda acceder al socket de mysql por lo
tanto...

mkdir -p /var/spool/postfix/var/run/mysqld
chown mysql /var/spool/postfix/var/run/mysqld

y creo el hardlink para el acceso

ln /var/run/mysqld/mysqld.sock /var/spool/postfix/var/run/mysqld/mysqld.sock

11 instalo el courier y le aplico las reglas de mysql

MYSQL_SERVER            bloodrayne.debian.lnx.cu
MYSQL_USERNAME          mail
MYSQL_PASSWORD          emperor
MYSQL_SOCKET            /var/run/mysqld/mysqld.sock
MYSQL_PORT              3306
MYSQL_OPT               0
MYSQL_DATABASE          mail
MYSQL_USER_TABLE        users
MYSQL_CRYPT_PWFIELD     clear
MYSQL_UID_FIELD         uid
MYSQL_UID_FIELD         gid
MYSQL_LOGIN_FIELD       address
MYSQL_HOME_FIELD        home
MYSQL_NAME_FIELD        name
MYSQL_MAILDIR_FIELD     maildir

y obtengo esto por el mail.log cuando pruebo enviar un mensaje...

Apr 11 13:44:24 bloodrayne postfix/smtpd[3082]: connect from
bloodrayne.debian.lnx.cu[192.168.100.1]
Apr 11 13:44:32 bloodrayne postfix/smtpd[3082]: B688F14CA5:
client=bloodrayne.debian.lnx.cu[192.168.100.1]
Apr 11 13:44:41 bloodrayne postfix/trivial-rewrite[3084]: warning: connect to mysql server
localhost: Can't connect to local MySQL server through socket '/var/run/mysql
d/mysqld.sock' (111)
Apr 11 13:44:41 bloodrayne postfix/trivial-rewrite[3084]: fatal: transport table lookup
problem
Apr 11 13:44:42 bloodrayne postfix/master[3077]: warning: process
/usr/lib/postfix/trivial-rewrite pid 3084 exit status 1
Apr 11 13:44:42 bloodrayne postfix/master[3077]: warning:
/usr/lib/postfix/trivial-rewrite: bad command startup -- throttling
Apr 11 13:45:42 bloodrayne postfix/trivial-rewrite[3124]: warning: connect to mysql server
localhost: Can't connect to local MySQL server through socket '/var/run/mysql
d/mysqld.sock' (111)


Que puede faltar???
tremendo lio el sock de mysql :S
agradecido de antemano.. si alguien ya choco con esta piedra por favor que me refine el
camino para aprender a saltar el obstaculo tambien ;)


saludos,

Tony


-------------------------------------------------
Este mensaje fue enviado usando el servicio de correo en web de Infomed
http://webmail.sld.cu
-
Para ENVIAR mensajes a esta lista tienes que estar SUSCRITO a ella.
.
Envía la linea "unsubscribe postfix-es" en el cuerpo de un mensaje
a majordomo en WL0.org para quitarte de la lista.



Más información sobre la lista de distribución Postfix-es