BrunoCaires

Site pessoal com anotações e nerdices

Mailman + Ubuntu

Written on

Mailman

Mailman

Instalação

Mailman é um gerenciador de listas de discussão, e além de instalá - lo é necessário instalar um servidor web para a
interface administrativa e um servidor de e-mail.

apt-get install apache2 postfix mailman

Após a instalação do apache é necessário copiar um exemplo de configuração do apache para a pasta padrão

sudo ln -s /etc/mailman/apache.conf /etc/apache2/sites-enabled/mailman

Alterar em/etc/mailman/mm_cfg.py)

MTA = 'Postfix'

Executar

/usr/lib/mailman/bin/genaliases

Indicar o mapeamento indicando o mailman

sudo postconf -e 'transport_maps = hash:/etc/postfix/transport'

sudo postconf -e 'mailman_destination_recipient_limit = 1'

sudo postconf -e 'alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases'

Em /etc/postfix/master.cf insira o meio de tranporte mailman:

mailman unix - n n - - pipe

flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py

${nexthop} ${user}

Associar o dominio listas.ft.unicamp.br com o metodo de tranporte mailman
Insira em /etc/postfix/transport

lists.example.com mailman:

e gere o mapemanto

sudo postmap -v /etc/postfix/transport

Adicione mailman aliases em /etc/aliases

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"

Dê as permissões corretas

sudo chown root:list /var/lib/mailman/data/aliases

sudo chown root:list /etc/aliases

executar

sudo newaliases

Adicionar a lista necessária para iniciar o Mailman

newlist mailman

Mailman depende de um processo chamado qrunner , Você deve iniciá - lo:

mailmanctl start

o diretório de instalação do mailman é /usr/lib/mailman/bin/

No ubuntu é necessário ativar o cgid modulo do apache

sudo a2enmod cgi

You should check the values for DEFAULT_EMAIL_HOST and DEFAULT_URL_HOST in Defaults.py. Make any necessary changes in
the mm_cfg.py file, not in the Defaults.py file. If you change either of these two values, you'll want to add the
following afterwards in the mm_cfg.py file:

add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)

Verificar por que foi instalado!

#apt-get install listadmin

Configurações devem ser feitas em vim /etc/mailman/mm_cfg.py

Procedimento utilizado para converter todos os arquivos de iso-8859-1 para utf-8, pois no servidor antigo o mailman
trabalhava com iso e no novo trabalha com utf

find /var/lib/mailman/archives/ -type f -iname *.html -exec recode iso-8859-1..utf-8 {} ;

find /var/lib/mailman/archives/ -type f -iname *.txt -exec recode iso-8859-1..utf-8 {} ;

find /var/lib/mailman/archives/ -type f -iname *.html -exec sed -i -e 's/iso-8859-1/utf-8/g' {} ;

Migração

Para a migração é necessário copiar 3 pasta:

rsync -avz --progress /var/lib/mailman/archives/ -e ssh root@xxx:/var/lib/mailman/archives/

rsync -avz --progress /var/lib/mailman/lists/ -e ssh root@xxx:/var/lib/mailman/lists/

rsync -avz --progress /var/lib/mailman/data/ -e ssh root@xxx:/var/lib/mailman/data/

Gerar aliases

/var/lib/mailman/bin/genaliases

Se tiver mudado o nome DNS do servidor também é necessário

/var/lib/mailman/bin/withlist -l -r fix_url informatica-l -u xxx.ft.unicamp.br