2.1 Previo a instalar
Lo primero es crear el usuario y el grupo Postfix, necesarios para la entrega de correos. Desde la consola ejecutar:
# groupadd postfix
# adduser -g postfix postfix
Esto creara el directorio /home/postfix que precisamente se volvera la raiz del "spool" de correo, alla "/var/mail".
Advertencia! : el usuario postfix debe poseer un GID/UID superior a 500. En caso que exista el usuario postfix previamente, eliminarlo y volver a crearlo. Gracias a Alvaro Navarro por avisarme de este error.
2.2 Instalando Mysql
Instalar los paquetes relacionados con mysql:
# rpm -ihv mysqlXXXXXX.rpm
Esto incluye los paquetes mysql, mysqlclient, mysql-server y mysql-devel.
En caso de necesitar dependencias (Perl), instalarlas. Se debe tener mysql configurado e instalado antes de seguir.
2.3 Instalando Postfix
Despues de bajar los fuentes de Postfix, ir a algun directorio (preferentemente /tmp)
Ahora, como un usuario normal (no root) descomprimimos el snapshot. Por conveniencia use el mismo usuario Postfix.
# su postfix
$ cd /tmp
$ bunzip2 -c postfix-xxxx.tar | tar xfv -
Sigue configurar (dentro del directorio extraido) Postfix para compilar. Para eso usamos:
$ cd snapshot-XXXXXX
$ make -f Makefile.init makefiles
' CCARGS=-DHAS_MYSQL -I/usr/include/mysql'
' AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lm'
Luego,
$ make
De haber compilado, como root,
# make install
Postfix va a a preguntar ciertas cosas. Estas son las respuestas (en mi caso):
[install_root] /
[tempdir] /tmp
[queue_directory] /var/spool/postfix
[config_directory] /etc/postfix
[daemon_directory] /usr/libexec/postfix
[command_directory] /usr/sbin
[sendmail_path] /usr/sbin/sendmail
[new_aliases_path] /usr/bin/newaliases
[mailq_path] /usr/bin/mailq
[mail_owner] postfix
[sample_directory] /etc/postfix/sample
[setgid] no
[manpage_directory] /usr/share/man
Algunas versiones mas nuevas reclaman por "setgid_group" y que no se puede indicar "no". En este caso, crear el usuario postdrop y responder a la pregunta :
[setgid_group] postdrop
Una alternativa rapida para esto tambien es colocando derechamente postfix.
Para permitir que Postfix sea ejecutado al momento de iniciar el servidor, usando chkconfig, crear el siguiente script y copiarlo al directorio /etc/rc.d/init.d:
#!/bin/sh
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
[ ${NETWORKING} = "no" ] && exit 0
postfix=/usr/sbin/postfix
prog=postfix
start() {
action $"Starting $prog:" $postfix start
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/postfix
}
stop() {
action $"Stopping $prog:" $postfix stop
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/postfix
}
RETVAL=0
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
reload)
action $"Reloading $prog:" $postfix reload
exit $?
;;
abort)
action $"Aborting $prog:" $postfix abort
exit $?
;;
flush)
action $"Flushing $prog queue:" $postfix flush
exit $?
;;
check)
action $"Checking $prog:" $postfix check
exit $?
;;
*)
echo $"Usage: $prog {start|stop|restart|reload|abort|flush|check}"
exit 1
esac
exit $RETVAL