Integración de mailman con zimbra 6 en Debian Lenny

Primero, debemos bajar mailman del sitio oficial http://ftp.gnu.org/gnu/mailman/ en nuestro caso, hemos descargado mailman-2.1.13.tgz.
Ahora, como root creamos el usuario mailman, sin home y le desabilitamos el login:

# adduser --no-create-home --disabled-login mailman

nos ubicamos en el directorio /usr/local/ y ejecutamos lo siguiente:

# cd /usr/local/
# mkdir mailman
# chgrp mailman mailman
# chmod a+rx,g+ws mailman
# apt-get install python-dev make chkconfig
# tar xvfz mailman-2.1.13.tgz
# cd mailman-2.1.13.tgz
# ./configure –with-cgi-gid=zimbra

Ahora compilar e instalar:

# make install

Lo siguiente es necesario, siempre y cuando estemos usando el httpd de Zimbra:

# cd /usr/local/mailman/archives
# chown zimbra private
# chmod o-x private

Ahora chequear la instalacion:

# /usr/local/mailman/bin/check_perms -f

Ahora configuramos el servidor web de Zimbra.
Agregamos las siguientes lineas al final del archivo /opt/zimbra/conf/httpd.conf

ScriptAlias /mailman/ /usr/local/mailman/cgi-bin/

AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all


Alias /pipermail/ /usr/local/mailman/archives/public/

Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
# Only if you have internationalized archives
AddDefaultCharset Off


# Descomentar la siguiente linea, reemplazando www.example.com por nuestro nombre
# de servidor, para redirigir queries para mailman a la pagina listinfo (recomendado).
# RedirectMatch ^/mailman[/]*$ http://www.example.com/mailman/listinfo

Copiamos los iconos de mailman y luego reiniciamos apache:

# cd /opt/zimbra/httpd/htdocs
# mkdir mmimages
# cp /usr/local/mailman/icons/* mmimages/

como usuario Zimbra:
# su - zimbra
$ zmapachectl stop
$ zmapachectl start

Seguidamente cambiamos la configuracion de Postfix.
Agregar o modificar /opt/zimbra/postfix/conf/main.cf de tal manera que las siguientes variables queden
como se muestra a continuacion:

virtual_alias_maps = ldap:/opt/zimbra/conf/ldap-vam.cf
alias_maps = hash:/etc/aliases,hash:/usr/local/mailman/data/aliases

Y las siguientes lineas al final del archivo /usr/local/mailman/Mailman/mm_cfg.py

MTA = 'Postfix'
POSTFIX_ALIAS_CMD = '/opt/zimbra/postfix/sbin/postalias'
POSTFIX_MAP_CMD = '/opt/zimbra/postfix/sbin/postmap'
IMAGE_LOGOS = '/mmimages/'
DEFAULT_URL_PATTERN = 'http://%s:7780/mailman/'
#POSTFIX_STYLE_VIRTUAL_DOMAINS = [ 'virtual-domain1.com', 'virtual-domain2.com' ]

En la ultima variable, necesitamos listar todos nuestros dominios virtuales para los cuales queremos agregar listas de correo.
Recordemos que solo podemos listar alli nuestros dominios virtuales, no nuestro dominio local para el cual Postfix entreta correo localmente. En nuestro caso, no estamos utilizando dominios virtuales, por lo que comentaremos esa linea.

Ahora agregamos la primer lista llamada mailman (obligatorio).

# /usr/local/mailman/bin/newlist mailman
# /usr/local/mailman/bin/config_list -i /usr/local/mailman/data/sitelist.cfg mailman

Ahora ya podemos crear nuevas listas de correo a partir del siguiente comando:


bin/newlist --emailhost=virtual-domain1.com --urlhost=yourzimbrahost listname admin-email-address admin-password



Luego, para asegurarse de que los aliases sean generados, corremos los siguientes comandos:

