Mailman

O Mailman é um programa open source para administração de discussões por listas de e-mail e newsletter. Muitas das listas de e-mail open source (incluindo todas as listas de e-mail Ubuntu) utilizam o Mailman. Ele é poderoso e fácil de instalar e manter.

Instalação

O Mailman provê uma interface web para administradores e usuários. Logo, ele requer apache com suporte mod_perl. O Mailman utiliza um servidor de e-mail externo para enviar e receber mensagens. Ele funciona perfeitamente com os seguintes servidores:

  • Postfix

  • Exim

  • Sendmail

  • Qmail

Nós veremos como instalar o mailman, o servidor web apache e o servidor de e-mail Exim. Caso você queira instalar o mailman com um servidor de e-mail diferente, favor consultar a seção de referências.

Apache2

Para instalar o apache2 veja a seçãoInstalação do HTTPD para mais detalhes.

Exim4

Para instalar o Exim4 você executa os seguintes comandos em um interpretador de terminal:

sudo apt-get install exim4
sudo apt-get install exim4-base
sudo apt-get install exim4-config

Depois que o exim4 estiver instalado, os arquivos de configuração estarão localizados no diretório /etc/exim4. No Ubuntu, por padrão, os arquivos de configuração do exim4 são distribuídos entre diferentes arquivos. Você pode mudar essa característica modificando a seguinte variável no arquivo /etc/exim4/update-exim4.conf:

  • dc_use_split_config='true'

Mailman

Para instalar o Mailman, execute o seguinte comando em um prompt de terminal:

sudo apt-get install mailman 

Ele copia os arquivos de instalação para o diretório /var/lib/mailman, instala os scripts CGI no diretório /usr/lib/cgi-bin/mailman. cria o usuário de linux list, cria o grupo de linux list. O processo mailman será controlado por este usuário.

Configuração

Esta seção assume que você já tenha instalado com sucesso o mailman, o apache2, e o exim4. Agora você só precisa configurá-los.

Apache2

Uma vez que o apache2 esteja instalado, você pode adicionar as seguintes linhas no arquivo /etc/apache2/apache2.conf:

Alias /images/mailman/ "/usr/share/images/mailman/"
Alias /pipermail/ "/var/lib/mailman/archives/public/"

O Mailman utiliza o apache2 para renderizar seus scripts CGI. Os scripts CGI do mailman são instalados no diretório /usr/lib/cgi-bin/mailman. Logo, a URL do mailman será http://hostname/cgi-bin/mailman/. Você pode fazer alterações no arquivo /etc/apache2/apache2.conf caso queira alterar este comportamento.

Exim4

Uma vez que o Exim4 esteja instalado, você pode inicializar o servidor Exim utilizando o seguinte comando a partir de um prompt de terminal:

sudo apt-get /etc/init.d/exim4 start

Com o sentido de fazer o mailman trabalhar com o exim4, você deve configurar o exim4. Como mencionado anteriormente, por padrão, exim4 utiliza múltiplos arquivos de configuração de diferentes tipos. Para maiores detalhes, acesse, por favor, o seguinte website Exim. Para executar o mailman, você deveria adicionar um novo arquivo de configuração aos seguintes tipos de configuração:

  • Principal

  • Transporte

  • Roteador

O Exim cria um arquivo mestre de configuração classificando todos estes pequenos arquivos de configuração. Logo, a ordem de tais arquivos de configuração é muito importante.

Principal

Todos os arquivos que pertençam ao tipo principal são armazenados no diretório /etc/exim4/conf.d/main/. Você pode adicionar o seguinte conteúdo a um novo arquivo, chamado 04_exim4-config_mailman:

# início
# Diretório inicial para sua instalação do mailman -- tambem conhecido
# como diretório prefixo do Mailman directory.
# No Ubuntu isso deve ser "/var/lib/mailman"
# É geralmente o mesmo que ~mailman
MM_HOME=/var/lib/mailman
#
# Usuário e grupo para o Mailman, deve equivaler ao seu parâmetro 
# --with-mail-gid ao script "configura" do Mailman. O valor é normalmente
# "mailman"
MM_UID=list
MM_GID=list
#
# Domínios onde estão suas listas - lista separada por vírgulas
# você pode querer adicioná-los também ao local_domains
domainlist mm_domains=hostname.com
#
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

