Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Como instalar y configurar Mailman con postfix MTA

Mailman es un servidor de listas muy util que nos sirve para tener nuestra propia lista de discusion por email o tener informado a un grupo sobre noticias, lanzamientos, etc. Bien usado (no para el envio de spam o correo no deseado) puede ser una gran herramienta.
Hoy les mostrare como instalarlo y configurarlo en un server Linux Centos 6 con Postfix como MTA. Toda la instalacion y configuracion la haremos desde root.

-Instalamos dependencias
yum install gcc python-devel python

-Descargamos mailman, aunque ya hay algunas versiones 3.x estan aun no estan en modo stable y no tienen casi documentacion asi que no las recomiendo para un servidor de produccion.
cd /tmp
wget -c http://launchpad.net/mailman/2.1/2.1.14/+download/mailman-2.1.14-1.tgz
tar -xzvf mailman-2.1.14-1.tgz
mkdir /usr/local/mailman

-Creamos un usuario y grupo para mailman con permisos limitados
cd mailman-2.1.14-1
groupadd mailman
useradd -c 'GNU Mailman' -s /sbin/nologin -M -g mailman mailman

-Damos permisos para el grupo mailman
chmod a+rx,g+ws /usr/local/mailman/
chown -R mailman.mailman /usr/local/mailman

-Compilamos
./configure
make install

cd /usr/local/mailman

-Verificamos los permisos ejecutando el siguiente comando hasta que ya no devuelva errores.
bin/check_perms -f

-Configuramos apache
chkconfig httpd on
cd /etc/httpd/conf

-Agregamos al conf de apache y salimos guardando
vi httpd.conf

group nobody
ScriptAlias /mailman/ "/usr/local/mailman/cgi-bin/"
Alias   /pipermail/     "/usr/local/mailman/archives/public/"
<Directory "/usr/local/mailman/archives/public/">
    AddDefaultCharset Off
</Directory>

-Reiniciamos apache
service httpd restart

cd /usr/local/mailman
cp icons/*.{jpg,png} /var/www/icons/

vi Mailman/mm_cfg.py
IMAGE_LOGOS = '/icons/'
MTA = 'Postfix'

-Agregar a postfix y salimos guardando
vi /etc/postfix/main.cf
#luser_relay
recipient_delimiter = +
alias_maps = hash:/etc/aliases, hash:/usr/local/mailman/data/aliases

-Generamos aliases
bin/genaliases

-Cambios en permisos
chown mailman:mailman data/aliases*
chmod g+w data/aliases*

-Generamos la primera lista, obligatorio para el funcionamiento de mailman
bin/newlist mailman

-Configuramos tareas en cron
cd cron

-Editamos el crontab.in y agregamos el campo MAILTO en la primera linea y salimos guardando.
vi crontab.in

MAILTO=user@example.com


-Ejecutamos
crontab -u mailman crontab.in
cd ..

-Ejecutamos mailman
bin/mailmanctl start

-Configuramos para inicio automatico cada vez que haga boot el server
cp scripts/mailman /etc/init.d/mailman
chkconfig mailman on

-Creamos el password del sitio en general y el de creador de listas. El del sitio tiene permisos para todas las listas, el de creador de listas seria para dar permisos para una lista a otro usuario sin que tenga permisos para las demas

-Password del sitio
bin/mmsitepass

-Password para una lista
bin/mmsitepass -c password-a-colocar

-Entramos con un browser a la pagina del server con mailman y llenamos los campos para crear nuestra segunda lista, esta ya de uso nuestro.
http://mm.test.com/mailman/create

Listo, ya podemos configurar a nuestro gusto las listas, que pueden ser moderadas o no moderadas, de solo envio, etc.
Disfrutenlo

Share/Bookmark