Mailman

Mailman es un programa open source para gestionar discusiones de correo electrónico y listas de noticias. Muchas listas de correo open source (incluyendo todas las listas de correo de Ubuntu) usan Mailman como su software de gestión de listas. Es potente y fácil de instalar y mantener.

Instalación

Mailman suministra un interfaz web para administradores y usuarios. Por lo tanto, requiere apache con soporte mod_perl. Mailman usa un servidor de correo externo para enviar y recibir correos. Funciona perfectamente con los siguientes servidores de correo:

  • Postfix

  • Exim

  • Sendmail

  • Qmail

Veremos cómo instalar mailman, el servidor web apache y el servidor de correo Exim. Si desea instalar mailman con un servidor de correo diferente, remítase a las secciones que lo referencian.

Apache2

To install apache2 you refer to HTTPD Installation section for details.

Exim4

Para instalar Exim4, ejecute los siguientes comandos en la línea de comandos de una terminal:

sudo apt-get install exim4
sudo apt-get install exim4-base
sudo apt-get install exim4-config

Cuando se haya instalado exim4, los archivos de configuración se almacenarán en el directorio /etc/exim4. En Ubuntu, de forma predeterminada, los archivos de configuración de exim4 están separados en varios archivos. Puede cambiar este comportamiento cambiando la siguiente variable del archivo /etc/exim4/update-exim4.conf:

  • dc_use_split_config='true'

Mailman

Para instalar Mailman, ejecute esta orden en una terminal:

sudo apt-get install mailman 

Eso copia los archivos de instalación en el directorio /var/lib/mailman, instala los scripts CGI en el directorio /usr/lib/cgi-bin/mailman, crea una lista de usuarios de linux y la lista de grupos de linux. El proceso mailman será propiedad de este usuario.

Configuración

Esta sección asume que instaló con éxito mailman, apache2, y exim4. Ahora solo necesita configurarlos.

Apache2

Cuando se haya instalado apache2, añada las siguientes líneas en el archivo /etc/apache2/apache2.conf:

Alias /images/mailman/ "/usr/share/images/mailman/"
Alias /pipermail/ "/var/lib/mailman/archives/public/"

Mailman usa apache2 para ejecutar sus scripts CGI. Los scripts CGI de Mailman están instalados en el directorio /usr/lib/cgi-bin/mailman. Por tanto, la URL de Mailman será http://nombredehost/cgi-bin/mailman/. Puede cambiar el archivo /etc/apache2/apache2.conf si desea alterar este comportamiento.

Exim4

Una vez que Exim4 este instalado, puede ejecutar el servidor Exim usando el siguiente comando en una terminal:

sudo apt-get /etc/init.d/exim4 start

Para hacer que mailman mailman funcione con exim4, necesita configurar exim4. Como se menciono antes, por defecto, exim4 usa multiples archivos de configuración de diferentes tipos. Para más detalles, remitase al sitio web de Exim. Para ejecutar mailman, deberiamos de añadir un archivo de configuración con el siguiente tipo de configuración:

  • Principal

  • Transporte

  • Enrutamiento

Exim crea un archivo principal de configuración ordenando todos los miniarchivos de configuración. Por lo tanto, el orden de estos archivos de configuración es muy importante.

Principal

Todos los archivos de configuración pertenecientes al tipo principal son guardados en el directorio /etc/exim4/conf.d/main/. Puede añadir el contenido siguiente a un archivo nuevo, llamado 04_exim4-config_mailman:

# comienzo
# Directorio de inicio para su instalación de Mailman -- el directorio prefijo
# de Mailman.
# En Ubuntu debe ser "/var/lib/mailman"
# Normalmente, es lo mismo que ~mailman
MM_HOME=/var/lib/mailman
#
# Usuario y grupo para Mailman, deben cuadrar con la opción --with-mail-gid
# del script de configuración de Mailman. Normalmente, su valor es "mailman"
MM_UID=list
MM_GID=list
#
# Los dominios en los que están sus listas - separados por ":"
# también puede añadirlos en local_domains
domainlist mm_domains=hostname.com
#
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# Estos valores se derivan de los de arriba y no necesitan
# cambiarse a menos que haya manipulado su instalación de mailman
#
# La ruta al script envoltorio de corro de Mailman
MM_WRAP=MM_HOME/mail/mailman
#
# La ruta al archivo de configuración de la lista (se usa como un archivo
# requerido cuando se verifican las direcciones de la lista)
MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck
# end

