12.170 cursos gratis
8.781.800 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Capýtulo 5:

 Scripts servidor de correo

Script de inicio de qmail (/var/qmail/rc)
vi /var/qmail/rc

#!/bin/sh

# Using stdout for logging
# Using control/defaultdelivery from qmail-local to deliver messages by default

exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start "`cat /var/qmail/control/defaultdelivery`"

chmod 755 /var/qmail/rc

echo ./Maildir/ > /var/qmail/control/defaultdelivery

Automatización del script de inicio (/var/qmail/bin/qmailctl)
vi /var/qmail/bin/qmailctl

#!/bin/sh

# For Red Hat chkconfig
# chkconfig: - 80 30
# description: the qmail MTA

PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin
export PATH

QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`

case "$1" in
start)
echo "Starting qmail"
if svok /service/qmail-send ; then
svc -u /service/qmail-send
else
echo qmail-send supervise not running
fi
if svok /service/qmail-smtpd ; then
svc -u /service/qmail-smtpd
else
echo qmail-smtpd supervise not running
fi
if [ -d /var/lock/subsys ]; then
touch /var/lock/subsys/qmail
fi
if svok /service/qmail-pop3d ; then
svc -u /service/qmail-pop3d
else
echo qmail-pop3d supervise not running
fi
;;
stop)
echo "Stopping qmail..."
echo " qmail-smtpd"
svc -d /service/qmail-smtpd
echo " qmail-send"
svc -d /service/qmail-send
if [ -f /var/lock/subsys/qmail ]; then
rm /var/lock/subsys/qmail
fi
echo " qmail-pop3d"
svc -d /service/qmail-pop3d
;;
stat)
svstat /service/qmail-send
svstat /service/qmail-send/log
svstat /service/qmail-smtpd
svstat /service/qmail-smtpd/log
svstat /service/qmail-pop3d
svstat /service/qmail-pop3d/log
qmail-qstat
;;
doqueue|alrm|flush)
echo "Flushing timeout table and sending ALRM signal to qmail-send."
/var/qmail/bin/qmail-tcpok
svc -a /service/qmail-send
;;
queue)
qmail-qstat
qmail-qread
;;
reload|hup)
echo "Sending HUP signal to qmail-send."
svc -h /service/qmail-send
;;
pause)
echo "Pausing qmail-send"
svc -p /service/qmail-send
echo "Pausing qmail-smtpd"
svc -p /service/qmail-smtpd
echo "Pausing qmail-pop3d"
svc -p /service/qmail-pop3d
;;
cont)
echo "Continuing qmail-send"
svc -c /service/qmail-send
echo "Continuing qmail-smtpd"
svc -c /service/qmail-smtpd
echo "Continuing qmail-pop3d"
svc -c /service/qmail-pop3d
;;
restart)
echo "Restarting qmail:"
echo "* Stopping qmail-smtpd."
svc -d /service/qmail-smtpd
echo "* Sending qmail-send SIGTERM and restarting."
svc -t /service/qmail-send
echo "* Restarting qmail-smtpd."
svc -u /service/qmail-smtpd
echo "* Restarting qmail-pop3d."
svc -t /service/qmail-pop3d
;;
cdb)
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
chmod 644 /etc/tcp.smtp.cdb
echo "Reloaded /etc/tcp.smtp."
;;
help)
cat <<HELP
stop -- stops mail service (smtp connections refused, nothing goes out)
start -- starts mail service (smtp connection accepted, mail can go out)
pause -- temporarily stops mail service (connections accepted, nothing leaves)
cont -- continues paused mail service
stat -- displays status of mail service
cdb -- rebuild the tcpserver cdb file for smtp
restart -- stops and restarts smtp, sends qmail-send a TERM & restarts it
doqueue -- schedules queued messages for immediate delivery
reload -- sends qmail-send HUP, rereading locals and virtualdomains
queue -- shows status of queue
alrm -- same as doqueue
flush -- same as doqueue
hup -- same as reload
HELP
;;
*)
echo "Usage: $0 {start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help}"
exit 1
;;
esac

exit 0

chmod 755 /var/qmail/bin/qmailctl

Ahora nos disponemos a crear los enlaces de cada inicio en cada capa y los directorios de supervise.
ln -s /var/qmail/bin/qmailctl /etc/init.d/qmail
ln -s /etc/init.d/qmail /etc/rc0.d/K30qmail
ln -s /etc/init.d/qmail /etc/rc1.d/K30qmail
ln -s /etc/init.d/qmail /etc/rc2.d/S80qmail
ln -s /etc/init.d/qmail /etc/rc3.d/S80qmail
ln -s /etc/init.d/qmail /etc/rc4.d/S80qmail
ln -s /etc/init.d/qmail /etc/rc5.d/S80qmail
ln -s /etc/init.d/qmail /etc/rc6.d/K30qmail
ln -s /var/qmail/bin/qmailctl /usr/bin
mkdir -p /var/qmail/supervise/qmail-send/log
mkdir -p /var/qmail/supervise/qmail-smtpd/log
mkdir -p /var/qmail/supervise/qmail-pop3d/log
mkdir -p /var/log/qmail/smtpd
mkdir -p /var/log/qmail/pop3d
chown qmaill /var/log/qmail /var/log/qmail/smtpd /var/log/qmail/pop3d

Scripts de arranque y logeo de qmail-send
vi /var/qmail/supervise/qmail-send/run

#!/bin/sh

exec /var/qmail/rc

vi /var/qmail/supervise/qmail-send/log/run

#!/bin/sh

exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail

Scripts de arranque y logeo de qmail-smtpd (smtp-auth)

Para poder usar smtp-auth, vamos a crear una copia de vchkpw, aquí hay varios puntos importantes que hay que tener en cuenta.
cp /home/vpopmail/bin/vchkpw /home/vpopmail/bin/vchkpw.smtp
chown vpopmail.vchkpw /home/vpopmail/bin/vchkpw.smtp
chmod +s /home/vpopmail/bin/vchkpw.smtp

 

Estas líneas anteriores eran para mantener una copia intacta de vchkpw, ahora vamos a proceder a crear los scripts anteriormente citados.
vi /var/qmail/supervise/qmail-smtpd/run

#!/bin/sh

QMAILDUID=`id -u qmaild`

NOFILESGID=`id -g qmaild`

MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`

 exec /usr/local/bin/softlimit -m 4000000 /usr/local/bin/tcpserver -H -R -l 0 -c "$MAXSMTPD" -x /etc/tcp.smtp.cdb -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /var/qmail/bin/qmail-smtpd dominio.com /home/vpopmail/bin/vchkpw.smtp /bin/true 2>&1

