|
[18/07]
:. Wii passa do Xbox 360 e Playstation 3 nos EUA [18/07] :. SwitchProxy: troque de servidor proxy facilmente no Firefox [18/07] :. KOffice 2.0 apresenta seu alpha 9 [18/07] :. Malware infecta arquivos em redes P2P disfarçado de codec [18/07] :. Digital Wall, enorme touchscreen da Panasonic [18/07] :. Google compra empresa russa de anúncios online [17/07] :. Testes de desempenho: kernel 2.6.26 versus 2.6.25 [17/07] :. Balada gera energia a partir da dança das pessoas na pista [17/07] :. Resumo do dia [17/07] :. Tutorial: instalação do OpenVZ no Fedora 9 [17/07] :. O primeiro passo para um mundo maior [17/07] :. BIC além de canetas, agora também faz celular [17/07] :. Ericsson e operadora testam 3G com upload a 5,8 Mbps [17/07] :. Asus Eee PC 1000H finalmente entra no mercado [16/07] :. Japoneses desenvolvem memória flash de longa durabilidade :. Mais noticias » |
Sobre o Mailman
O Mailman é um sistema utilizado para administrar listas de discussão ou listas de informativos (as famosas newsletter) similar aos conhecidos Majordomo ou Smartmail. A vantagem é que, além de muito mais fácil de configurar, o Mailman possui administração via Web, onde o administrador pode gerenciar o sistema de sua mesa de trabalho, usando um browser comum. Ele possui também filtros de conteúdo, arquivamento das mensagens enviadas para a lista, moderação de membros, filtros anti-spam dentre várias outras funcionalidades. O Mailman é utilizado para gerenciar as listas de projetos como o KDE, Gnome, SaMBa e usado em empresas com a Red Hat, Apple, Sun, Conectiva dentre outras. O mesmo está disponível para vários sabores de Unix (incluindo Linux e FreeBSD) e irei listar abaixo um guia rápido de instalação para a integração com um ambiente já funcionando com Postfix e MySQL. Este documento é feito sob um FreeBSD 5.4, mas pode ser facilmente adaptado para as demais variações do Unix. Instalação pelo Ports
Irei compilar o Mailman 2.1.6_1 usando o ports do FreeBSD, mas é necessário tomar cuidado para compilar o mesmo usando o Group ID (GID) próprio para o uso com o Postfix, visto que o padrão é o Sendmail. Esta configuração é necessária para evitar a menssagem "Group mismatch error" durante a utilização do mesmo. Caso use um MTA diferente do Postfix, consulte a documentação para ver outros GID's de grupos que podem (devem) ser utilizados em tempo de compilação. Você pode usar pacotes binários se preferir. Tenho notícias que o pacote da Conectiva e da Mandrake vem compilado já com esse suporte ao Postfix. # cd /us/ports/mail/mailman
# make deinstall # vi Makefile # Set: MAIL_GID?= mailman # make install clean É possível configurar o portupgrade para sempre compilar o Mailman com esse GID. Para isso, adicione na seção MAKE_ARGS do arquivo /usr/local/etc/pkgtools.conf a seguinte linha: 'mail/mailman' => 'MAIL_GID=mailman', Configuração do Apache
É necessário incluir algumas linhas no httpd.conf do Apache para a administração via browser. Na documentação oficial diz que as linhas ScriptAlias e a linha Alias é suficiente, mas para mim não funcionou. ScriptAlias /mailman "/usr/local/mailman/cgi-bin" AllowOverride None Options none Order allow,deny Allow from all
AllowOverride None
Options none Order allow,deny Allow from all Alias /pipermail "/usr/local/mailman/archives/public"
AllowOverride None
Options +FollowSymlinks Order allow,deny Allow from all O primeiro bloco evita o errro "client denied by server configuration" e o segundo evita o primeiro e mais o erro "Symbolic link not allowed" :) Após dar um restart em seu Apache, a interface gráfica deve estar disponível pelo endereço http://localhost/mailman/listinfo Configuração do Postfix
Estas são as alterações necessárias no main.cf Postfix. Para maiores detalhes, consulte a documentação do mesmo. Recomendo que não faça o reload no postfix por enquanto, pois ainda não temos os arquivos $mailman/data/* ![]() Configuração do Mailman
No arquivo $mailman/Mailman/Defaults.py: DEFAULT_EMAIL_HOST = 'dominioprincipal.com'
DEFAULT_URL_HOST = 'host.dominio.com' DEFAULT_URL_PATTERN = 'http://%s/mailman/' DEFAULT_SERVER_LANGUAGE = 'pt_BR' Em DEFAULT_EMAIL_HOST é interessante deixar o domínio principal de sua máquina, o que terá mais listas sob seu domínio. Em DEFAULT_URL_HOST será o endereço a ser acessado via browser. Eu estou usando o hostname da máquina. No arquivo $mailman/Mailman/mm.py: MTA = "Postfix"
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['virtual1.net', 'virtual2.com.br', 'virtual3.com', 'virtual4.org'] add_virtualhost('www.virtual1.net', 'virtual1.net') add_virtualhost('www.virtual2.com.br', 'virtual2.com.br') add_virtualhost('www.virtual3.com', 'virtual3.com') add_virtualhost('www.virtual4.org', 'virtual4.org') Neste arquivo fica a lista de todos os domínios virtuais que o mailman poderá responder. No arquivo $mailman/data/virtual-mailman: Crie este arquivo com uma linha pertencendo ao usuário "mailman": virtual-alias.sagatiba.com anything
O Mailman deverá atualiza-lo a cada lista que você criar ou remover, junto com um arquivo chamado virtual-mailman.db. Este é o arquivo que o postfix irá ler para achar seu usuário chamado lista-subscribe@dominio.com.br, por exemplo. Se esse arquivo não estiver sendo atualizado, você verá mensagens de "user unknow" nos logs do seu postfix. Criando lista administrativa
Utilize os comandos abaixo para criar uma lista chamada 'mailman', que servirá para tarefas administrativas. # cd /usr/local/mailman
# bin/newlist mailman # bin/config_list -i data/sitelist.cfg mailman Este último comando fará com que seja atribuída a esta lista uma configuração inicial padrão. Aproveite para colocar os agendamentos do Mailman no cron: # cd cron
# crontab crontab.in Atenção: Faça um backup do seu cron atual, caso já possua algum agendamento! Problemas ao criar uma lista Você pode usar o comando "bin/check_perms -f" para verificar se as permissões estão corretas. O comando "bin/genaliases" deve ser capaz de criar os arquivos "data/aliases*" para você, mas mesmo assim verifique as permissões do mesmo! Olhe também os logs de acesso em "logs/error" em caso de problemas. Olhe, em especial, a permissão dos arquivos em "data/aliases*" e "data/virtual-mailman*" pois os arquivos devem pertencer ao usuário "mailman" e isso é responsável por uma grande parcela dos problemas. Verifique no momento da criação da lista se os arquvios aliases.db e virtual-mailman.db são criados (ou atualizados), isso é fundamental para o funcionamento correto do sistema! Definindo uma senha mestre para o Mailman
Essa senha mestra pode ser utilizada no lugar das senhas individuais das listas. Para cria-la, use o comando: # /usr/local/mailman/bin/mmsitepass
Iniciando e parando o Mailman
No diretório $mailman (/usr/local/mailman) use: # bin/mailmanctl stop # bin/mailmanctl start Use sempre que alterar os arquivos "Mailman/mm.py" e/ou "Mailman/Defaults.py" Criando uma lista com a interface web
A mesma já deve estar acessível via http://ip_do_server/mailman/create Após criar, verifique (novamente!) os arquivos em $mailman/data/* Note que a lista será criada com seu domínio padrão e que não será possível altera-lo durante a criação da lista! Alterando o domínio da lista
Após fazer todos os testes e entender o funcionamento do Mailman, você pode querer usar seus domínios virtuais, para isso:
Agradecimentos
Agredeço aos meus colegas de profissão que ajudaram a documentar todo esse processo, desde a correção ortográfica até a escolha da licença do documento, passando por toda a parte técnica da implementação em si. Referências
Caso você tenha problemas, segue os links que usei de consulta: Gerenciador de Listas Mailman GNU Mailman - Installation Manual -6.1.2 Virtual domains Mailman FAQ Wizard 1.0.3 Mailman Documentation » Gostou do texto? Veja nossos livros impressos
|