2 - Configurando Postfix

[editar]
Tutorial creado por Server Side \ Postfix, Courier y MySQL. Extraido de: http://www.mononeurona.org/index.php?idp=268
27 de Octubre de 2005
Postfix es muy sencillo de ponerlo a andar. Con la configuración que viene por defecto (si no recuerdo mal), ya es capaz de enviar mensajes. Para instalarlo en Woody, basta con:

apt-get install postfix

También vamos a instalar el soporte que tiene postfix para mysql:

apt-get install postfix-mysql

Para l@s que no usen debian, este soporte hay que darselo recompilando postfix con las opciones necesarias de la forma que muestro a continuación:

make -f Makefile.init makefiles \
'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include' \
'AUXLIBS=/usr/local/mysql/lib -lmysqlclient -lz -lm'
make && make install


Sustituyendo /usr/local por la ruta donde tengais dichos archivos en vuestra máquina. A continuación copiamos el archivo virtual del src de postfix al directorio de éste:

cp src/virtual/virtual /usr/libexec/postfix


Una vez instalado, vamos a /etc/postfix y con vuestro editor favorito, abrimos el archivo principal de configuración llamado main.cf, el cual está estupendamente comentado. Además, existen en Internet numerosos y muy buenos documentos sobre cómo configurar postfix desde cero. Os pego a continuación el mío para que podais ir comparando y comento solamente los cambios importantes:

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
mail_owner = postfix
myhostname = splitfoo.homeip.net
mydomain = splitfoo.homeip.net
myorigin = $myhostname
mydestination = splitfoo.homeip.net, localhost, localhost.splitfoo.homeip.net


La siguiente opción nos permite elegir en qué tipo de "formato" postfix va a guardar los mensajes en el buzón de cada usuario. Si elegimos Mailbox, los mensajes se guardan en un único archivo en el que se van encolando los mensajes según van llegando al buzón. El formato Maildir, consiste en un directorio en el que hay tres subdirectorios en el que se van guardando los mensajes en diferentes archivos. Courier-IMAP necesita de esto, por lo que este es el que elegimos (nótese la "/" final):

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
debugger_command = PATH=/usr/bin:/usr/X11R6/bin xxgdb $daemon_directory/$process_name $process_id & sleep 5
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases


Es a partir de aquí donde cambia un poco la cosa. Vamos a ir comentando línea por línea:

Este parámetro, es lo que se le va a poner delante de un valor que tendremos en la BD para conseguir llegar hasta el lugar donde se guarda el buzón del usuario. Vamos a dejarlo con "/"
virtual_mailbox_base=/

Señalamos a postfix que los UserIDs y GroupIDs de los usuarios de correo los obtendrá por medio del archivo indicado, que accederá a MySQL
virtual_uid_maps=mysql:/etc/postfix/ids.cf
virtual_gid_maps=mysql:/etc/postfix/gids.cf


A continuación indicamos que mediante el archivo mysql_virt.cf vamos a acceder a MySQL para ver dónde están los buzones de los usuarios:

virtual_mailbox_maps=mysql:/etc/postfix/mysql_virt.cf local_transport = virtual
program_directory = /usr/lib/postfix


Pasamos a continuación a mostrar el contenido de los ficheros antes referenciados en el main.cf llamados mysql_virt.cf, ids.cf y gids.cf. Todos ellos hacen referencia a una Base de Datos implementada en MySQL, que más adelante detallaremos. En este ejemplo, tanto postfix como MySQL está en la misma máquina, por ello el primero se conectará a la base de datos por medio de los sockets internos de unix/linux. Para ello ponemos el parametro hosts con el valor unix:mysqld.sock. Si estuviesen en máquinas distintas, habría que poner el nombre de la máquina en la que se encuentra MySQL.

mysql_virt.cf
#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=unix:mysqld.sock

ids.cf
#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 uid
select_field=uid
where_field=id
#El host que tiene el MySQL
hosts=unix:mysqld.sock

gid.cf
#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 gid
select_field=gid
where_field=id
#El host que tiene el MySQL
hosts=unix:mysqld.sock

También debemos modificar el archivo master.cf, añadiendo la línea:
virtual unix - n n - - virtual

Antes de que se nos olvide, debemos de cambiar también el archivo /etc/login.defs , descomentando la línea "QMAIL_DIR Maildir" para indicar, que todos los usuarios que hagan login en nuestro sistema, usarán también el formato Maildir. Debemos de comentar las 2 que aparezcan a su lado, lógicamente.
[editar]

1 opinión

Instalacion y configuracion de postfix.

Es muy interesante.

Tutoriales relacionados con 'Instalación y configuración de Postfix'

Instalación y configuración de Postfix, Courier y MySQL para operar juntos y conseguir un completo... Más »
Si tuviera que buscar un adjetivo para calificar a Sendmail, pensaría en "excesivo". Excesivo puesto... Más »
La configuracion se llevó a cabo en una máquina con Fedora Core 1. Omitiremos la... Más »
Esta documentación muestra la forma de montar un sistema de correo con las siguientes características:... Más »
Probando con los distintos MTAs disponibles en Internet, el que finalmente use (y actualmente uso)... Más »

Autor y licencia de 'Instalación y configuración de Postfix'


Tutorial de Server Side \ Postfix, Courier y MySQL. Extraido de: http://www.mononeurona.org/index.php?idp=268 CopyLeft
Este trabajo está licenciado bajo la Creative Commons License. 1999-2005 © :: MonoNeurona.org ::
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.