#
# Estes valores são derivados daqueles acima e você não deverá 
# precisar editá-los a não ser que você tenha bagunçado a sua instalação
# do mailman
#
# O caminho do script wrapper de email do Mailman
MM_WRAP=MM_HOME/mail/mailman
#
# O arquivo do arquivo de configuração da lista (usado como um arquivo
# requerido quando se verifica endereços de listas)
MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck
# fim

Transporte

Todos os arquivos que pertençam ao tipo de transporte são armazenados no diretório /etc/exim4/conf.d/transport/. Você pode adicionar o seguinte conteúdo a um novo arquivo chamado 40_exim4-config_mailman:

  mailman_transport:
   driver = pipe
   command = MM_WRAP \
               '${if def:local_part_suffix \
                     {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
                     {post}}' \
               $local_part
    current_directory = MM_HOME
    home_directory = MM_HOME
    user = MM_UID
    group = MM_GID

Roteador

Todos os arquivos de configuração pertencentes ao tipo de roteamento são armazenados no diretório /etc/exim4/conf.d/router/. Você pode adicionar o seguinte contéudo em um novo arquivo chamado 101_exim4-config_mailman:

  mailman_router:
   driver = accept
   require_files = MM_HOME/lists/$local_part/config.pck
   local_part_suffix_optional
   local_part_suffix = -bounces : -bounces+* : \
                       -confirm+* : -join : -leave : \
                       -owner : -request : -admin
   transport = mailman_transport
[Atenção]

A ordem dos arquivos de configuração principais e de transporte podem estar em qualquer ordem. Mas, a ordem dos arquivos de configuração de roteamento deve a mesma. Este arquivo particular deve aparecer antes do arquivo 200_exim4-config_primary. Estes dois arquivos de configuração contêm o mesmo tipo de informação. O primeiro arquivo toma a precedência. Para mais detalhes, consulte, por favor, a seção das referências.

Mailman

Uma vez que o mailman esteja instalado, você pode executá-lo utilizando o seguinte comando:

sudo /etc/init.d/mailman start

Uma vez que o mailman esteja instalado, você deveria criar a lista de e-mail padrão. Execute o seguinte comando para criar a lista de e-mail:

sudo /usr/sbin/newlist mailman
  Informe o endereço de e-mail da pessoa que administra a lista: bhuvan at ubuntu.com
  Senha inicial do mailman:
  Para finalizar a criação de sua lista de e-mail, você deve editar o arquivo /etc/aliases (ou
  equivalente) adicionando as seguintes linhas, e possivelmente executando o
  programa `newaliases':

  ## lista de e-mail mailman
  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"

  Aperte enter para notificar o proprietário mailman...

  # 

Nós configuramos o exim para reconhecer todos os e-mails do mailman. Logo, não é imperativo fazer qualquer nova entrada em /etc/aliases. Caso você tenha feito alguma modificação nos arquivos de configuração, garanta, por favor, que tais serviços sejam reinicializados antes de continuar para a próxima seção.

Administração

Nós assumimos que você tem uma instalação padrão. Os scripts cgi do mailman estão no diretório /usr/lib/cgi-bin/mailman/. Mailman provê a facilidade de administração baseada em web. Para acessar essa página, aponte seu navegador para a seguinte url:

http://hostname/cgi-bin/mailman/admin

A lista de e-mail padrão, mailman, irá aparecer nessa tela. Se você clicar no nome da lista de e-mail, isso irá solicitar a você a senha e autenticação. Se você entrar com a senha correta, você será capaz de alterar as configurações administrativas da lista de e-mail. Você pode criar uma nova lista de email usando a linha de comando (/usr/sbin/newlist). Alternativamente, você pode criar uma nova lista de email usando a interface web.

Usuários

O Mailman fornece uma interface web aos usuários. Para acessar essa página, aponte seu navegador para a seguinte URL:

http://hostname/cgi-bin/mailman/listinfo

A lista de e-mail padrão, mailman, aparecerá nesta tela. Se você clicar no nome da lista, será apresentado o formulário para inscrição. Você pode informar se endereço de e-mail, nome (opcional), e senha para se inscrever. Um convite será enviado a você por e-mail. Você pode seguir as instruções no e-mail para se inscrever.

Referências

GNU Mailman - Manual de Instalação

HOWTO - Usando o Exim 4 e oMailman 2.1 juntos