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.152 ]

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

Compilando Kernel no CentOS 6.0

Fontes com filtros LCD no Arch Linux

As novidades do Java 1.5

Usando o SlackPorts

Instalando o RealPlayer 10 no Linux

Leitura recomendada

Clamav com Mailscanner para Postfix

Servidor de email com SMTP, POP, IMAP, quota e MySQL

Instalando Postfix e Dovecot no SLES 11 e autenticando em um diretório da Novell (Edir)

Utilizando o Thunderbird no Windows e Linux

Configurando servidor IMAP

  
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