5. Configuración del sistema

Dividiremos esto en dos partes: configuración del host y configuración de programa Sendmail.

5.1. Configuración del host

A continuación algunos aspectos muy importantes relacionados al sistema operativo donde Sendmail se ejecutará. Esto NO es propiamente la configuración de Sendmail, pero éste requiere interactuar con diversos elementos del sistema operativo.

5.1.1. DNS

A fin de poder enviar mensajes a destinatarios remotos, Sendmail debe ser capaz de obtener la información necesaria de un servidor DNS. Incluso en una red local puede ser conveniente el empleo de un servidor DNS.

Si se desea desactivar completamente el uso del servidor DNS (por ejemplo, si nunca se saldrá a Internet) entonces se debe recompilar Sendmail con las opciones apropiadas (no explicaremos esto aquí.)

En la mayoría de computadores Unix/Linux, la dirección del servidor DNS que usan las aplicaciones se configura en el archivo /etc/resolv.conf. Por ejemplo, si su servidor DNS más cercano (el de la organización o el que ha proporcionado su proveedor) tiene dirección ip 100.2.3.4, entonces el archivo "resolv.conf" del computador destinado para ejecutar Sendmail debe lucir así:

nameserver 100.2.3.4
Por lo general se configuran dos o tres servidores DNS.

Por otro lado, a fin de que nos puedan enviar mensajes desde el exterior a nuestro servidor de correo, requerimos administrar un dominio (el dominio de la organización.) Esto implica que habrá un servidor DNS (posiblemente dentro de nuestra organización o administrado por un proveedor) que contenga la configuración de nuestra zona.

Si el dominio de nuestra organización es "laorganizacion.org", es frecuente definir que las direcciones de los usuarios locales tendrán la forma "usuario@laorganizacion.org". En algunos lugares, prefieren direcciones similares a "usuario@mail.laorganizacion.org" aunque esto es a gusto de la organización.

Esto debe reflejarse en la configuración de nuestro dominio en el servidor DNS. Asumiendo que el servidor DNS que administra nuestra zona usa el software BIND, (puede ser cualquier otro) el archivo de la zona "organizacion.org" debería contener al menos estas líneas para que las direcciones de formato "usuario@laorganizacion.org" llegen al servidor.

@	1D	IN	MX	0	correo
correo	1D	IN	A		90.8.7.6
Si se desea el segundo formato ("usuario@mail.laorganizacion.org"), las líneas correspondientes serían algo como:
mail	1D	IN	MX	0	correo
correo	1D	IN	A		90.8.7.6
Nosotros no detallaremos más la configuración del servidor DNS por ser un tema fuera del ámbito que nos compete. En [2] se puede encontrar una excelente explicación de todo esto.

Nótese que esto último se hará muy probablemente en un computador distinto al que ejecuta Sendmail.

5.1.2. Archivo hosts

El archivo /etc/hosts es complementario al sistema DNS. Para su correcta operación Sendmail normalmente requiere que el computador en que se ejecuta tenga una configuración como la siguiente:

127.0.0.1	localhost
90.8.7.6	correo.laorganizacion.org
Nótese que esto normalmente NO viene así en RedHat.

La dirección IP suministrada debe coincidir con lo que se configuró en el DNS, y el nombre del host debe ser "full", es decir, debe incluir el nombre del dominio.

5.1.3. Hostname

El nombre del computador donde se ejecuta Sendmail debe corresponder a lo configurado en el DNS y el archivo hosts. Lamentablemente, la configuración de este parámetro varía de sistema en sistema. Por ejemplo, en RedHat, la configuración del hostname se efectúa en el archivo /etc/sysconfig/network en la variable HOSTNAME.

[root@edithpiaf root]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=edithpiaf.noskhon.com.pe
GATEWAY=172.192.12.1
La forma más fácil -pero no la única- de proseguir tras modificar el hostname, consiste en reiniciar el computador.

5.2. Configuración del programa Sendmail

Sendmail es extremadamente configurable -aunque no necesariamente de un modo sencillo. Para esto posee un archivo de configuración principal que en RedHat 8 es:

/etc/mail/sendmail.cf
aunque en otros sistemas Linux/Unix es:
/etc/sendmail.cf
o incluso:
/var/adm/sendmail/sendmail.cf
La ruta exacta de este archivo normalmente se define durante la compilación de Sendmail. Es conveniente que el lector lo encuentre antes de proseguir.

Este archivo de configuración de aquí en adelante será llamado el archivo "cf" por la extensión de su nombre.

Como quizá ya haya observado el lector, el archivo "cf" tiene una sintaxis poco intuitiva, y ha sido diseñado principalmente para que el computador lo lea de un modo eficiente (mas no los humanos.)

El archivo "cf" define generalmente la ruta de otros archivos de configuración auxiliares que evitan la modificación directa del primero, simplificando la administración de Sendmail.

En las últimas versiones de sendmail (8.12 o superiores) es usual que se configure el servidor para que se ejecute "dividido" en dos programas complementarios a fin de elevar la seguridad del sistema. La siguiente salida (recortada) de RedHat Linux 8.0 ilustra esta idea:

# ps axuw|grep sendmail
root  16216  ?  S  15:43 sendmail: accepting connections
smmsp 16226  ?  S  15:43 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue
En este caso, el segundo proceso (client queue runner) es controlado mediante otro archivo de configuración:
/etc/mail/submit.cf
Obviamente, en otros sistemas este archivo se puede encontrar en otros directorios.