systemadmin.es > Correo > Instalación de qmail-smtpd para localhost

Instalación de qmail-smtpd para localhost

En la instalación de un servidor suelo utilizar qmail para el envío de los correos hacia el relay (smarthost) que exista en la red. Para ahorrar daemons levantados no acostumbro a configurar el qmail-smtpd ya que esta pensado solo para emails locales. Vamos a ver como configurarlo para localhost en el caso que sea necesario por algún motivo.

Primero deberemos generar los scripts para supervise, para que este escuche únicamente a localhost deberemos indicarlo en el tcpserver:

mkdir -p /var/log/qmail/smtpd
cat <<"EOF" > /var/qmail/supervise/qmail-smtpd/run
#!/bin/sh

QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
LOCAL=`head -1 /var/qmail/control/me`

if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" -o -z "$LOCAL" ]; then
   echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in
   echo /var/qmail/supervise/qmail-smtpd/run
   exit 1
fi

if [ ! -f /var/qmail/control/rcpthosts ]; then
   echo "No /var/qmail/control/rcpthosts!"
   echo "Refusing to start SMTP listener because it'll create an open relay"
   exit 1
fi

exec /usr/local/bin/softlimit -m 40000000 \
   /usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \
       -u "$QMAILDUID" -g "$NOFILESGID" 127.0.0.1 25 /var/qmail/bin/qmail-smtpd 2>&1 | /usr/local/bin/multilog t /var/log/qmail/smtpd
EOF

Instalamos softlimit y tcpserver:

mkdir -p /usr/local/src
cd /usr/local/src
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
tar xzf daemontools-0.76.tar.gz
sed -i 's/extern int errno;/#include <errno.h>/' admin/daemontools-0.76/src/error.h
cd admin/daemontools-0.76/
./package/compile
cp -f command/softlimit /usr/local/bin/
cp -f command/multilog /usr/local/bin/

A continuación limitamos la concurrencia de emails de entrantes por localhost y levantamos el daemon:

hostname -f > /var/qmail/control/me
echo 20 > /var/qmail/control/concurrencyincoming
chmod 644 /var/qmail/control/concurrencyincoming
chmod +x /var/qmail/supervise/qmail-smtpd/run
mkdir -p /var/log/qmail/smtpd
chown qmaill. /var/log/qmail/smtpd
cat <<"EOF" > /etc/init/qmail-smtpd.conf
author      "systemadmin.es"
start on runlevel 3

respawn

exec /var/qmail/supervise/qmail-smtpd/run
EOF
initctl start qmail-smtpd

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>