Transporte

Todos los archivos de configuración correspondientes a un tipo de transporte se almacenan en el directorio /etc/exim4/conf.d/transport/. Puede añadir el siguiente contenido en un nuevo archivo llamado 40_exim4-config_mailman:

  mailman_transport:
   driver = pipe
   command = MM_WRAP \
               '${if def:local_part_suffix \
                     {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
                     {post}}' \
               $local_part
    current_directory = MM_HOME
    home_directory = MM_HOME
    user = MM_UID
    group = MM_GID

Enrutamiento

Todos los archivos de configuración correspondientes a un tipo de encaminamiento se almacenan en el directorio /etc/exim4/conf.d/router/. Puede añadir el siguiente contenido en un nuevo archivo llamado 101_exim4-config_mailman:

  mailman_router:
   driver = accept
   require_files = MM_HOME/lists/$local_part/config.pck
   local_part_suffix_optional
   local_part_suffix = -bounces : -bounces+* : \
                       -confirm+* : -join : -leave : \
                       -owner : -request : -admin
   transport = mailman_transport
[Aviso]

El orden de los archivos de configuración principal y de transporte puede ser cualquiera. Pero el orden de los archivos de configuración de encaminamiento debe ser el mismo. Este archivo en particular debe aparecer antes que el archivo 200_exim4-config_primary. Esos dos archivos de configuración contienen el mismo tipo de información. El primer archivo tiene prioridad. Para más detalles, consulte las secciones de referencia.

Mailman

Once mailman is installed, you can run it using the following command:

sudo /etc/init.d/mailman start

Once mailman is installed, you should create the default mailing list. Run the following command to create the mailing list:

sudo /usr/sbin/newlist mailman

  Enter the email address of the person running the list: bhuvan at ubuntu.com
  Initial mailman password:
  To finish creating your mailing list, you must edit your /etc/aliases (or
  equivalent) file by adding the following lines, and possibly running the
  `newaliases' program:

  ## mailman mailing list
  mailman: "|/var/lib/mailman/mail/mailman post mailman"
  mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman"
  mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman"
  mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman"
  mailman-join: "|/var/lib/mailman/mail/mailman join mailman"
  mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman"
  mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman"
  mailman-request: "|/var/lib/mailman/mail/mailman request mailman"
  mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman"
  mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"

  Hit enter to notify mailman owner...

  # 

We have configured exim to recognize all emails from mailman. So, it is not mandatory to make any new entries in /etc/aliases. If you have made any changes to the configuration files, please ensure that you restart those services before continuing to next section.

Administración

Suponemos que ha realizado una instalación predeterminada. Los scripts cgi de mailman todavía están en el directorio /usr/lib/cgi-bin/mailman/. Mailman proporciona una utilidad de adminstración basada en web. Para acceder a esta página, vaya con su navegador a la siguiente url:

http://nombrehost/cgi-bin/mailman/admin

La lista de correo predeterminada, mailman, aparecerá en esta pantalla. Si pulsa sobre el nombre de la lista de correo, se le pedirá su contraseña de autenticación. Si introduce la contraseña correcta, podrá cambiar las opciones administrativas de esa lista de correo. Puede crear una nueva lista de correo usando la utilidad de línea de comandos (/usr/sbin/newlist). También puede crear una nueva lista de correo usando la interfaz web.

Usuarios

Mailman posee un interfaz de usuario web. Para acceder a esta página, introduzca la siguiente dirección en su navegador:

http://nombrehost/cgi-bin/mailman/listinfo

Aparecerá en esta pantalla la lista de correo predeterminada, mailman. Si pulsa sobre el nombre, se le mostrará un formulario de suscripción. Puede introducir su dirección de correo, nombre (opcional) y contraseña para suscribirse. Le será enviado un correo de invitación. Puede seguir las instrucciones de este correo para suscribirse.

Referencias

GNU Mailman - Manual de instalación

CÓMO - Usar juntos Exim4 y Mailman 2.1