|
|
|
|
Administración de Sistemas Operativos
| ||
| Inicio ASO | Aula Virtual |
Una vez configurado el servidor, el siguiente paso es su inicio. Para ello, dispone del comando svscan que, con la creaci贸n de los guiones apropiados, controla la ejecuci贸n de los distintos m贸dulos de qmail. El directorio /var/qmail/boot contiene ejemplos de ficheros de inicio para las diferentes opciones de configuraci贸n. Un ejemplo de gui贸n es el siguiente:
#!/bin/sh exec env - PATH="/var/qmail/bin:$PATH" \ qmail-start "`cat /var/qmail/control/defaultdelivery`"
con el que se ejecutar谩 el m贸dulo qmail-start que admite como mecanismo de entrega de mensajes el indicado en el fichero /var/qmail/control/defaultdelivery. Para el inicio del sistema necesita crear los directorios /var/qmail/supervise/qmail-send/log y /var/qmail/supervise/qmail-smtpd/log con el bit stick activado:
mkdir 鈥損 /var/qmail/supervise/qmail-send/log mkdir 鈥損 /var/qmail/supervise/qmail-smtpd/log chmod +t /var/qmail/supervise/qmail-send chmod +t /var/qmail/supervise/qmail-smtpd
Posteriormente, debe crear los scripts de inicializaci贸n:
# !/bin/sh exec /var/qmail/rc
# !/bin/sh exec /usr/bin/setuidgid qmaill /usr/bin/multilog t /var/log/qmail
# !/bin/sh
QMAILDUID=`id 鈥搖 qmaild`
NOFILESGID=`id 鈥揼 qmaild`
exec /usr/bin/softlimit 鈥搈 2000000 \
/usr/bin/tcpserver 鈥搗 鈥損 鈥搙 /etc/tcp.smtp.cdb 鈥搖 $QMAILDUID \
-g $NOFILESGID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1
# !/bin/sh
exec /usr/bin/setuidgid qmaill \
/usr/bin/multilog t /var/log/qmail/smtpd
Los permisos necesarios para el correcto funcionamiento de estos scripts son los definidos por el octeto 755 (rwx r-x r-x) y con el usuario qmail de propietario. Adem谩s, debe crear los directorios mencionados en los guiones para el registro de eventos. Para la ejecuci贸n del servicio en el arranque del servidor, debe crear un gui贸n de inicio en el directorio /etc/init.d, al que se referenciar谩 mediante enlaces situados en los directorios de cada nivel de arranque en los que se desee iniciar o parar el servicio. Dicho gui贸n debe admitir, como argumentos de entrada, las opciones de start, stop y restart. Su contenido puede ser:
#!/bin/sh export PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin
Inicio()
{
cd /var/qmail/supervise
env - PATH="$PATH" svscan &
echo $! > /var/run/svscan.pid
}
Parada()
{
[ -r /var/run/svscan.pid ] && kill `cat /var/run/svscan.pid`
echo -n " qmail"
svc -dx /var/qmail/supervise/*
echo -n " logging"
svc -dx /var/qmail/supervise/*/log
}
case "$1" in
start)
echo -n "Iniciando qmail: svscan"
Inicio
echo "."
;;
stop) echo -n "Deteniendo qmail: svscan" Parada echo "." ;; restart) echo 鈥搉 鈥淩einiciando qmail: svsscan鈥 Parada echo 鈥.鈥 Inicio echo 鈥.鈥 ;; esac
Si no muestra ning煤n error de salida tras la ejecuci贸n del comando, puede consultar mediante el comando netstat 鈥揳 si el puerto est谩 abierto y a la espera de conexiones (indicando as铆, que se ha iniciado correctamente). Adem谩s, con comandos como ps y lsof se puede comprobar si el proceso est谩 activo (ps) y qu茅 descriptores de archivo est谩 usando.