NOTA: dominio.com lo tendremos que sustituir por el nombre de dominio asignado, en este caso era pruebas.com, pero hay que observar que tan solo ponemos pruebas.com y no ponemos mailhost.pruebas.com

Tenemos que crear el archivo concurrencyincoming, el cual estará determinado por un número concurrente para realizar envíos simultáneos.
echo 20 > /var/qmail/control/concurrencyincoming
chmod 644 /var/qmail/control/concurrencyincoming

Ahora vamos a crear el script de logeo de qmail-smtpd.
vi /var/qmail/supervise/qmail-smtpd/log/run

 #!/bin/sh

exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd

Scripts de arranque y logeo de qmail-pop3d
vi /var/qmail/supervise/qmail-pop3d/run

 #!/bin/sh 

exec /usr/local/bin/tcpserver -v -R -H -l 0 -u 89 -g 89 0 110 /var/qmail/bin/qmail-popup dominio.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1

NOTA: dominio.com lo tendremos que sustituir por el nombre de dominio asignado, en este caso era pruebas.com, pero hay que observar que tan solo ponemos pruebas.com y no ponemos mailhost.pruebas.com

vi /var/qmail/supervise/qmail-pop3d/log/run

#!/bin/sh

exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/pop3d

Ahora nos disponemos a hacer ejecutables todos estos archivos y enlazarlos con daemontools.
chmod 755 /var/qmail/supervise/qmail-send/run
chmod 755 /var/qmail/supervise/qmail-send/log/run
chmod 755 /var/qmail/supervise/qmail-smtpd/run
chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
chmod 755 /var/qmail/supervise/qmail-pop3d/run
chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service
ln -s /var/qmail/supervise/qmail-pop3d /service

Una vez hecho este último paso nuestro servidor de correo debería estar funcionando, una forma de comprobarlo es de la siguiente forma.
telnet localhost 25
telnet localhost 110

También deberemos probar el script que creamos (qmailctl) para parar los servicios y volver a iniciarlos con este comando.
/etc/init.d/qmail stop
/etc/init.d/qmail start

Nuestras novedades en tu e-mail

Escribe tu e-mail:



MailxMail tratarý tus datos para realizar acciones promocionales (výa email y/o telýfono).
En la polýtica de privacidad conocerýs tu derechos y gestionarýs la baja.

Cursos similares a Instalación de un Servidor de Correo en Linux



  • Výdeo
  • Alumnos
  • Valoraciýn
  • Cursos
1. Cómo programar aplicaciones Cliente/Servidor en Visual Basic
Visual Basic nació como un lenguaje sencillo de programación, ideal para iniciarse... [17/09/04]
14.881  
2. Joomla. Instalación y observaciones
En este breve curso vamos a aprender a instalar correctamente las plantillas... [29/11/11]
13  
3. Guía de Comandos Rápidos de Linux
Linux es la principal expresión del software libre. Linux ofrece al usuario la... [14/06/04]
22.018  

ýQuý es mailxmail.com?|ISSN: 1699-4914|Ayuda
Publicidad|Condiciones legales de mailxmail