Qmail + Patches + Performance Tuning, the Debian AMD64 way

Este artigo visa propor um roteiro conciso e objetivo para a compilação, instalação e configuração do Qmail no Debian AMD64, seguindo as convenções da distribuição e com patches especiais para maximizar a performance do Qmail. O roteiro também pode ser utilizado no Debian i386 ou mesmo em outras distribuições derivadas do Debian.

[ Hits: 17.413 ]

Por: Perfil removido em 23/02/2007


Procedimentos



1) Instalar pacotes de pré-requisitos para compilação e funcionamento:
  • Suíte para compilação: gcc, make, autoconf, automake, patch, patchutils etc.
  • Módulos do Perl: libdigest-hmac-perl, libdigest-sha1-perl, libnet-dns-perl, libhtml-parser-perl, libhtml-tagset-perl
  • Outros pacotes: libssl-dev, debconf, dpkg-dev, fakeroot, sudo, groff-base

2) Fazer download manual dos pacotes qmail-src e ucspi-tcp-src (apenas AMD64):

http://http.us.debian.org/debian/pool/non-free/q/qmail/qmail-src_1.03-38_all.deb
http://http.us.debian.org/debian/pool/.../ucspi-tcp-src_0.88-9_all.deb

3) Remover o MTA default (Exim ou Postfix), ignorando as dependências, já que depois o Qmail irá atendê-las:

# dpkg --ignore-depends=exim4 --purge exim4
# dpkg --ignore-depends=exim4-daemon-light --purge exim4-daemon-light
# dpkg --ignore-depends=exim4-daemon-light --purge exim4-base
# dpkg --ignore-depends=exim4-daemon-light --purge exim4-config


ou

# dpkg --ignore-depends=postfix --purge postfix

4) Opcional: limpar spool e logs antigos, se o dpkg já não o tiver feito.

5) Opcional: exportar variáveis de ambiente CFLAGS e CXXFLAGS para compilação otimizada para a máquina (maior performance).

6) Compilar e instalar o ucspi-tcp-src:

# dpkg -i ucspi-tcp-src_0.88-9_all.deb
# build-ucspi-tcp


7) Puxar e descompactar os patches do Qmail do seguinte endereço:

http://megaz.arbuz.com/download/qmail_patches.tar.gz

Vamos aplicar os seguintes patches:
  • qmail-big-ext-todo.patch
  • qmail-big-concurrency.patch
  • qmail-doublebounce-trim.patch
  • qmail-1.03-pop3d-stat.patch
  • qmail-bounce.patch
  • qmail-bouncecontrol-1.03.patch
  • qmail-accept-5xx.patch

Para uma descrição e justificativa de cada patch, leia os sites de referência e o código-fonte do patch. Outros patches já foram aplicados "automagicamente" pelo build-qmail. Com isso, o Qmail passa a ter todos os patches recomendados pelo autor, além de alguns outros para incrementar ainda mais suas funcionalidades.

8) Compilar e instalar o qmail-src:

# dpkg -i qmail-src_1.03-38_all.deb
# build-qmail


Na parte "This can take long time, depending on your machine", não aperte ENTER, aguarde.

9) Aplicar os patches:

Abra uma outra shell como root, para aplicarmos os patches. Mude para o diretório de compilação do Qmail:

# cd /tmp/qmail/qmail-1.03

Aplique os patches, de acordo com o local onde foram descompactados. No meu caso:

# patch < /root/qmail/qmail_patches/qmail-big-ext-todo.patch

E assim por diante com os demais patches.

10) Alterar arquivos na árvore do Qmail para correta compilação e geração do pacote .deb:

a) conf-spawn: alterar a primeira linha para 500.
b) debian/debianize-binary-tree: adicionar "|qmail-todo" após "sendmail".

11) Continuar com o build do Qmail, na shell original. Instale o pacote após o build.

PRONTO! Qmail + patches corretamente compilado e instalado, "the Debian way", em arquitetura AMD64!

12) Configuração do Qmail e "performance tuning" para um sistema com alta taxa de envio de e-mails. Esta é apenas uma referência, ajuste os parâmetros de acordo com suas necessidades. Leia a documentação do Qmail e dos patches para entender o por quê de tais parâmetros. Talvez você precise alterar outros arquivos de configuração do Qmail; leia o manual e verifique se estão corretos. O Debian geralmente já os configura corretamente.

# echo 400 >concurrencylocal
# echo 400 >concurrencyremote
# echo 10000 >bouncemaxbytes


13) Opcional: desabilitar o log do Qmail (apenas para sistemas que não precisam deles), e remover (ou aumentar) o "ulimit" na inicialização do mesmo. Somente faça isso se você tiver certeza do que está fazendo!

Editar o arquivo /etc/init.d/qmail, e:

a) Comentar todas as linhas "logger".
b) Remover todas as referências à variável "$logger".
c) Comentar a linha "ulimit -v 16384" (ou aumentar o valor).

14) Opcional: otimize todo o seu sistema, desde o kernel, já que a performance do Qmail (e qualquer outro serviço) depende disso. Há várias configurações a fazer; isso eu deixo para seu divertimento.

Referências


Página anterior    

Páginas do artigo
   1. Introdução
   2. Procedimentos
Outros artigos deste autor

Introduzindo um pouco mais a fundo o shell script (revisado)

Os segredos dos modems

IDS com Debian 4, Snort 2.8.3.1 e BASE 1.4.1

Open source fomentando o conhecimento

Decodificando filmes do programa "3w player"

Leitura recomendada

Qmail Auditor, auditoria no servidor Qmail

Gmail com POP e SMTP no Thunderbird

Implantação de um Sistema de Workgroup Open Source

Configuração do DKIM no Debian com Postfix e Múltiplos Domínios

iRedMail como servidor de e-mails em servidor GNU/Linux ou BSD

  
Comentários
[1] Comentário enviado por infortecpfz em 17/09/2009 - 14:08h

Parabéns pelo Artigo!

Me esclareça uma dúvida por favor! Eu preciso configurar um grupo de e-mail para meu domínio,
semelhante aos grupos do Yahoo! e Google Grupos, para quando eu enviar um e-mail para
@meudominio.com.br todos que tiveram conta cadastrada neste domínio receba a mesma
mensagem, poderia me auxiliar no mesmo por favor? Muito obrigado :wq



Fernando Santorsula


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts