Logo Espacio Linux Paypal - Acepta pagos con tarjeta en tu negocio      
Portada Taller Linux Descargas Foros Buscar Mapa del sitio Ayuda BlogEL
   Iniciar sesión | Registrarse    
 
Principal

Patrocinadores

Boletín Espacio Linux
Las novedades del sitio y el mundo Linux en tu email.


Taller Linux
 Estación de Trabajo en Audio
 HOWTO: Configuración básica de Ratpoison
 Guía de remasterización de Knoppix
 HOWTO: Nano, mi editor favorito
 HOWTO: Configuración Básica de IceWM


Sitios amigos

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.




  • Nota: Majordomo funciona en plataformas Unix, y requiere Perl 4.036 o Perl 5.002 o superior y un compilador de C. Se recomienda actualizar Perl a la versión 5.002 o posterior dado que las futuras versiones de Majordomo no funcionan con Perl 4.

    1.-Download

    Baja Majordomo majordomo-1.94.5.tar.gz en los siguientes sitios

  • ftp://ftp.greatcircle.com
  • http://www.greatcircle.com

    # cp majordomo-1.94.5.tar.gz /usr/local/src/

    # cd /usr/local/src

    # tar -zxvf majordomo-1.94.5.tar.gz

    2.-Crear el user y group

  • Hacer un grupo majordomo.

    Edita /etc/group


    ...

    majordomo:x:3001:

  • Crea el usuario majordomo # useradd majordomo -g majordomo -d /usr/local/majordomo


    # cat /etc/passwd | grep majordomo

    majordomo:x:507:3001::/usr/local/majordomo:/bin/bash

    3.-Makefile

    Editar /usr/local/src/majordomo-1.94.5/Makefile
  • /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

  • Copiar majordomo.cf
    
    # cp /usr/local/src/majordomo-1.94.5/
    sample.cf /usr/local/majordomo/majordomo.cf
    
    
  • Edita majordomo.cf
    
    ...
    
    $whereami = "hostname.tudominio";
    
    ...
    
    $sendmail_command = "/usr/sbin/sendmail";
    
    ...
    
    
  • Make
    
    # 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] 
    
    
  • Edita /etc/bashrc (en Suse /etc/bash.bashrc)
    
    # Majordomo
    
    export PATH=$PATH:/usr/local/majordomo/bin
    

    5.-Configurando los alias

    Edita
  • /etc/aliases
    
    # Majordomo
    
    majordomo: "|/usr/local/majordomo/wrapper majordomo"
    
    owner-majordomo: tu@tudominio
    
    majordomo-owner: owner-majordomo
    
    
  • Nota : después de editar tus alias, se debe tipear newalises .

    6.-Configurar sendmail

  • /etc/sendmail.cf
    aproximadamente línea 542
    
    #####################
    
    #   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
  • /etc/aliases
    
    # 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





    Autor: Domingo Varela
    http://www.linuxsc.net/

    Fecha: 2003-07-07
    (4326 Lecturas)



  • Copyright © 2003 por Espacio Linux


    [ Volver Atrás ]
    Content ©
     



    Copyright | Términos de uso | Política de privacidad | Publicidad | Contáctanos | Blog