A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Linux

Debian + Postfix + PostfixAdmin + SquirrelMail

Sab

16

Mai

2009


01:19

(19 votos, média 4.53 de 5) 


Depois de mais de 2 anos no ar, meu servidor de e-mail estava precisando urgentemente de um upgrade. Resolvi aproveitar a ocasião para dar uma olhada na distro Debian e tive uma grata surpresa. Primeiro, por que a instalação básica do Debian é enxutíssima (mais enxuta do que a do Slackware, com o qual estava acostumada); segundo, por que o gerenciamento de pacotes no Debian é incrivelmente fácil e de alta produtividade e, finalmente, por que os tutoriais e how-tos para o Debian existem em profusão.

Antes de me decidir definitivamente por uma distro diferente da que já conhecia, comecei a procurar um how-to para instalar um servidor de e-mail com o MTA Postfix, com domínios virtuais, e com o amavis para agregar o ClamAV e o spamassassin. Foi assim que encontrei o how-to do Gary V, completíssimo e impecável. Além do que estava procurando, encontrei muito mais! PostfixAdmin, Squirrelmain, SASL, quotas para as caixas postais, phpMyAdmin, backup automático do banco de dados MySQL, gráficos para o controle da atividade do servidor de email e até um servidor de nomes (DNS). Li o how-to e gostei. Resolvi encarar e, após algumas horas de trabalho (umas 12, para ser sincera), estava com um servidor de e-mail zero-bala e extremamente seguro.

Sistema

Antes de mais nada, quero agradecer o autor. Como ele disponibilizou um tutorial imenso sem pedir nada em troca, a minha contribuição será a de traduzir seu tutorial. Para variar, vou me permitir fazer alguns comentários adicionais e até suprimir algumas partes, ou seja, usando o modelo oferecido pelo Gary vou contar minha experiência de sucesso que, diga-se de passagem, é devida exclusivamente ao autor. Eu só segui a "receita do bolo" smile

Para começar

Toda esta instalação está baseada na versão mais recente (até esta data) do Debian - o Debian Lenny. Não vou entrar em maiores detalhes de como instalar o sistema operacional.

Antes de partir para a instalação propriamente dita, vamos preparar o ambiente de trabalho. Faça login como root e instale o seguinte:

apt-get install rdate ssh vim

Pode ser que o sistema peça para inserir o CD de instalação. Se for este o caso, faça-o. Despois de instalado o software, retire-o novamente.

O motivo para instalar o SSH logo de cara é que a instalação e a configuração deste sistema de e-mail não será feita diretamente no servidor, mas numa máquina remota com o sistema operacional Windows que tem o PuTTY e o WinSCP instalados. A partir deste ponto, todas as operações serão realizadas nesta máquina remota.

Abra o PuTTY, entre o IP do servidor no campo Host Name (or IP address), escolha a Connection Type SSH e dê um nome para esta sessão em Saved Sessions. A seguir, no menu de configuração que fica do lado esquerdo da janela, escolha Terminal / Features e marque a opção Disable application keypad mode. Depois escolha o item de menu Window e passe Lines of scrollback de 200 para 800. Com tudo configurado, escolha o item de menu Session e clique no botão [Save]

info Algumas dicas:

  • A configuração Disable application keypad mode foi feita para que, quando usarmos o editor vi, ele aceite o teclado numérico como números (e não PgUp, PgDn, etc). Podes crer, vai fazer muita diferença smile
  • Para acessar o servidor, basta dar um duplo clique na sessão que você acabou de salvar.
  • Para sair do PuTTY, certifique-se de que você está no prompt de comando e digite logout, exit ou Ctrl+D.
  • Para otimizar ao máximo o seu trabalho de configuração e, principalmente, para evitar erros de digitação, copie os comandos indicados neste artigo e cole-os no PuTTY com um clique no botão direito do mouse.
  • Os comandos serão sempre apresentados dentro de caixas. Uma série de comandos pode ser copiada integralmente e colada no PuTTY, ou seja, não é preciso copiar e colar cada um deles individualmente.
  • Texto marcado em negrito precisa ser substituído por valores referentes ao seu ambiente servidor (por exemplo, endereços IP e nomes de domínios).
  • Se, por acaso, a última linha copiada tiver um espaço no fim, basta eliminá-lo e dar [Enter].

Tudo preparado? Então vamos começar com o tutorial mais longo que você já viu. Muita atenção, por que é coisa pra caramba. Basta um descuido e um erro começa a atrapalhar a vida da gente. Para evitar um monte de trabalho procurando onde eventualmente ocorreu um erro, alguns testes são sugeridos. Não tenha preguiça, faça-os e só continue com a instalação se estiver tudo OK.

Acesse o servidor pelo PuTTY como root e mãos à obra.

Acertando a data e a hora do servidor

/etc/init.d/hwclock.sh reload

