3.201 cursos gratis
6.235.079 alumnos
Publica tu curso gratis
Busca cursos gratis:
Estás aquí: mailxmail > Cursos de Informática > Programación > Instalación de un Servidor de Correo en Linux > Scripts servidor de correo

Instalación de un Servidor de Correo en Linux

Autor: Elias Almendarez Frech
Curso:  4,38/5 4,38/5 (242 opiniones) |13568 alumnos|Fecha publicación: 16/06/2004
Capítulos del curso

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

Recibe nuestras novedades
Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Hay 242 opiniones. Opina sobre este curso.

Descarga el PDF gratis

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


Cursos Valoración Alumnos Vídeo
Funciones de Excel
Las funciones de Excel son una de las herramientas más poderosas dentro de esta hoja de cálculo. Estas funciones nos facilitan mucho la realización de cálculos y tratamie... [30/04/04]
 4,47/5 119.653  
Guía de seguridad para Windows 2000
Windows 2000 continua con la mejora y la continuación de la seguridad de los productos de Microsoft, como Windows NT y versiones anteriores. En esta guía podremo... [05/07/04]
 4,23/5 7.632  
Word para principiantes
Informática. Curso de Microsoft Word para principiantes en ofomática, con imágenes y vídeos de apoyo. Vamos a enseñarte de mane... [19/01/09]
 4,82/5 13.611
Curso con video
Curso con video


Publicar en   del.icio.us    digg    meneame

¿Qué es mailxmail.com?|ISSN: 1699-4914|Recomiéndanos|Ayuda
Condiciones legales de mailxmail