Manual de Instalación de Minordomo


Investigación Comunicación e Informática para el Desarrollo A.C.


Lic. Víctor Manuel Martinez Martinez. (vicm3 at hotmail.com) [Coordinador y contacto técnico]
Ing. Dustano Andrade (dandrade at tutopia.com)
Lic. Rodolfo Rivera (rgrivera at axtel.net)
Lic. Yuri Angel (yaz at prodigy.net.mx)
Lic. Nancy Oviedo (nancyom70 at hotmail.com)
Lic. Elizabeth Navarro (eli_navarro at yahoo.com)

Manejador de listas de correo Minordomo

Minordomo es un remplazo para el manejador de listas Majordomo, que es mucho mas simple tanto en programación como moderación e instalación, por lo mismo conteniendo menos opciones.

Los comandos soportados (a diferencia de con Majordomo, deben ser enviados en el subject, para que sean procesados) son:

subscribe <lista> suscribe a un quien envía el comando de la <lista> de correo
unsubscribe <lista> desinscribe a quien lo envía de la <lista> de correo
info [<lista>] obtiene información de la <lista> o del servidor
list <lista> regresa una lista de suscriptores (si esta activado)

Instrucciones de instalación

El archivo donde viene contenido el manejador de listas de correo puede obtenerse vía ftp anónimo en:

ftp://ftp.ndn.net/pub/

Siendo la distribución actual minordomo-0.7.6.2.tar.gz

Para instalar minordomo, hay que descomprimir el archivo en Unix:

gzip -d minordomo-0.7.6.2.tar.gz

tar -xvf minordomo-0.7.6.2.tar

En linux

tar xvfz minordomo-0.7.6.2.tar.gz

Una vez hecho esto tendremos los siguientes archivos:

 

Copyng La licencia GPL
minordomo.conf.sample El ejemplo de configuración
minordomo.conf.txt La explicación de cada parámetro de la configuración
minordomo.pl El script en si
minordomo.spec Información sobre el programa
minorweb.pl Script que permite el acceso a los archivos de las listas vía WEB
News Historia de los cambios y modificaciones en el programa
Readme Información sobre la instalación
README.template Información de cómo configurar los templates para las paginas WEB de los archivos

Para que minordomo funcione es necesario colocar minordomo.pl en algún lugar donde pueda ser ejecutado por nuestro MTA (Mail Transport System, Sistema de Transporte de Correo) usualmente /usr/local/sbin es una buena elección, también es necesario copiar minordomo.conf.sample a /etc/minordomo.cf

El archivo de configuración de minordomo contiene en si mismo la explicación de cómo configurarse. Si se desea colocar minordomo.conf en algún lugar diferente, solo es necesario modificar la línea apropiada al principio de minordomo.pl.

Es necesario también añadir un alias para minordomo que pase los mensajes a través del programa. Por ejemplo; con Sendmail se añadiría la siguiente línea y después se correría newaliases

minordomo: "|/usr/local/sbin/minordomo.pl"

Sí deseas tener una sencilla interfaz Web a los archivos de tus listas, junto con el programa principal se provee el script minorweb.pl el cual es util para esto. Es necesario colocarlo en el directorio de scripts ejecutables por el sistema (cgi-bin). También este script funciona con el modulo mod_perl de Apache (el cual mejora el rendimiento de los scripts en Perl) para mayores referencias http://perl.apache.org o http://apache.perl.org .Para usar minorweb.pl con mod_perl, simplemente es necesario colocarlo en el directoro mod_perl. Hay que apuntar que minorweb.pl tambien utiliza el archivo /etc/minordomo.conf ,asi que si se ha colocado este archivo en un lugar diferente de este, es necesario modificar tambien la variable que hace llamada a la configuración al principio de minorweb.pl para que apunte al lugar correcto.

Creando las listas de correo de Minordomo

Crear las listas de correo es un proceso relativamente simple.

Primero es necesario crear un directorio para la lista en el directorio que hallamos elegido (en minordomo.conf). Este directorio debe ser poder ser leído / escrito por nuestro MTA. El nombre del directorio deberá ser el de la lista.

Si se coloca un archivo llamado "config" en este directorio, las opciones en el cancelaran las dictadas en minordomo.conf. Esto es útil cuando uno tiene listas de correo que necesitan usar diferentes valores para nombre de dominio, dirección de archivo, etc. (por ejemplo, listas que se encuentran en servidores virtuales).

En el directorio también se puede tener un archivo llamado info el cual contendrá la información que se regresara cuando un usuario se suscribe o manda el comando "info <lista>".

