ChicasLinux

- Porque sí -

Mujer del Mes

Grace Hopper
Científica Matemática y militar norteamericana, con grado de almirante, se considera una pionera en el mundo de la informática. Fue la primera programadora que utilizó el Mark I y entre las décadas de los 50s y 60s, propició la aplicación de los compiladores para el desarrollo de los lenguajes de programación y métodos de validación.


Inicio de sesión de usuario

En línea

En este momento hay 0 usuarios y 2 invitados en línea.

Events

«Septiembre 2010
LunMarMiéJueVieSábDom
12345
6789101112
13141516171819
20212223242526
27282930   

Encuesta

Distribuir

Syndicate content

Configuración de mailman con exim4 en Debian Sarge

Mailman en un programa distribiuido bajo la licencia GNU (General Public License) creado en Python.

Mailman se maneja a través de la web y permite crear y administrar listas de correo.

Para este como he usado las versiones siguientes:

  • mailman 2.1.5-8sarge2
  • exim4 4.50-8sarge2
  • apache 1.3.33-6sarge1

todo esto corriendo sobre un servidor Debian Sarge.

Debian ya instala por defecto exim4 así­ que sólo nos resta instalar mailman y apache, además del cliente listadmin que nos permite administrar mailman en consola.

apt-get install apache mailman listadmin

Tras la instalación mailman nos da el siguiente mensaje:

Falta la lista del sitio
Mailman necesita la llamada "lista del sitio", que es la lista a partir de la que se mandan, por ejemplo, los recordatorios de contraseña. Debe crear esta lista antes de iniciar mailman. Para crear la lista, ejecute «newlist mailman» y siga las instrucciones que aparecerán en pantalla. Posteriormente deberá reiniciar mailman, ejecutando «/etc/init.d/mailman start».

Antes de crear la lista configuramos exim4 y apache

Todos los cambios necesarios se encuentran documentados en:
/usr/share/doc/mailman/

Cambios a realizar en exim4 descritos en el archivo /usr/share/doc/mailman/README.EXIM

En /etc/exim4/exim4.conf.template

En la sección
######################################################################
# MAIN CONFIGURATION SETTINGS #
######################################################################

# Just for reference and scripts.
# On Debian systems, the main binary is installed as exim4 to avoid
# conflicts with the exim 3 packages.
exim_path = /usr/sbin/exim4


añadimos
# 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

En la sección routers tras la línea "begin routers" añadimos


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

y en la sección Transports tras la línea "begin transports"

mailman_transport:
driver = pipe
command = MAILMAN_WRAP \
'${if def:local_part_suffix \
{${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
{post}}' \
$local_part
current_directory = MAILMAN_HOME
home_directory = MAILMAN_HOME
user = MAILMAN_USER
group = MAILMAN_GROUP

si exim4 no está configurado para enviar correo se configura con dpkg-reconfigure exim4-config y nos aseguramos de en /etc/exim4/update-exim4.conf.conf tenemos el nombre del dominio para la lista


dc_eximconfig_configtype='internet'
dc_other_hostnames='nuestro.dominio.org'

Configuracion en apache

En el archivo /usr/share/doc/mailman/README.Debian nos indica que la direccion para acceder a mailman es

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

pero podemos cambiarla por una direccion más corta añadiendo la línea

ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/

en /etc/apache/httpd.conf

en ese caso debemos cambiar la línea

DEFAULT_URL_PATTERN = 'http://%s/cgi-bin/mailman'

en /etc/mailman/mm_cfg.py por


DEFAULT_URL_PATTERN = 'http://%s/mailman'

Tambien hemos de añadir los Alias necesarios

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

Hemos de asegurarnos tambien de que en el archivo /etc/mailman/mm_cfg.py esta correctamente configurado nuestro dominio

#-------------------------------------------------------------
# Default domain for email addresses of newly created MLs
DEFAULT_EMAIL_HOST = 'nuestro.dominio.org'
#-------------------------------------------------------------
# Default host for web interface of newly created MLs
DEFAULT_URL_HOST = 'nuestro.dominio.org'

una vez hechos todos los cambios reinicamos con

/etc/init.d/exim4 restart
/etc/init.d/apache restart
/etc/init.d/mailman restart

Creamos la lista inicial

newlist mailman

Nos hará varias preguntas:

Indique la dirección de correo de la persona que gestionará la lista:
Clave inicial de mailman: nuestra clave

Para terminar de crear su lista de distribución,
tiene que editar el fichero /etc/aliases (o equivalente)
añadiendo las siguientes líneas y ejecutando posiblemente el
programa `newaliases':
este paso no es necesario si no vas a usar los alias

## lista de distribución mailman
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"

Presione el retorno de carro para notificar al propietario de la lista mailman...

y listo. nos llegara un correo con la direccion para administrar la nueva lista
ahora podemos crear las listas de correo que necesitemos
para crear una nueva lista usaremos 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 disponemos del manual del administrador para mailman.