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
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
Buscando en Internet encontre su blog, pero tengo algunas dificultades, cuando llego a la sección
ResponderEliminardonde 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
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.
ResponderEliminarPero 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.