"La Gaceta de Linux ...haciendo de Linux algo un poco más divertido!"


Configurando Sendmail en RedHat 6.2
--o--
Mi Aventura en el corazón de la selva

Por: Ben Okopnik

Traducción al Español por: Javier Cano
el día 12 de Octubre 2000, para La Gaceta de Linux

*** NOTA: Esta no es necesariamente la mejor manera de configurar Sendmail; estoy seguro que no es la única forma. Funcionó para mi; si estas en la misma situación – máquina casera, conexión a internet intermitente, posiblemente varios usuarios en una sola máquina – quizá funcione para tí... pero no hay garantías: si se rompe, te quedas con los trozos. ***
 

Este fin de semana, instalé RedHat 6.2 en la computadora de mi hermano – solo para dar una idéa de que tan lejos he llegado, ni siquiera tuve que convencerlo (bueno, unas cuantas insinuaciones como "Oh, tu máquina se colgó otra vez? Je, la mía nunca..." los últimos años han ayudado.) Soy una persona Debian, pero el tenía un CD de RedHat, y quería la experiencia de configurar completamente un sistema RH (Famosas últimas palabras: "Después de todo, que tán diferente puede ser?")

De hecho, la instalación de RH fracasó unas cuantas veces, hasta que me dí cuenta que uno de los archivos no críticos del CD estaba dañado (mi hermano se impresionó mucho por el hecho de que yo podía personalizar la instalación al grado de eliminar un simple archivo). Asi que, nada de imágenes de escritorio por el momento – las conseguire luego de  ftp.redhat.com - pero todo lo demás salió muy bien. En un par de horas, tuve esta máquina totalmente operativa.

El primer problema vino del hecho de que su ISP (proveedor de acceso a internet), AT&T, utiliza autenticación CHAP; que no es tan facil de manipular (para aquellos de uds. que son curiosos: en el tab "Avanzado" de las propiedades de cuenta, seleccionar "Permitir a PPP hacer la autenticación" ; cerrar la herramienta de Configuración; en "/etc/ppp/chap-secrets", colocar la contraseña con doble comillas. Esto me costó un par de horas.) Una vez hecho esto, todo fué sobre ruedas... hasta que quise enviar un correo sin usar Netscape (Prefiero usar Mutt). Entonces, el circo llegó al pueblo, los payasos, malabaristas y magos y todos...

"Quien nunca ha configurado `sendmail.cf' no tiene coraje. Quien lo ha configurado más de una vez no tiene cerebro."
 -- Desconocido

Siempre consideré el manipular los archivos de configuración de sendmail algo propio de la provincia de ÜberHackers, la gente que lee codigo binario directamente y se rie de eso. Una mini instalación – el cambio de una línea en un solo archivo – la configuración más simple de un MTA ! Bueno... pensé darle al menos un intento; ya tengo varias cicatrices asi que no hay nada que perder, (escucho un coro de voces: "tu cordura!" Nunca la tuve; no será un problema.)

Me saltaré todo el rechineo de dientes y los gritos angustiosos ante la falta total de información útil en la Red (cada experto en Sendmail, en todas partes y en cualquier momento, piensa que vas a configurar un MTA para 50,000-usuarios. No hay excepciones.), y voy a pasar a las cosas prácticas. Aqui estan, paso a paso – notar que debes ser `root' para hacer todo esto:

1. Instalar el paquete "sendmail-cf". Se encuentra en el CD de RedHat, pero no es instalado por defecto; lo necesitará para hacer los cambios en la configuración.

2. En `/etc/mail', crear dos archivos - "genericsdomain" y "genericstable" (los usaremos en un minuto); en `/etc/mail/Makefile', añadir "genericsdomain.db" y "genericstable.db" a la línea "all:".

3. Escribe tu FQDN (Nombre de Dominio Registrado - ejecuta "hostname -f" para ver cual es) en "genericsdomain". Añadir "localhost" no estropeará las cosas, y parece ser una buena idea – este es el archivo usado por Sendmail para determinar si el correo que ve viene de un dominio local.

4. Escribe (esta es la parte buena) tu mail aliases en "genericstable", en un formato
"local_login_name        remote_account_name@mail_domain", como esto:

joe      big_time@yahoo.com
zelda    gorgeous@cheerful.com
walter   walter@worldnet.att.net

5. Ejecuta "make" en `/etc/mail'; esto creará las versiones ".db" de lo que acabamos de crear. Lo volveremos a ejecutar cada vez que modifiquemos estos archivos.
 

OK, hemos acabado con la parte fácil. Ahora, antes de hacer lo que sigue, bailamos desnudos de puntillas alrededor de la computadora 3 veces cantando, "No temeré; el temor ciega mi mente..." Oops – perdón, esta parte es opcional para todos...
 

6. Editar `/etc/sendmail.mc'. Añadir las siguientes líneas (Yo prefiero ponerlas al final de las otras sentencias "FEATURE", por el bien del orden):

FEATURE(masquerade_envelope)
FEATURE(genericstable, `hash -o /etc/mail/genericstable')
GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain')

Esto le dice a Sendmail que use aquellos archivos que hemos creado, y que modifique el "sobre" (La cabecera "From ", etc.) así como todas las cabeceras visibles ("From:", etc.)

7. Ejecutar "m4 /etc/sendmail.mc > /etc/sendmail.cf". Esto procesa nuestro nuevo y modificado "sendmail.mc" en una forma que Sendmail pueda entender – el archivo "sendmail.cf".

Ahora, ya casi hemos terminado, excepto por una cosa más -

8. Escribir "killall -HUP sendmail" ó "kill -HUP <PID>", usando el Sendmail PID de "ps -ax".  Esto re iniciará Sendmail lo que forzará a leer el nuevo archivo de configuración.
 

Uff!. Bueno, aun estoy vivo, y <dandome golpes en la cabeza> aun tengo mi cerebro. En alguna parte.

El sistema esta trabajando – he enviado mensajes a una cantidad de gente conocida, y sus servidores no se ahogaron; al enviarme mensajes a mi mismo y examinar las cabeceras en "/var/spool/mail/ben" con un editor de texto confirmé que no había nada horrendo ni fuera de lugar sobre ellos. He re iniciado el sistema, y todo aún se ve OK - ahora, un día despues, Me detuve pensando "BOOM". Aún asi,  uno nunca sabe...
 

Es cierto que Netscape maneja tanto los servicios SMTP y POP, un usuario a la vez; para la mayoría de personas esto es suficiente. Por otro lado, si eres de las personas (como yo) quienes odian esperar varios minutos por un cliente de correo completo con navegador de Web, cliente de noticias, interface gráfica, apunta y clickea, y muchas opciones confusas – cuando todo lo que necesitas es enviar algunos mensajes - Sendmail es la mejor respuesta.
 

Feliz Linuxeando a todos!



Referencias:

La increiblemente confusa y compleja página man de Sendmail
Lo mismo para el directorio /usr/doc/sendmail
Doblemente lo mismo para los recursos hallados en la internet

Un ligeramente lo mismo para la página "donde está cada cosa?" de Red Hat

...y un semi-decente recurso de RedHat-Europa, el Sendmail-Address-Rewrite mini-HOWTO.


Copyright © 2000, Ben Okopnik
Publicado en el número 58 de Linux Gazette, Octubre 2000