También es recomendable colocar una línea o dos con la información de la lista en el directorio principal de minordomo describiendo la lista.

También de manera opcional se puede colocar un archivo llamado footer en el directorio de la lista este archivo será automáticamente añadido a todo mensaje que pase por la lista. Este debe ser texto plano y acepta las siguientes secuencias de escape.

\a: se convierte en la dirección de correo del administrador
\d: se convierte en el nombre de dominio
\l: se convierte en el nombre de la lista de correo (sin incluir el dominio)
\u: se convierte en el URL del archivo de la lista

Puedes revisar el archivo sample-list para mas ejemplos de los archivos mencionados antes.

Una vez que se han creado el directorio y los archivos necesarios, se añade otro alias, esta vez para la lista:

lista: "|/usr/local/sbin/minordomo.pl lista"

Existen dos listas de correo dedicadas a minordomo en si mismo, una para desarrolladores y otra para usuarios, son respectivamente minordomo-devel@dnd.net y minordomo-user@ndn.net .

Notas sobre el shell restringido de Sendmail (smrsh)

En algunos sistemas basados en Sendmail, es posible obtener un error al intentar utilizar minordomo o al mandar correo a una lista de minordomo, similar al que siguiente:

----- Transcript of session follows -----
sh: minordomo.pl not available for sendmail programs
554 "|/usr/local/sbin/minordomo.pl"... Service unavailable

Si esto sucede, es muy probable que estes corriendo Sendmail con la opción de shell restringido (smrsh). En este caso, es necesario crear una liga simbolica a minordomo.pl en /etc/smrsh por ejemplo:

cd /etc/smrsh
ln -s /usr/local/sbin/minordomo.pl .

Esto debe acabar con el problema.

Configuracion de minordomo.conf

minordomo.conf establece las variables para cierto numero de parámetros usados en las listas de correo, los valores configurables son:

SMTP_server=

Con esto se regula cual es el servidor usado para mandar correo, por omisión se toma localhost y la mayor parte del tiempo se puede quedar asi. Si existe un gateway de correo especial en nuestra red, deberemos esciribir el nombre aquí.
SMTP_server=localhost
SMTP_server=hostname.domain.top
SMTP_server=mailgateway.domain.top

domain=

Es necesario proveer de un nombre de dominio para que minordomo funcione. Si solo tenemos una maquina, entonces colocaremos el nombre de esta maquina como el dominio. Si se tiene un servidor gateway de correo sirviendo a todo nuestro dominio, entonces se coloca solo el nombre de dominio.
domain=hostname.domain.top
domain=domain.top


directory=/var/lib/minordomo

Minordomo necesita conocer donde buscar las listas y sus configuraciones individuales, y esta linea, hace el truco. Por omisión es /var/lib/minordomo pero es posible cambiarla a cualquier ruta que elijamos, solo hay que asegurarse de cambiar la línea referente a este valor en minorweb.pl.

admin=

Con esta línea se controla a quién se le envían los errores, por omisión el valor es root@localhost y puede dejarse sin problemas de esa forma, pero puede ser cambiado a postmaster@localhost (que sin embargo generalmente es un alias para root)

archive=*

Dependiendo del tema que trate la lista en ocasiones es bueno tener un archivo histórico de los mensajes, el valor por omisión es (*) significa que toda lista obtiene un archivo accesible mediante la WEB. Si tu no deseas que las listas deban ser publicas se posible colocar el valor como vacío. Si se tiene una o mas listas que se desee tener en la red entonces se nombran esas separadas cada una por un espacio.
archive=
archive=milista lista-abierta informacion

list_cmd=

¿Quién esta suscrito a tu lista? Si colocas este valor a (*) entonces los miembros de la lista y tu, pueden pedir a minordomo que liste a los inscritos en esa lista. El valor por omisión sin embargo es "nada", lo que significa unicamente el administrador del sistema (tu), el que puede leer las listas de suscriptores. Por supuesto que puedes colocar los permisos de acceso lista por lista. El valor por omisión es el generalmente usado y puede dejarse así sin problema... siempre puedes cambiarlo después si lo necesitas.
list_cmd=*
list_cmd=openlist freelist


open_lists=

¿Qué listas están abiertas para enviar mensajes? Si, esta línea decide exactamente eso. El valor por omisión (nada) significa que no existen listas abiertas, y yo creo que tú debes considerar en cambiar esto. Ya sea haciendo que todas las listas estén abiertas a mensajes con (*) o especificando que listas reciben mensajes. Después de todo lo que queremos es que la gente pueda participar en las listas de correo, ¿no?.
open_lists=*
open_lists=mylist openlist freelist secretlist soapbox


