[opensuse-es] Problemas con postfix y mysql
He seguido el siguiente manual:
http://www.e-ghost.deusto.es/docs/articulo.postfixmysql.html
Y en /var/log/mail sale:
[code]
Jan 14 20:20:07 linux-g9xl postfix/postfix-script[18582]: starting the
Postfix mail system
Jan 14 20:20:07 linux-g9xl postfix/master[18586]: daemon started --
version 2.5.1, configuration /etc/postfix
Jan 14 20:20:08 linux-g9xl postfix/qmgr[18602]: 6B86D1844A:
from=
Roberto José Blandino Cisneros Nicaragua, Nicaragua http://gnu-linux-opensource.blogspot.com/ http://softwarelibre.uni.edu.ni/ -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2009-01-14 a las 20:16 -0600, Roberto José Blandino Cisneros escribió: ...
Si no no corre el postfix ya que me manda un error con que no puede conectarse a mysql.
Sugerencia: >:-) nimrodel:~ # postconf -m btree cidr environ hash ldap nis pcre proxy regexp sdbm static tcp unix Y luego: /usr/share/doc/packages/postfix/README_FILES/ DATABASE_README MYSQL_README - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAklupCEACgkQtTMYHG2NR9UziACfQn9NAhA2zZkTk8i9dTR0yGAf WQkAnj2LS8QefzPMBIwF/3OZnl+FXKK/ =rpbT -----END PGP SIGNATURE-----
2009/1/14 Carlos E. R.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
El 2009-01-14 a las 20:16 -0600, Roberto José Blandino Cisneros escribió:
...
Si no no corre el postfix ya que me manda un error con que no puede conectarse a mysql.
Sugerencia: >:-)
nimrodel:~ # postconf -m btree cidr environ hash ldap nis pcre proxy regexp sdbm static tcp unix
Esto es lo que me sale: [code] btree cidr environ hash ldap mysql nis pcre proxy regexp sdbm static tcp unix [/code] Ya hice un cambio en mysql_virt.cf [code] #Usuario y password para acceder al servidor MySQL user=postfix password=postfix #Nombre de la Base de Datos y la tabla dbname=mail table=passwd #El campo que elegimos es maildir (lugar donde está el buzón), donde el id del usuario coincida con el destinatario del mensaje select_field=maildir where_field=id #El host que tiene el MySQL hosts=127.0.0.1 [/code] pero ahora me sale: [code] ... fatal: open /etc/postfix/gids.cf: No such file or directory ... [/code]
Y luego:
/usr/share/doc/packages/postfix/README_FILES/
DATABASE_README MYSQL_README
- -- Saludos Carlos E.R.
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux)
iEYEARECAAYFAklupCEACgkQtTMYHG2NR9UziACfQn9NAhA2zZkTk8i9dTR0yGAf WQkAnj2LS8QefzPMBIwF/3OZnl+FXKK/ =rpbT -----END PGP SIGNATURE-----
--
Roberto José Blandino Cisneros Nicaragua, Nicaragua http://gnu-linux-opensource.blogspot.com/ http://softwarelibre.uni.edu.ni/ -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
este es el log completo
pero ahora me sale:
[code]
Jan 15 01:38:45 linux-g9xl postfix/postfix-script[11326]: starting the
Postfix mail system
Jan 15 01:38:45 linux-g9xl postfix/master[11330]: daemon started --
version 2.5.1, configuration /etc/postfix
Jan 15 01:38:45 linux-g9xl postfix/qmgr[11352]: 6B86D1844A:
from=
... [/code]
--
Roberto José Blandino Cisneros Nicaragua, Nicaragua http://gnu-linux-opensource.blogspot.com/ http://softwarelibre.uni.edu.ni/ -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
La guia esta buena y excelente, aunque habria que hacerle un poco de retoques por algunos lados para reparar los baches que tiene. La guia quedaria algo asi: Instalar las siguientes aplicaciones: yast2 -i mysql courier-imap courier-authlib-mysql postfix postfix-mysq Agregar o editar main.cf para que las siguientes opciones sean algo asi: mail_owner = postfix myhostname = splitfoo.homeip.net mydomain = splitfoo.homeip.net myorigin = $myhostname mydestination = splitfoo.homeip.net, localhost, localhost.splitfoo.homeip.net home_mailbox = Maildir/ mail_spool_directory = /var/spool/mail/ relay_domains = $mydestination mynetworks = 192.168.1.0/24 smtpd_banner = $myhostname ESMTP $mail_name local_destination_concurrency_limit = 2 default_destination_concurrency_limit = 10 debug_peer_level = 2 alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases virtual_mailbox_base=/ virtual_uid_maps=mysql:/etc/postfix/ids.cf virtual_gid_maps=mysql:/etc/postfix/gid.cf virtual_mailbox_maps=mysql:/etc/postfix/mysql_virt.cf local_transport = virtual # cat > mysql_virt.cf << "EOF" #Usuario y password para acceder al servidor MySQL user=postfix password=postfix #Nombre de la Base de Datos y la tabla dbname=mail table=passwd #El campo que elegimos es maildir (lugar donde está el buzón), donde el id del usuario coincida con el destinatario del mensaje select_field=maildir where_field=id #El host que tiene el MySQL hosts=127.0.0.1 EOF # cat > gi.cf << "EOF" #Usuario y password para acceder al servidor MySQL user=postfix password=postfix #Nombre de la Base de Datos y la tabla dbname=mail table=passwd #El campo que elegimos es maildir (lugar donde está el buzón), donde el id del usuario coincida con el destinatario del mensaje select_field=maildir where_field=id #El host que tiene el MySQL hosts=127.0.0.1 EOF La base de datos de mysql puede hacerse igual o con phpMyAdmin u otro conocido, por el momento lo haremos igual: #Nos conectamos como root en un principio(la contraseña por defecto está en blanco, por lo que bastaria con dar "enter") mysql -h localhost -u root -p #Creamos la BAse de Datos llamada mail mysql>create database mail; #Vemos si está creada: mysql>show databases; #Seleccionamos con la que vamos a trabajar: mysql>use mail; #Creamos la tabla en la que guardaremos la información de los usuarios virtuales: mysql>create table passwd( id char(128)DEFAULT '' NOT NULL, clear char(128)DEFAULT '' NOT NULL, name char(128)DEFAULT '' NOT NULL, uid int(10) unsigned NOT NULL, gid int(10) unsigned NOT NULL, home char(255)DEFAULT '' NOT NULL, maildir char(255)DEFAULT '' NOT NULL, KEY id (id(128)) ); #Vemos cómo ha quedado la tabla recién creada: mysql> describe passwd; +---------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+------------------+------+-----+---------+-------+ | id | char(128) | | MUL | | | | clear | char(128) | | | | | | name | char(128) | | | | | | uid | int(10) unsigned | | | | | | gid | int(10) unsigned | | | | | | home | char(255) | | | | | | maildir | char(255) | | | | | +---------+------------------+------+-----+---------+-------+ #Creamos un usuario postfix y le damos todos los permisos en esta tabla: mysql>GRANT ALL ON mail.passwd TO postfix@localhost IDENTIFIED BY "postfix"; #Dependiendo de la configuración, quizás haya que crear algún usuario del estilo postfix@HOSTNAME... para que postfix pueda acceder desde otras máquinas por ejemplo. #Creamos tres entradas de ejemplo: mysql>insert into passwd (id,clear,name,uid,gid,home,maildir) values("user1@splitfoo.homeip.net","user1pass","usuario1","1003","8","/","/var/spool/mail/user1/Maildir/"); mysql>insert into passwd (id,clear,name,uid,gid,home,maildir) values("user2@splitfoo.homeip.net.net","user2pass","usuario2","1002","8","/","/var/spool/mail/user2/Maildir/"); mysql>insert into passwd (id,clear,name,uid,gid,home,maildir) values("user3@splitfoo.homeip.net","user3pass","usuario3","1004","8","/","/var/spool/mail/user3/Maildir/"); #Vamos a hacer una select a ver qué es lo que tenemos mysql> select * from passwd; +--------------------------------+------------+--------------------+------+-----+------+-------------------------------------+ | id | clear | name | uid | gid | home | maildir | +--------------------------------+------------+--------------------+------+-----+------+-------------------------------------+ | user1@splitfoo.homeip.net | user1pass | usuario1 | 1002 | 8 | / | /var/spool/mail/user1/Maildir/ | | user2@splitfoo.homeip.net | user2pass | usuario2 | 1003 | 8 | / | /var/spool/mail/user2/Maildir/ | | user3@splitfoo.homeip.net | user3pass | usuario3 | 1004 | 8 | / | /var/spool/mail/user3/Maildir/ | +--------------------------------+------------+--------------------+------+-----+------+-------------------------------------+ mysql>quit ### NOTA: para cambiar la password root, basta con hacer lo siguiente: mysql> SET PASSWORD FOR root@localhost=password('nuevapass'); mysql> FLUSH PRIVILEGES; ### Ir a la carpeta /etc/authlib/ Con authdaemonrc no se hace nada por que ya esta configurado, pero chequear que 'authmysql' este incluido: authmodulelist="authuserdb authpam authpgsql authldap authmysql authcustom authpipe" Verificar que el fichero authmysqlrc tenga correcto los parametros: MYSQL_SERVER splitfoo.homeip.net MYSQL_USERNAME postfix MYSQL_PASSWORD postfix MYSQL_PORT 3306 MYSQL_OPT 0 MYSQL_DATABASE mail MYSQL_USER_TABLE passwd MYSQL_CLEAR_PWFIELD clear DEFAULT_DOMAIN spliTer.net MYSQL_UID_FIELD uid MYSQL_GID_FIELD gid MYSQL_LOGIN_FIELD id MYSQL_HOME_FIELD home MYSQL_NAME_FIELD name MYSQL_MAILDIR_FIELD maildir Chequear que /etc/courier/imapd cumpla con: IMAPDSTART=YES De aqui solo hay que verificar si se envian los mensajes en /var/spool/mail --
Roberto José Blandino Cisneros Nicaragua, Nicaragua http://gnu-linux-opensource.blogspot.com/ http://softwarelibre.uni.edu.ni/ -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
Ya lo repare no me habia fijado que es gid.cf y no gids.cf, bueno ya
lo logre hacer andar aun no he hecho las pruebas, gracias!
[code]
Jan 15 01:43:31 linux-g9xl postfix/postfix-script[11510]: starting the
Postfix mail system
Jan 15 01:43:31 linux-g9xl postfix/master[11514]: daemon started --
version 2.5.1, configuration /etc/postfix
Jan 15 01:43:31 linux-g9xl postfix/qmgr[11536]: 6B86D1844A:
from=
Roberto José Blandino Cisneros Nicaragua, Nicaragua http://gnu-linux-opensource.blogspot.com/ http://softwarelibre.uni.edu.ni/ -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
Los mensajes se me fueron invertidos, se me apago la maquina por que olvide cambiar el crontab, y me quedo en borradores y los envie en orden invertidos los mensajes. En resumen ya todo marcha bien y no me corre con unix:mysql.sock ni ni con unix:mysqld.sock Estuve leyendo la configuracion de mysql y tanto para cliente como para el normal usa mysql.sock en opensuse 11.0 asi que luego probe con 127.0.0.1 y todo marcho bien, eso era, luego el otro problema fue la 's' en 'gids.cf', lo correcto era gid.cf. Bueno ya lo probe y en /var/spool/mail se me crearon los directorios cuando envie a cada usuario un correo. Asi que por ahora ya esta hecho, gracias, cualquier otro pegon pregunto. El problema fue en los {gid,ids,mysql_virt}.cf y cuando busque mysqld.sock, no lo hallaba ya que actualmente no existe, ya que mysql.sock es el mismo que mysqld.sock, segun /etc/my.cnf. --
Roberto José Blandino Cisneros Nicaragua, Nicaragua http://gnu-linux-opensource.blogspot.com/ http://softwarelibre.uni.edu.ni/ -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
2009/1/15, Roberto José Blandino Cisneros:
He seguido el siguiente manual:
http://www.e-ghost.deusto.es/docs/articulo.postfixmysql.html
Y en /var/log/mail sale: [code]
Jan 14 20:20:08 linux-g9xl postfix/trivial-rewrite[18612]: fatal: unknown service: mysql.sock/tcp
Que no reconoce ese servicio... Hum ¿estás ejecutando postfix "chrooteado"? :-?
otra cosa los archivos ids.cf gids.cf mysql_virt.cf en lugar de:
[code] hosts=unix:mysqld.sock [/code]
hago:
[code] hosts=linux-g9xl.mysite:mysqld.sock [/code]
Ese cambio no me termina de convencer... se supone que "unix:mysqld.sock" es un nombre de socket :-? Prueba como dice el manual que has seguido: hosts=unix:mysqld.sock Y si tampoco funciona, prueba con: hosts=localhost Saludos, -- Camaleón -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
participants (3)
-
Camaleón
-
Carlos E. R.
-
Roberto José Blandino Cisneros