Instalación inicial de Qmail

La instalación de Qmail en un Sistema NO interferirá con el funcionamiento de Sendmail. Por lo tanto es posible que co-habiten ambos servidores de Mail (MTA's) en el mismo "Host" sin ningún tipo de conflicto.

  • Una vez obtenido el archivo Tar que contiene Qmail, este debe ser descomprimido en un directorio temporal ( /tmp por lo general) para poder iniciar la instalación.

  • Crear el directorio donde residirá qmail: /var/qmail .

  • De la misma manera en que otros programas en un sistema *nix requieren de usuarios ( /etc/passwd ) y grupos ( /etc/group ) ( ftp,tty... ) para su funcionamiento, Qmail requiere de 2 grupos y 7 usuarios los cuales son únicamente para uso interno .

Primero se deben crear los grupos, esto puede hacerse mediante los comandos:

groupadd nofiles
groupadd qmail 

o editando el archivo /etc/group directamente

nofiles:*:3100
qmail:*:3200

Crear los usuarios qmaild , qmailp , qmail , alias bajo el grupo (GID) nofiles y qmailq , qmailr, qmails bajo el grupo (GID) qmail . Mediante comandos:

useradd -g nofiles -d /var/qmail/alias alias 
useradd -g nofiles -d /var/qmail qmaild
useradd -g nofiles -d /var/qmail qmaill 
useradd -g nofiles -d /var/qmail qmailp 
useradd -g qmail -d /var/qmail qmailq 
useradd -g qmail -d /var/qmail qmailr 
useradd -g qmail -d /var/qmail qmails 

O editando el archivo /etc/passwd directamente:

alias:*:1650:3100::/var/qmail/alias:/bin/true
qmaild:*:1651:3100::/var/qmail:/bin/true
qmaill:*:1652:3100::/var/qmail:/bin/true
qmailp:*:1653:3100::/var/qmail:/bin/true
qmailq:*:1654:3200::/var/qmail:/bin/true
qmailr:*:1655:3200::/var/qmail:/bin/true
qmails:*:1656:3200::/var/qmail:/bin/true

Asegúrese que los usuarios pertenezcan a los grupos indicados

make setup check

./config-fast <nombre_del_"Host">  
       o  
./config  

El primer comando toma como argumento el nombre completo del "Host" (FQDN) , nombre+dominio , esto seria aquel configurado en /etc/sysconfig/network (utilice el comando uname -a para observar el FQDN directamente).

El segundo comando busca en un servidor DNS todos los nombres completos (FQDN) a los que corresponde el nodo IP del "Host"; de nuevo, un poco más sobre este tema se encuentra en RR MX en DNS (El procesar correos electrónicos no es garantizado) .

 # touch .qmail-postmaster .qmail-mailer-daemon .qmail-root 
# chmod 644 .qmail* 

Nótese que los archivos inician con un "." (punto) como aquellos de la configuración del Shell ( .bashrc,.cshrc ) Asegúrese que este directorio (alias ) y los archivos pertenezcan al usuario alias. Más sobre esto en Buzones en Qmail

  # cp /var/qmail/boot/home /var/qmail/rc 
 # csh -cf '/var/qmail/rc &' 

El comando anterior ejecuta el archivo rc vía el Shell "C" , en el fondo & ("background").

qmail: status: local 0/10 remote 0/20 

El registro ("log") al cual será enviado este mensaje dependerá de la configuración del archivo /etc/syslog.conf

# echo to: root | /var/qmail/bin/qmail-inject

El comando enviará un mensaje al usuario root hacia el "Host" definido en /var/qmail/control/me , esto es , si el archivo me contiene server1.osmosislatina.com , el correo será enviado a root@server1.osmosislatina.com .

  qmail: new msg 797072
  qmail: info msg 797072: bytes 244 from <nsadmin@server1.osmosislatina.com> qp 3860 uid 889
  qmail: starting delivery 4: msg 797072 to local root@server1.osmosislatina.com
  qmail: status: local 1/10 remote 0/20
  qmail: delivery 4: success: did_1+0+0/
  qmail: status: local 0/10 remote 0/20
  qmail: end msg 797072

Si revisa el directorio /var/qmail/alias observará que existe un archivo llamado Mailbox , es este archivo el que contiene el mensaje que fue enviado a root .

 # echo to: desconocido | /var/qmail/bin/qmail-inject 

Este comando intentará enviar un mensaje al usuario desconocido , debido a que éste no existe el usuario que lo envió ("root") recibirá un mensaje indicándole que no fue posible la entrega. La siguiente secuencia aparecerá en el registro ("log"):

qmail: new msg 797069
 qmail: info msg 797069: bytes 251 from <root@server1.osmosislatina.com> qp 3871 uid 889
 qmail: starting delivery 6: msg 797069 to local desconocido@server1.osmosislatina.com
 qmail: status: local 1/10 remote 0/20
 qmail: delivery 6: failure: Sorry,_no_mailbox_here_by_that_name._(#5.1.1)/
 qmail: status: local 0/10 remote 0/20
 qmail: bounce msg 797069 qp 3874
 qmail: end msg 797069
 qmail: new msg 797072
 qmail: info msg 797072: bytes 842 from <> qp 3874 uid 512
 qmail: starting delivery 7: msg 797072 to local root@server1.osmosislatina.com
 qmail: status: local 1/10 remote 0/20
 qmail: delivery 7: success: did_1+0+0/
 qmail: status: local 0/10 remote 0/20
 qmail: end msg 797072

Si observa de nuevo el archivo Mailbox en /var/qmail/alias notará que este ahora contiene un mensaje nuevo que indica que no fue posible la entrega del mensaje.

 
  echo to: daniel@lejano.com | /var/qmail/bin/qmail-inject  

El comando intentará enviar el mensaje, aparecerá lo siguiente en el registro:

 qmail: new msg 797072
 qmail: info msg 797072: bytes 231 from <nsadmin@server1.osmosislatina.com> qp 3900 uid 889
 qmail: starting delivery 9: msg 797072 to remote daniel@lejano.com  
 qmail: status: local 0/10 remote 1/20

O en dado caso de no estar disponible el servidor de Mail para lejano.com aparecerá lo siguiente:

 qmail: delivery 9: deferral: <las razones porque no fue posible> 

La Instalación básica esta completa.