Se o processo pendurar e ocorrer um erro de tempo esgotado (time out), é possível que esteja havendo uma incompatibilidade entre a BIOS e o sofware hwclock. Este erro é mais comum em algumas máquinas Dell. Se, e apenas se você encontrar este problema, execute o passo a seguir:

sed -i 's/HWCLOCKPARS=/HWCLOCKPARS="--directisa"/' /etc/init.d/hwclock.sh

Continue com:

rdate -ncv clock.fmt.he.net
rdate -ncv ntp1.tummy.com
/etc/init.d/hwclock.sh reload

Configurando locales

dpkg-reconfigure locales

Use [PgUp] [PgDn] [seta-subir] [seta-descer] [tab] e [barra de espaço] para navegar e selecionar.

O instalador do lenny instalou pt_BR.UTF-8 UTF-8 no meu sistema. Sugiro que você instale o locale pt_BR ISO-8859-1. Se você precisar alterar o locale ou adicionar outros locales, use as teclas das [setas], [barra de esapço] e [tab]. Um locale UTF-8 não deve ser usado como a linguagem LANG default do sistema (estabelecido em /etc/environment ou /etc/default/locale), por que o SpamAssassin e o amavisd-new podem ter problemas. No entanto, você deve manter o locale UTF-8 selecionado, junto com a opção ISO-8859-x por que senão o Perl pode reclamar.

Resumindo, selecione os locales pt_BR.UTF8 UTF8 e pt_BR ISO-8859-1 e escolha o ISO-8859-1 como default. ATENÇÃO: NÃO escolha [None] como default para o sistema.

Corrigindo o sistema (opcional)

Há uma correção para o tcp_window_scaling do Linux kernel 2.6.17 (e mais novos). Se você quiser levar em consideração o que pode acontecer (falha na transferência entre sistemas de arquivos grandes) se houver um roteador com bug entre você e outros pontos, você pode fazer a seguinte alteração no sistema (você decide):

echo "net.ipv4.tcp_wmem = 4096 65536 65536" >>/etc/sysctl.conf
echo "net.ipv4.tcp_rmem = 4096 65536 65536" >>/etc/sysctl.conf
sysctl -p

Imagino que, sob certas circunstâncias, isto pode tornar a comunicação entre sistemas mais lenta.

O editor de sistema vim

O editor de sistema padrão do Debian é o nano. Vamos trocá-lo pelo vim, mas, antes de fazer isto, uma aulinha rápida de como pilotar este editor.

O vim é cheio de nove horas e tem mais gente que não gosta do que gente que gosta dele. Por que então usar este editor como padrão? É que, além de rápido e confiável, só vamos precisar de três ou quatro comandos. Antes de falar dos comandos, é preciso saber que o vim tem três modos de operação: o modo Comando, o modo Escrita e o modo Linha de Comando.

Quando abrimos o vim ele se apresenta no modo Comando. Podemos mudar para o modo Escrita teclando i (de inserir). No modo Escrita é possível editar o texto da forma habitual, com algumas pequenas diferenças que você vai perceber assim que começar a usar este editor. Para voltar para o modo Comando, tecle [ESC].

Existem muitos comandos para o modo Comando, mas vamos aprender apenas mais três além do i. Estes comandos são : (dois pontos), / (barra) e G. O G é uma mão na roda por que nos leva diretamente ao fim do texto - o que é muito prático quando o texto for grande. O comando : serve para colocar o editor no modo Linha de Comando, que você identifica porque aparecem dois pontos : no rodapé da janela. Vamos usar o modo Linha de Comando para algumas operações:

:q para sair (quit). Se o texto tiver sido alterado, o vim reclama e pede para salvar as alterações.

:q! para sair sem reclamar. Mesmo se o texto tiver sido alterado, o editor é fechado. É muito bom quando queremos desistir das alterações feitas.

:wq para salvar (write) e sair.

:w para salvar e continuar a edição.

Só mais uma coisa. O comando / serve para procurar coisas no texto. Assim, se digitarmos /acha_texto, o editor coloca o cursor na primeira ocorrência de "acha_texto".

Isto é tudo do que vamos precisar. O erro mais frequente feito por iniciantes é esquecer de teclar i antes de começar a inserir ou alterar o texto. Sugiro que você entre no vim e dê uma treinada escolhendo várias vezes o três modos de operação - só para criar o hábito e ficar mais à vontade. Lembre-se de que o [ESC] te põe sempre de volta no modo Comando. Depois disto, brinque um pouco com os comandos e altere alguma coisa do texto. Não tem por que se preocupar, você sempre pode sair com um :q!

Se você quiser conhecer mais comando, aqui estão dois bons endereços: http://www.fprintf.net/vimCheatSheet.html e http://amath.colorado.edu/computing/unix/vi/.

Voltando ao trabalho...

vim /root/.profile

Logo depois da linha "fi", insira esta entrada:

export EDITOR=/usr/bin/vim.basic

Para salvar e sair do editor use [ESC]:wq

Informações adicionais