Postfix · 3 min read · Nov 18, 2025

Alojamiento Virtual con Postfix, parte uno

Versión 1.0

Autor: Joe Topjian

El soporte de dominios virtuales en Postfix es en realidad bastante robusto. Hay tres formas diferentes de alojar dominios virtuales con Postfix y todas están descritas aquí. Vamos a ver la tercera: dominios separados y cuentas no unix.

¿Por qué esta? Porque al final, esta opción nos da la mayor flexibilidad. Es un poco más complicado de configurar y entender, pero vale la pena cuando estás alojando varios dominios.

Nuestro objetivo final es tener un servidor de correo que soporte la entrega de correo a múltiples dominios. Cada dirección de correo electrónico será auténtica solo para ese dominio. Por ejemplo, [email protected] y [email protected] son dos cuentas diferentes que reciben correos diferentes.

Para empezar, vamos a convertir todos los dominios en hosts virtuales. Incluso si tienes Postfix configurado con un solo dominio, vamos a hacer que ese dominio sea virtual. No necesitas hacer esto, pero yo lo hago porque creo que es más organizado. Hacer que Postfix aloje un dominio real y el resto virtual significa que siempre necesitarás configurar Postfix dos veces: una para cada tipo de dominio. Para hacer eso, cambiaremos nuestra línea myhostname en main.cf para que diga:

myhostname = localhost

A continuación, vamos a agregar la siguiente información de dominio virtual a main.cf (todo lo cual se explicará después):

virtual_mailbox_domains = /etc/postfix/vhosts.txt

virtual_mailbox_base = /var/spool/vmail
virtual_mailbox_maps = hash:/etc/postfix/vmaps.txt
virtual_uid_maps = static:1000
virtual_gid_maps = static:1000
virtual_alias_maps = hash:/etc/postfix/valias.txt

En la primera línea, estamos usando un archivo de texto llamado vhosts.txt. En realidad, puedes nombrarlo como quieras. Dentro de este archivo de texto habrá una simple lista de una columna de todos los dominios que estás alojando. Por ejemplo:

domain1.com

domain2.com

virtual.org

La siguiente línea especifica el directorio base donde almacenaremos todo nuestro correo. Nuevamente, puedes elegir cualquier cosa que desees.

La tercera línea apunta a un archivo de texto que llamé vmaps.txt. Este es un archivo de texto de dos columnas. La primera columna especifica una dirección de correo electrónico virtual. La segunda columna especifica la ubicación del buzón de esa persona. Al igual que con el alojamiento de dominios reales, si especificas una / al final de la ubicación, se convierte en formato Maildir. Si no, es mbox. He especificado hash porque también estoy convirtiendo vmaps.txt en un archivo hash ejecutando:

postmap vmaps.txt

Esto resulta en un archivo llamado vmaps.txt.db. Postfix puede buscar información en hashes más rápido que en un archivo de texto normal.

El contenido de vmaps.txt se ve así:

[email protected] domain1.com/joe/

[email protected] domain2.com/joe/

[email protected] virtual.org/john/

Mira la segunda columna. El valor se agrega a nuestra línea virtual_mailbox_base. Así que la ruta absoluta del buzón virtual se convierte, por ejemplo, en /var/spool/vmail/domain1.com/joe/. No olvides crear realmente los directorios domain1.com y joe. Dado que este buzón está en formato maildir, necesitaremos 3 subdirectorios bajo este buzón: new, cur, tmp. Hay varios scripts para hacer esto, pero básicamente esto funciona muy bien:

mkdir new cur tmp

chmod 700 new cur tmp

Las siguientes dos líneas definen una cuenta que configuraremos que tendrá permiso para acceder a los buzones. Sí, una cuenta tendrá la capacidad de leer todo el correo virtual. Sí, esto puede considerarse un problema de seguridad. Por favor, haz tu mejor esfuerzo para asegurarte de que nadie pueda convertirse en este usuario. Llamaremos a la cuenta “virtual”. Agrégala de cualquier manera que desees al sistema (por ejemplo, useradd) y toma nota de su uid y gid.

La línea final especifica un archivo de texto donde podemos colocar alias para cuentas virtuales. El contenido se ve así:

[email protected] [email protected]

Finalmente, necesitarás dar propiedad a los buzones al usuario virtual. Ejecutar esto se encargará de ello:

chown -R virtual:virtual /var/spool/vmail

Y eso es todo. Solo ejecuta un “postfix reload” y estarás listo. Por supuesto, ahora necesitamos una forma de recuperar realmente el correo. Haré eso en la Parte Dos.

Parte Dos:

https://www.howtoforge.com/linux_postfix_virtual_hosting_2

Ubicación original de este documento:

http://adminspotting.net/howtos/postfixvirtual.html

| |

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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