Preparación
Para empezar hay que decidir cual será el dominio que utilizará la lista de correo y realizar o solicitar, dependiendo del caso, la configuración en los servidores de DNS. Por lo general se suele crear el subdominio listas, para que las direcciones de este servicio queden de la siguiente manera: correolista@listas.dominio.pais
Instalación
La instalación que se describe a continuación se realizó sobre un equipo con Debian 3.1, Exim 4.50 y Apache 1.3.33. Se parte de un servidor de correo y un servidor web funcionando plenamente.
Para empezar se instalaron los siguientes paquetes:
# apt-get install mailman listadmin spamassassin clamav
Nota: Si bien Mailman requiere de spamassassin y clamav, en esta documento no se menciona como realizar la configuración para integrarlo con Exim. Aunque es altamente recomendable hacerlo.
Configuración de Exim
La Configuración de Exim depende de si la configuración esta en un solo archivo o en varios:
Para un archivo de configuración, se puede tomar como referencia el siguiente artículo: Configuración de mailman con exim4 en Debian Sarge
Para múltiples archivos de configuración, el siguiente archivo puede servir de referencia: Hacer funcionar el Mailman 2.1 con el Exim4
En este caso se siguió el segundo camino debido a la configuración previa que tenia el servidor de correo. Es por ello que se crearon los siguientes archivos:
/etc/exim4/conf.d/main/04_exim4-config_mailman
# Allow Mailman2 to work with Exim4 # Wrote by gallir at uib dot es # for Debian # Home dir for your Mailman installation -- aka Mailman's prefix # directory. MAILMAN_HOME=/var/lib/mailman MAILMAN_WRAP=MAILMAN_HOME/mail/mailman # User and group for Mailman, should match your --with-mail-gid # switch to Mailman's configure script. MAILMAN_USER=list MAILMAN_GROUP=daemon
/etc/exim4/conf.d/router/750_exim4-config_mailman
# Allow Mailman2 to work with Exim4
# Wrote by gallir at uib dot es
# for Debian
mailman_router:
driver = accept
require_files = MAILMAN_HOME/lists/$local_part/config.pck
local_part_suffix_optional
local_part_suffix = -bounces : -bounces+* : \
-confirm+* : -join : -leave : \
-owner : -request : -admin
transport = mailman_transport/etc/exim4/conf.d/transport/40_exim4-config_mailman
# Allow Mailman2 to work with Exim4 # Wrote by gallir at uib dot es # for Debian mailman_transport:
- driver = pipe command = MAILMAN_WRAP \
- '${if def:local_part_suffix \
- {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \ {post}}' \
- '${if def:local_part_suffix \
Adicionalmente hay que asegurarse que en la variable dc_other_hostnames del archivo /etc/exim4/update-exim4.conf.conf este incluido el dominio que se va a utilizar para manejar las listas de correo.
Después de hacer estos cambios, debemos generar el archivo de configuración de Exim con el siguiente comando: configuración:
# update-exim4.conf
Y finalmente se reinicia el servicio
# /etc/init.d/exim4 restart
Configuración de Apache
Si no se mueven los directorios de instalación por defecto, la ruta para acceder a Mailman es http://direccion.dominio.pais/cgi-bin/mailman/listinfo. Una descripción más detallada se encuentra en /usr/share/doc/mailman/README.Debian
Para acceder a la interfaz web de Mailman de forma más corta y para habilitar el acceso al historial de mensajes que se genera a través de la utilidad Pipermail, se deben hacer algunos cambios en el archivo de configuración de Apache (/etc/apache/httpd.conf).
Para tener un acceso más corto se agrega la siguiente línea:
ScriptAlias /mailman /usr/lib/cgi-bin/mailman Alias /images/mailman /usr/share/images/mailman
Para acceder al historial de mensajes se agrega la siguiente línea:
Alias /pipermail /var/lib/mailman/archives/public
Confirguración de Mailman
Después de realizar los cambios en el archivo de configuración del Servidor Web, se debe realizar algunos cambios en el archivo de configuración de Mailman (/etc/mailman/mm_cfg.py) para que funcione el acceso corto:
DEFAULT_URL_PATTERN = 'https://%s/mailman'
También se debe indicar el nombre de dominio que se utilizará para las direcciones de correo de la lista, y que previamente debió haber sido configurado en el servidor DNS:
DEFAULT_EMAIL_HOST = 'listas.dominio.pais'
Además hay que indicar el nombre de dominio a través del cual se accede a la interfaz web de Mailman. En ocasiones se coloca igual que el nombre de dominio para los correos de la lista, pero puede ser diferente
DEFAULT_URL_HOST = 'www.dominio.pais' o DEFAULT_URL_HOST = 'listas.dominio.pais'
Finalmente se puede definir el idioma por defecto de las interfaces web y de los mensajes de correo:
DEFAULT_SERVER_LANGUAGE = 'es
Después se deben reiniciar los siguientes servicios:
# /etc/init.d/apache restart # /etc/init.d/mailman restart
Creación de la Lista Inicial
Es siempre recomendable crear todas las listas a través de la consola de comandos. Para crear la lista inicial, que se generalmente se recomienda que sea mailman, se procede de la siguiente manera:
# newlist mailman
Las preguntas que realiza en el momento de crear una lista son:
- Indique la dirección de correo de la persona que gestionará la lista
- Introduzca la clave inicial de mailman
Si bien en el mensaje posterior se indica que hay que crear unos alias, con Exim no hay necesidad de esto.
Listo, con esto se enviará un mensaje de correo a la dirección que se indico con instrucciones para administrar la nueva lista. A partir de este punto se pueden crear todas las listas que se quieran.
- Para crear una nueva lista se usa el comando "newlist nombre"
- Para borrar una lista "rmlist nombre"
- Para ver las listas creadas "list_lists"
Para más información en /usr/share/doc/mailman/html se cuenta con un manual del administrador para Mailman.
Para probar si Exim quedo bien configurado, podemos hacer una prueba para verificar si sabe que debe hacer con las direcciones de una lista de correo:
# exim4 -bt mailman@listas.dominio.pais
Problemas
Acceso Denegado a la Página de Archivo
Si no se puede acceder a la página que contiene los archivos de los mensajes enviados a la lista de correo por problemas de permisos, es posible que le haga falta adicionar las siguientes líneas a la configuración de Apache:
Alias /pipermail /home/mailman/archives/public/
<Directory /home/mailman/archives/public/>
Options +FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Interfaces en Spaninglish
En ocasiones al instalar Mailman y al configurar la variable DEFAULT_SERVER_LANGUAGE = 'es' en el archivo /etc/mailman/mm_cfg.py, los mensajes de las interfaces aparecen parte en ingles y parte en español.
La solución que he encontrado para solucionar este problema, es copiar el directorio /usr/share/mailman/es/ en /var/lib/mailman/templates/
Referencias
Sitio web de Mailman http://www.gnu.org/software/mailman/
Configuración de mailman con exim4 en Debian Sarge: http://www.chicaslinux.org/?q=node/30
Hacer funcionar el Mailman 2.1 con el Exim4: http://bulma.net/body.phtml?nIdNoticia=1798
Nota: esta instalación se realizó en el marco de los proyectos del Grupo Vultur
