Instalando y configurando majordomo-1.94.5 (Mailing list manager)
Introducción
Majordomo es un programa que automatiza la gestión de listas de correo en Internet . Los comandos son enviados a Majordomo vía correo electrónico. Una vez levantada una lista virtualmente todas las operaciones pueden ser realizadas remotamente, no requiriendo la intervención del postmaster del sitio de la lista.
1.-Download
Baja Majordomo majordomo-1.94.5.tar.gz en los siguientes
sitios
# cd /usr/local/src
# tar -zxvf majordomo-1.94.5.tar.gz
2.-Crear el user y group
…
majordomo:x:3001:
majordomo:x:507:3001::/usr/local/majordomo:/bin/bash
3.-Makefile
Editar /usr/local/src/majordomo-1.94.5/Makefile
... #------------- Configure these items ----------------# # # Put the location of your Perl binary here: PERL = /usr/bin/perl # What do you call your C compiler? CC = cc # Where do you want Majordomo to be installed? This CANNOT be the # current directory (where you unpacked the distribution) W_HOME = /usr/local/majordomo # Where do you want man pages to be installed? MAN = /usr/local/man # You need to have or create a user and group which majordomo #will run as. # Enter the numeric UID and GID (not their names!) here: W_USER = 507 W_GROUP = 3001 # These set the permissions for all installed files and executables #(except the wrapper), respectively. Some sites may wish to make #these more # lenient, or more restrictive. FILE_MODE = 644 EXEC_MODE = 755 HOME_MODE = 751 # If your system is POSIX (e.g. Sun Solaris, SGI Irix 5 and 6, #Dec Ultrix MIPS, BSDI or other 4.4-based BSD, Linux) #use the following four lines. Do not # change these values! WRAPPER_OWNER = root WRAPPER_GROUP = $(W_GROUP) WRAPPER_MODE = 4755 POSIX = -DPOSIX_UID=$(W_USER) -DPOSIX_GID=$(W_GROUP) # Otherwise, if your system is NOT POSIX (e.g. SunOS 4.x, SGI Irix 4, # HP DomainOS) then comment out the above four lines and uncomment # the following four lines. # WRAPPER_OWNER = $(W_USER) # WRAPPER_GROUP = $(W_GROUP) # WRAPPER_MODE = 6755 # POSIX = # Define this if the majordomo programs should *also* be run in the same # group as your MTA, usually sendmail. This is rarely needed, but some # MTAs require certain group memberships before allowing the #message sender # to be set arbitrarily. # MAIL_GID = numeric_gid_of_MTA # This is the environment that (along with LOGNAME and USER #inherited from the # parent process, and without the leading "W_" in the variable names) #gets # passed to processes run by "wrapper" W_SHELL = /bin/sh W_PATH = /bin:/usr/bin:/usr/ucb W_MAJORDOMO_CF = $(W_HOME)/majordomo.cf # A directory for temp files.. TMPDIR = /tmp #--------YOU SHOULDN'T HAVE TO CHANGE ANYTHING BELOW THIS LINE.------- ...
4.-Make
# cp /usr/local/src/majordomo-1.94.5/ sample.cf /usr/local/majordomo/majordomo.cf
... $whereami = "hostname.tudominio"; ... $sendmail_command = "/usr/sbin/sendmail"; ...
# make install
...
To finish the installation, 'su' to root and type:
make install-wrapper
If not installing the wrapper, type
cd /usr/local/majordomo; ./wrapper config-test
(no 'su' necessary) to verify the installation.
# make install-wrapper
./install.sh -o root -g 45
-m 4755 wrapper /usr/local/majordomo/wrapper
To verify that all the permissions and etc are correct,
run the command
cd /usr/local/majordomo; ./wrapper config-test
# cd /usr/local/majordomo; ./wrapper config-test
...
I see you haven't registered this version of Majordomo.
By registering, you will be notified of patches and further releases
of Majordomo. Shall I send email to
majordomo-registration@greatcircle.com
to register this version? (I'll cc Majordomo-Owner@localdomain)
[yes]
# Majordomo export PATH=$PATH:/usr/local/majordomo/bin
5.-Configurando los alias
Edita
# Majordomo majordomo: "|/usr/local/majordomo/wrapper majordomo" owner-majordomo: tu@tudominio majordomo-owner: owner-majordomo
.
6.-Configurar sendmail
##################### # Trusted users # ##################### # this is equivalent to setting class "t" #Ft-o /etc/mail/trusted-users %[^#] Troot Tdaemon Tuucp Tmajordomo Tmdom wwwrun root uucp daemon mail ...
7.-Haciendo una nueva lista de correos
Hacer una lista de correos con el siguiente nombre linuxfreak
# Linuxfreak linuxfreak: "|/usr/local/majordomo/wrapper resend -l linuxfreak linuxfreak-outgoing" linuxfreak-outgoing::include:/usr/local/majordomo/lists/linuxfreak owner-linuxfreak: mtc@ns1.myhost.cl linuxfreak-request: owner-linuxfreak linuxfreak-approval: owner-linuxfreak
ejecuta
#newaliases
8.-Envia un comando al servidor de listas
$ echo 'help' | mail majordomo
Si todo marcha bien, deberías ver un mensaje de majordomo
y no de Mailer-Daemon
en mi caso el mail lo deberías ver en:
#less /var/spool/mail/majordomo o #less /var/spool/mail/mtc
9.-Crear un archivo en lists
Crear un archivo vacio con el nombre linuxfreak en el subdirectorio
de listas de Majordomo(el nombre de la lista debe tener sus caracteres
en minusculas, ya que es asi como lo busca majordomo). Este archivo
almacenará las claves de correo de las personas que pertenecerán
a la lista.
#vi /usr/local/majordomo/lists/linuxfreak #chmod 644 linuxfreak $touch /usr/local/majordomo/lists/linuxfreak
10.-Envia un mensaje a la dirección majordomo@tudominio
Para saber cual es tu dominio debes hacer #hostname -d
y para saber el nombre de tu máquina #hostname
Debes enviar el mensaje a la dirección majordomo@myhost.cl(en
mi caso) con los siguientes comandos de majordomo en el body
#mail majordomo Subject: config linuxfreak linuxfreak.admin end . EOT
Esto significa, config(comando)
por defecto majordomo asigna como clave del administrador de la
lista a
.admin
Se creará un archivo de configuración por defecto
para la lista y nos será enviado por correo. Este archivo
es linusfreak.config y lo encuentras en /usr/local/majordomo/lists.
Edita linuxfreak.config, en la línea 38 encuentras admin_passwd
= linuxfreak.admin la cual puedes modificar y en la línea
220 puedes modificar por ejemplo: moderate = yes
si quieres que tu lista sea moderada y tambien moderator
=
-approval@tudominio. No habría
ningun problema en que la dirección del moderador fuera
cualquier otra. En una lista moderada cualquier mensaje enviado
a ella para su difusión es enviado antes al moderador que
ve si aprueba o no dicho mensaje con lo siguiente:
Approved:
y luego lo reenvia a la lista.
Modifica las opciones que consideres oportunas(como las passwords)
y envialo de nuevo al servidor para que cambie la configuración
por defecto. Entonces el cuerpo tendría:
newconfig linuxfreak linuxfreak.admin
Si todo sale bien, recibiras un mensaje confirmando el cambio.
Todos los mesajes que envias pueden retornar algun error de Mailer-Daemon@tudominio
para ello debes estar siempre mirando el archivo de donde enviaste
el correo. Por ejemplo yo los envio de root:
#mail majordomo. Entonces, debo ver el archivo root que
esta en #less /var/spool/mail/root
La versión actual de Majordomo no soporta cambios incrementales
de la configuración, por lo que tendrás que repetir
los pasos config y newconfig cada vez que quieras
modificar algo.
11.-Crear el archivo linuxfreak.info
Ahora procedemos a crear el archivo linuxfreak.info
para ello debemos enviar un correo a Majordomo y escribimos
en el body lo siguiente:
#mail majordomo Subject: info linuxfreak EOF info linuxfreak end .
Importante!. Si no se crea el archivo linuxfreak.info(#whereis
linuxfreak.info) lo puedes hacer de otra forma.
Primero debes crear el archivo linuxfreak.info y debes
escribir en él la información acerca de tu lista.
#vi linuxfreak.info
Luego para ver si todo resultó bien envía un correo
a Majordomo pidiendole la información de tu lista linuxfreak.
#mail majordomo Subject: info linuxfreak .
Y majordomo te responderá en /var/spool/mail/root
(en mi caso)
12.-Creación del archivo de mensajes de la lista linuxfreak
Majordomo permite guardar los mensajes que llegan a la lista
en archivos. Estos son recuperables posteriormente por los usuarios
mediante los comandos index (para ver los archivos
disponibles) y get (para obtener una copia del
archivo vía correo electrónico). Dependiendo del
volumen de los correos de la lista podemos decidir generar un
archivo histórico por día, mes o año. El
programa que permite el archivo de mensajes se llama archive2.pl
y esta en /usr/local/majordomo/. Este programa contiene
aproximadamente en la línea 20 las opciones con las que
puede ser invocado. Por ejemplo, que queremos convertir la lista
linuxfreak en una lista con histórico, para ello debemos
hacer lo siguiente:
Creamos un directorio para almacenar los archivos(la localización
esta en majordomo.cf en las variables $filedir
y $filedir_sufix)
#mkdir /usr/local/majordomo/lists/linuxfreak.archive
Ahora modificamos los alias en /etc/aliases
#Linuxfreak
linuxfreak: “|/usr/local/majordomo/wrapper resend -l linuxfreak
linuxfreak-outgoing”
linuxfreak-outgoing” linuxfreak-outgoing: :include:/usr/local/majordomo/lists/linuxfreak,
“/usr/local/majordomo/wrapper archive2.pl -a -m -f /usr/local/majordomo/lists/linuxfreak.archive/archive”
owner-linuxfreak: mtc@myhost.com
… lo demás igual
Lo que se hizo fue indicar que se envie una copia de cada mensaje
al programa archive2.pl para que sea guardado. El parámetro
-m indica que se debe crear un archivo diferente para
los mensajes de cada mes(-d día, -m mes, -y año).
El directorio y nombre de esos archivos viene dado por el parámetro
-f .
archive2.pl genera el nombre completo de los archivos añadiendo
el sufijo correspondiente al año, mes o día (aa,
aamm o aammdd) al valor del parámetro -f. En el
ejemplo, -f es /usr/local/majordomo/lists/linuxfreak.archive/archive
y el archivo es mensual (-m), entonces obtenemos el siguiente
nombre en: /usr/local/majordomo/lists/linuxfreak.archive/archive.aamm.
II.-Otras consideraciones
Crear otros archivos para la lista linuxfreak
Crear un archivo que contenga las passwords
El archivo tendrá las passwords de la lista el cual
es utilizado por los dueños de las listas para poder
hacer las aprobaciones a peticiones como subscribe, unsubscribe,
etc.
#vi /usr/local/majordomo/lists/linuxfreak.passwd
Crear un archivo para lista cerrada
#vi /usr/local/majordomo/lists/linuxfreak.closed
III.-Comandos
Para facilitar la administración de una lista, el propietario
debe manejar cierto número de comandos para las diferentes
acciones a realizar y son los siguientes:
approve
Este comando se utiliza para que el dueño de la lista pueda
aprobar las solicitudes de inscripción o cancelación
a una lista cerrada, o de una cuenta diferente a la que envió
la petición. Es necesario incluir el PASSWORD de la lista
en
.
approve
{subscribe|unsubscribe}
[]
Por ejemplo si el dueño en una lista cerrada le llegará
este tipo de mensaje:
Date: Sun, 5 Jan 2003 20:20:48 -0400
From: Majordomo@ns1.myhost.com
To: mtc@ns1.myhost.com
Subject: APPROVE linuxfreak
Un usuario X llamado Kukl requiere que usted apruebe lo siguiente:
subscribe linuxfreak kukl@ns1.myhost.com
Si el dueño de la lista lo aprueba, enviará un mensaje
a
majordomo@tudominio
con el siguiente comando en el cuerpo del mensaje:
approve PASSWORD subscribe linuxfreak kukl@ns1.myhost.com
Donde PASSWORD es el password correspondiente a la lista de
correo. Si se desaprueba no se realisa ninguna acción.
Approved
Cómo aprobar mensajes en una lista moderada
El dueño de una lista moderada deberá realizar el
siguiente proceso de aprobación de mensajes:
El dueño recibirá dos correos, el primero tendrá
en el Subject la palabra BOUNCE, la cual nos indica que el correo
que sigue después de este es el que tiene que aprobar.
Para aprobar el mensaje se tiene que realizar un Forward de
dicho mensaje a la dirección de la lista.
Posteriormente en el Subject se debe eliminar lo referente
al Forward: (fwd); y del cuerpo del mensaje se elimina la línea
siguiente,
———- Forwarded message ———-
Una vez eliminado lo anterior se debe poner lo siguiente en
la parte superior del mensaje, (en la primera línea):
Approved: password de la lista
Ya que se realizaron todos los pasos anteriores se envía
el correo para que le llegue a todos los miembros de la lista,
si está inscrita su cuenta en la lista también
le llegará el mensaje, de esta forma puede comprobar
que el mensaje le fue enviado a todas las personas de la lista.
passwd
Para cambiar el PASSWORD de la lista.
passwd
Donde lista es el nombre de la lista a la que se desea
cambiar el password.
newinfo
Este comando es útil para reemplazar el archivo de información
de la lista, esta es la que los usuarios obtienen cuando hacen
una solicitud por correo a Majordomo, con el comando “info
“.
La manera de hacer esto es mandar un correo a Majordomo, este
comando y en el body lo siguiente:
newinfo
config
Muestra el archivo de configuración de la lista . El password
debe ser el PASSWORD de la lista el cual está en el archivo
.passwd.
config
newconfig
Valida e instala un nuevo archivo de configuración de la
lista . Si en el nuevo el archivo de configuración existe
un error entonces este no será aceptado y se mandará
un mensaje al dueño de la lista que incluye las líneas
donde se presentó el error.
newconfig
writeconfig
Escribe un nuevo archivo de configuración de la lista en
la forma estándar. Este comando obliga a hacer una reescritura
del archivo de configuración con todos los comentarios
y valores por default.
writeconfig
© 2003 Centro de Soluciones Linux, se permite la libre distribución y modificación de este documento por cualquier medio y formato mientras esta leyenda permanezca intacta junto con el documento y la distribución y modificación se hagan de de acuerdo con los términos de la Licencia Pública General GNU publicada por la Free Software Fundation; sea la versión 2 de la licencia o (a su elección) cualquier otra posterior. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de estos
















Publica un comentario