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.