Obtener Postfix
FreeBSD Postfix

Principal
Arriba

Obtener Postfix
Instalar Postfix
Configurar Postfix
main.cf
header_checks
body_checks
Lista de Acceso
RBLs
Final

Asumiendo que el FreeBSD está instalado y funcionando en la red, con acceso a Internet, debemos conectarnos al sitio ftp de Postfix para descargarlo.
Para ello, logueamos como 'root' y tipeamos:

# ftp postfix.eu.org


Conectamos como usuario 'anonymous' y como password una dirección de correo. Luego hacemos:

ftp> cd /pub/postfix/official

Una vez en este directorio, hacemos un 'dir' o un 'ls' de forma tal de determinar la última versión oficial disponible.
Cuidado acá con los nombres asignados, ya que hay versiones SNAPSHOT, RELEASE, OFFICIAL, etc. y al pararnos en official descargaremos las versión, obviamente, oficial. Aclaro esto, pues hay versiones 'en desarrollo' o 'experimentales', las cuales son denominadas SNAPSHOT, con prestaciones nuevas ( como SAV: Sender Address Verification ) que al momento de escribir esto, sólo se posee en la versión SNAPSHOT y no es soportada en la OFFICIAL.

ftp> ls

Descargamos la última versión, postfix-2.0.13.tar.gz, al directorio local /var

ftp>get postfix-2.0.13.tar.gz /var/postfix-2.0.13.tar.gz

ftp> exit

 

OPCION 1: POSTFIX sin Soporte de PCRE:

Una vez descargado, debemos descomprimirlo y compilarlo en forma de binario ejecutable:

# mkdir /usr/ports

# mkdir /usr/ports/mail

# cd /usr/ports/mail

Posicionados en el directorio arriba creado, expandimos el archivo .tar.gz ( si tienen interés en la sintaxis del comando tar ejecuten man tar en el prompt ).

# tar -xvzf /var/postfix-2.0.13.tar.gz

# cd postfix-2.0.13

Perfecto, ahora estamos en el directorio superior del paquete de los fuentes del Postfix, listo para empezar a compilarlo. Entonces hacemos lo siguiente:

# pwd
/usr/ports/mail/postfix-2.0.13

Debe responder /usr/ports/mail/postfix-2.0.13, lo que significa que estamos en el directorio correcto ( pwd significa print working directory, y si no es el caso, hacemos cd /usr/ports/mail/postfix-2.0.13 ).
Entonces hacemos:

# make

Luego de 'llenar' la pantalla de mensajes, devuelve el prompt.
 

OPCION 2: POSTFIX con Soporte de PCRE:

Con el tema del filtrado AntiSPAM, muchas veces recurrimos a la evaluación de palabras o caracteres que hacen a la 'firma' del SPAM. Para ello, se evalúan 'Expresiones Regulares' o 'Regular Expression' en inglés, abreviadas como regexp. El análisis de las mismas, puede ser muy costoso en lo que a CPU se refiere, y entonces, se recomienda utilizar PCRE en vez del mas común, regexp. Mas adelante, está la opción tanto en header_checks como en body_checks de usar uno u otro, pero el pcre funciona si primero se lo instala. Entonces, si van a usarlo, diríjanse a http://superb.dl.sourceforge.net/sourceforge/pcre/pcre-6.3.tar.gz y descarguen la última versión ( 6.3 en este momento ). Los pasos son:

# cd /usr/ports
# mkdir pcre
# cd pcre
# ftp http://superb.dl.sourceforge.net/sourceforge/pcre/pcre-6.3.tar.gz

Una vez logueados como Anonymous, descargamos el último PCRE a nuestro directorio con el comando 'get' de FTP. Seguidamente, lo descomprimimos:

# tar -xvzf pcre-6.3.tar.gz

Esto nos crea el directorio pcre-6.3. Nos cambiamos a dicho directorio, y ejecutamos:

# cd pcre-6.3
# ./configure
# make
# make install

A partir de ahí, hemos de compilar Postfix con soporte de PCRE:

# cd /usr/ports/mail/postfix-2.0.13
# make -f Makefile.init makefiles "CCARGS=-DHAS_PCRE -I/usr/local/include" "AUXLIBS=-L/usr/local/lib -lpcre"   
<<< Cuidado, que el comando es una sola línea


Muy bien, habiendo seleccionado con o sin soporte de PCRE, recibimos finalmente el prompt ( # ).
Significa que podemos comenzar a instalarlo, pero .... falta algo importante, modificado en las versiones 1.x del Postfix, que es generar el usuario bajo el cual el Postfix corre. Sin esto, tendremos muchos errores y fallará.
Entonces, vamos a generar el usuario 'postfix' que pertenecerá al grupo 'postdrop' ( lindo trabalenguas! ) el cual será exclusivo del Postfix.
La cuenta 'postfix' será tal, que no se le permitirá loguearse al sistema, ni necesita un 'shell' ni directorio 'home'. Por lo tanto:

# adduser (ENTER)
Username: postfix
Full name: postfix
Uid (Leave empty for default): 12345
Login group [postfix]:
(ENTER)
Login group is postfix. Invite postfix into other groups? []:
(ENTER)
Login class [default]:
(ENTER)
Shell (sh csh tcsh nologin) [sh]: nologin
Home directory [/home/postfix]: /no/where
Use password-based authentication? [yes]: n
Lock out the account after creation? [no]:
(ENTER)
Username : postfix
Password : <disabled>
Full Name : postfix
Uid : 12345
Class :
Groups : postfix
Home : /no/where
Shell : /usr/sbin/nologin
Locked : no
OK? (yes/no): yes
pw: mkdir(/no/where): No such file or directory
adduser: INFO: Successfully added (postfix) to the user database.
Add another user? (yes/no): no
Goodbye!

Si por cualquier motivo, erramos en algo, basta con dar CTRL-C y abortar la carga del nuevo usuario. Si llegamos al final, y algo quedó mal, editamos el archivo /etc/passwd y eliminamos la línea mal cargada ( sólo esa, por favor ).
Igualmente, con un comando 'tail' ( ver man tail ) veremos las 10 últimas líneas de dicho archivo, así que:

# tail /etc/passwd

Y debemos obtener una línea que diga: postfix:*:12345:12345:postfix:/no/where:/no/shell o bien postfix:*:12345:12345:postfix:/no/where/postfix:/nonexistent

Luego, creamos un grupo 'postdrop' el cual no posee usuarios. Ni siquiera el usuario 'postfix' debe pertenecer a este grupo ):

# pw groupadd postdrop -g 54321

Nuevamente, haciendo un tail /etc/group, veremos la última línea con postdrop:*:54321:

Otra cosa que debemos verificar, es que hay un 'alias'correspondiente entre postfix y root, para lo cual, hacemos un tail /etc/aliases y debemos ver una línea que diga:

postfix: root  ( cuidado, no hay espacios antes de 'postfix: ' )

Si no fuese así, simplemente editamos el archivo con  ee /etc/aliases y la agregamos al final.
Hecho esto, ejecutamos:

# newaliases

Para que 'recargue' el alias generado.

Muy bien, hemos completado los requisitos de instalación del Postfix. Por lo tanto, procedemos a la siguiente sección, la Instalación.


Realizado por Andrés Gallo ( agallo@gesell.com.ar ) / Copyright © 2003-2004-2005-2006 Cooperativa Telefónica de Villa Gesell Ltda.
Última modificación: 1 de Marzo de 2006