closed_lists=

Colocando el nombre de una lista en este valor la convierte en moderada o en lista de solo anuncios (es decir solo el administrador puede mandar mensajes a esa lista). Puedes hacer que todas las listas sean cerradas con un (*) o puedes hacerlo selectivamente nombrándolas una por una separadas por un espacio. En lo personal me gustan las listas abiertas, y por lo tanto este es el valor por omisión.
closed_lists=*
closed_lists=secretlist soapbox


Comandos usados en los archivos de configuración

Los siguientes comandos se pueden definir de manera global en /etc/minodromo.conf o colocar en archivos individuales, uno por cada lista (los cuales reemplazan el valor global) en el directorio donde se encuentra cada lista, deben ser nombrados config, se soportan comentarios, es decir si se empieza una línea con # lo que se encuentre después del símbolo no será interpretado como comando, sino simplemente ignorado, los valores permitidos son:

max_size=0

Usar cero en este campo significa que no existirá limitación en el tamaño de los mensajes de ninguna lista, a menos que se especifique en el archivo de configuración para esa lista, por ejemplo un valor de 1024 significara que cada mensaje tendrá un máximo de 1K y un valor de 65536 significara que el mensaje será máximo de 64K (En otras palabras el numero debe ser definido en bytes). Un limite razonable es 10K ya que minordomo no soporta attachments.
max_size=8192
max_size= 10240

set_re_to=no

Este valor regula si minordomo cambiará o no la cabecera correspondiente a Reply-To el valor por omisión se encuentra con el valor de "no" lo que significa que una contestación (reply) iría directo al emisor del mensaje, no a la lista. Esta es una manera de mantener la platica y/o comentarios meramente personales fuera de la lista. Colocar este valor a "yes" causa que la lista se mas social, haciendo que las contestaciones vayan a la lista.
set_re_to=yes

re_to_address=$list@$domain

Sí se coloca a "yes", esta es la dirección que se colocará en la cabecera Reply-To, si no se especifica nada, se usará por omisión la dirección de la lista. Esta opción es útil, por ejemplo en el caso de tener una lista de anuncios solamente, donde la discusión debe ir a una dirección diferente.
re_to_address=discussion@domain.com

subject_prefix=

El valor por omisión de usado es "nada" lo que significa que minordomo deja la línea de subject tal cual esta. Lo cual hace que quien recibe los mensajes de la lista tenga problemas para saber cual mensaje provino de la lista. Colocando subject_prefix a [mi lista] (con los paréntesis) añadirá ese texto al inicio del subject. El valor usado en general es el nombre de la misma lista.
subject_prefix=[mi lista]


URL=

¿Donde quieres poner tus archivos públicos de los mensajes? El valor por omisión (nada) los coloca en el mismo folder donde se encuentra la lista. Un lugar mas lógico de otra forma podría ser entre los archivos de apache, en el corazón del servidor Web.
URL=http://host.domain.net/archive/mylist

template=

Este valor es únicamente usado por la interface de Web (minorweb.pl). Es la ruta a un archivo plantilla de HTML para usar cuando se despliegan los archivos de las listas.
template=/var/www/template.html

Valores para los archivos plantilla

El archivo de plantillas (de valores para las variables de las plantillas) es un archivo HTML que sera usado como plantilla cuando se usa la interface para WWW minorweb. Es un archivo HTML estandar que utiliza las siguientes etiquetas especiales para minorweb:

<!-- MINORWEB TITLE -->

minorweb remplazara esta etiqueta con un titulo razonable para lo que se esta mostrando. Por ejemplo, desplegara "minordomo-listaamigos@sagan.ilce.edu.mx: Marzo 2000" (sin las comillas) para los archivos de la lista "minordomo-listaamigos@sagan.ilce.edu.mx" de Marzo del 2000. Si un mensaje especifico es desplegado el titulo será el subject de ese mensaje.

<!-- MINORWEB BODY -->

Esta etiqueta *Debe* estar presente en la plantilla. Aquí es donde minorweb coloca el contenido que es pedido al servidor. Por ejemplo, la información de la lista y la selección de los archivos históricos por mes. O el texto de un mensaje, eso será colocado aquí.

<!-- MINORWEB HIDE -->
<!-- MINORWEB /HIDE -->

El texto entre estas dos etiquetas será removido antes de que la página sea mandada al cliente. Esto es útil, sí estas utilizando una página web existente como plantilla. Así puedes colocar estas etiquetas alrededor del contenido presente en esa página y entonces poder usar los otros elementos de esa página (definición de colores, menús, etcétera) en minorweb.