# /usr/local/mailman/bin/genaliases
# /opt/zimbra/postfix-2.6.5.2z/sbin/newaliases

aliases y virtual-mailman deben tener como dueño a mailman, por lo cual cambiamos los permisos:

# chown mailman:mailman /usr/local/mailman/data/aliases*
# chown mailman:mailman /usr/local/mailman/data/virtual-mailman*

Programamos la tarea de mailman:

cd /usr/local/mailman/cron
# crontab -u mailman crontab.in

Configuramos el demonio:

# cp /usr/local/mailman/scripts/mailman /etc/init.d
# chkconfig --add mailman

Como Zimbra reescribe el archivo /opt/zimbra/postfix/conf/main.cf, es necesario hacer los siguientes cambios en el archivo
/opt/zimbra/conf/zmmta.cf:

sustituimos:
POSTCONF mydestination VAR zimbraMtaMyDestination
por:
POSTCONF mydestination LOCAL postfix_mydestination

Para que prevalezca la configuracion de aliases en el archivo /opt/zimbra/postfix/conf/main.cf, comentamos:
# POSTCONF alias_maps

Debido a que estamos utilizando dominios virtuales, descomentamos la línea siguiente:
POSTCONF virtual_mailbox_domains

Guardamos el archivo, y reiniciamos los servicios

# /etc/init.d/mailman start
# /etc/init.d/zimbra restart

Adicional a ello hay que agregarle datos a la variable local de mydestination de la siguiente forma con el usuario zimbra:

zmlocalconfig -e postfix_mydestination='localhost usac.edu.gt'



Eso es todo, ya podemos crear listas de correo y utilizarlas.

----------------------

Creacion de listas en modo web:
Previo a crear listas via web, asignamos contraseña de administrador de Mailman, con el comando:
# /usr/local/mailman/bin/mmsitepass

Entramos a http://midominio.com:7780/mailman/admin/. En la ultima opcion que aparece como "List creator's (authentication) password:" escribimos la clave de administrador de Mailman. Presionamos el boton [Create List]. Es muy probable que nos salga una pagina con el mensaje "Bug in Mailman version 2.1.13" (ups!). Como no tenemos mucho tiempo para revisar en /usr/local/mailman/logs/error, hacemos caso omiso y cerramos la pagina (jeje). Por ultimo ejecutamos los comandos:
# /usr/local/mailman/bin/genaliases
# /opt/zimbra/postfix-2.6.5.2z/sbin/newaliases

Y eso es todo.

------------------------
Links consultados:
http://www.zimbra.com/forums/administrators/1380-solved-zimbra-mailman-howto.html
http://www.gnu.org/software/mailman/docs.html

Comentarios

  1. Buscando en Internet encontre su blog, pero tengo algunas dificultades, cuando llego a la sección
    donde agregamos al final del httpd.conf:

    ScriptAlias /mailman/ /usr/local/mailman/cgi-bin/

    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all


    Alias /pipermail/ /usr/local/mailman/archives/public/

    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    # Only if you have internationalized archives
    AddDefaultCharset Off


    luego detengo el zmapachectl y trato de arrancar y me sale el siguiente error.


    Starting apache...Syntax error on line 1040 of /opt/zimbra/conf/httpd.conf:
    AllowOverride not allowed here
    failed.

    Podría colaborarme con este tema? Gracias

    ResponderEliminar
  2. me podría escribir aca, lo que tiene en la línea 1040 del archivo /opt/zimbra/conf/httpd.conf ? Supongo que cuando se declara un 'AllowOverride None', se está definiendo que no se utilizará el mismo.

    Pero sí sería bueno ver lo que tiene su archivo httpd.conf para tener una idea mas clara del porqué del error.

    Tambien seria bueno saber si estamos corriendo las mismas versiones de OS y de Zimbra.

    Saludos.

    ResponderEliminar

Publicar un comentario

Entradas populares