Servidor de correo · 3 min read · Oct 06, 2025

Solución Completa de Servidor de Correo con Dominios y Usuarios Virtuales (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Página 3

IV. Postfix en los Servidores de Intercambio de Correo

A. Re-construyendo Postfix

La versión de Postfix incluida en la distribución de Debian Etch tiene soporte de cuotas roto. Vamos a necesitar reconstruirlo para que las cuotas funcionen. Este proceso de reconstrucción NO debe hacerse en los servidores MX de producción reales. Ten un servidor separado a un lado (o incluso solo una máquina virtual separada en Xen) para realizar tareas de construcción. Nuestro servidor para esta tarea es build.internal.example.com. En ese servidor, instala las herramientas de construcción necesarias:

# apt-get install build-essential dpkg-dev fakeroot debhelper libgdbm-dev libldap2-dev libpcre3-dev libssl-dev libsasl2-dev postgresql-dev po-debconf dpatch libdb4.3-dev libmysqlclient15-dev lsb-release libcdb-dev

Luego, procede a descargar el código fuente del paquete Postfix:

# cd /usr/src   
# apt-get source postfix

NOTA: ¡Asegúrate de que estás utilizando la versión correcta de Postfix con los siguientes comandos! Esto fue escrito contra Postfix 2.3.8. Puedes determinar la versión actual de Postfix que estás ejecutando escribiendo esto en el prompt:

# postconf -d | grep mail_version

La salida debería verse así:

# postconf -d | grep mail_version   
  mail_version = 2.3.8   
  milter_macro_v = $mail_name $mail_version 

Suponiendo que todo esté listo (y que tengas las versiones correctas), descarga el parche de cuotas:

# wget http://vda.sourceforge.net/VDA/postfix-2.3.8-vda.patch.gz

Luego necesitas descomprimir el parche y aplicarlo al nuevo código fuente:

# gunzip postfix-2.3.8-vda.patch.gz  
# cd postfix-2.3.8  
# patch -p1 < ../postfix-2.3.8-vda.patch

Y finalmente, reconstruye el paquete parcheado:

# dpkg-buildpackage

Puedes ver una advertencia como esta al final del comando dpkg-buildpackage:

(Warning: Failed to sign .dsc and .changes file)

Puedes ignorar este mensaje de forma segura.

Esta nueva reconstrucción resultará en múltiples paquetes siendo construidos, quieres copiar postfix_2.3.8-1_i386.deb y postfix-mysql_2.3.8-2_i386.deb a tus intercambiadores de correo (MX-1 y MX-2). ¡Estás listo para instalar!

B. Instalando Postfix

Dado que estamos utilizando un sistema basado en Debian, instalar Postfix es pan comido. Esta subsección asume que estás trabajando en el Intercambiador de Correo 1 (mx-1.example.com), si estás trabajando en MX-2, simplemente intercambia el nombre del servidor en cualquier archivo de configuración, y deberías estar listo para continuar. Comienza la instalación ejecutando lo siguiente:

# dpkg -i postfix_2.3.8-2_i386.deb  
# dpkg -i postfix-mysql_2.3.8-2_i386.deb

Si/cuando la auto-configuración te haga preguntas sobre postfix durante la instalación, simplemente selecciona “No Configuración” (¡Dado que estás utilizando esta guía, lo vas a configurar tú mismo!)

dpkg va a instalar todos los archivos de configuración para Postfix en /etc/postfix, así que ve allí y crea el archivo main.cf:

# cd /etc/postfix  
# touch main.cf

El archivo main.cf se puede editar utilizando dos métodos diferentes. Puedes usar tu editor de texto favorito, o puedes usar la herramienta integrada de postfix postconf. Ya hemos utilizado postconf una vez para determinar nuestra versión en la subsección IV.A anterior.

El verdadero beneficio de la herramienta postconf es que tiene algunas comprobaciones de errores integradas, y elimina la posibilidad de ‘raros’ debido a retornos de carro, saltos de línea, comillas extrañas, etc. Lo utilizaremos en esta guía, pero realmente no es un requisito.

Comienza llenando la información básica:

# postconf -e 'myhostname = mx-1.example.com'  
# postconf -e 'smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)'  
# postconf -e 'biff = no'  
# postconf -e 'append_dot_mydomain = no'  
# postconf -e 'myorigin = example.com'  
# postconf -e 'mydestination = $myhostname, localhost, locahost.localdomain'  
# postconf -e 'mynetworks = 127.0.0.0/8'   
# postconf -e 'recipient_delimiter = +'  
# postconf -e 'inet_interfaces = all'  
# postconf -e 'proxy_read_maps = $local_recipient_maps $mydestination \  
    $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps \  
    $virtual_mailbox_domains $relay_recipient_maps $relay_domains \  
    $canonical_maps $sender_canonical_maps $recipient_canonical_maps \  
    $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps'

Esto es todo lo que realmente necesitas para hacer funcionar un servidor de correo completamente funcional con usuarios unix estándar. No queremos usuarios unix estándar, así que editaremos este archivo bastante. Recuerda, ¡cambia example.com por tu propio dominio! (¡Y mx-1 por mx-2 en el segundo servidor!)

###

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.