Qmail e chkuser - fila de mensagens limpa
Muitos spammers enviam seu lixo para emails nome + @dominio, sendo que o nome é baseado em dicionário (de amanda a walace!). Esses e-mails enchem a fila (queue) e devoram o processador. Aprenda como evitar isso com um patch para qmail: chkuser.
Parte 3: Instalando chkuser no qmail
De acordo com o capítulo anterior, os fontes do qmail foram instalados em /usr/local/src na pasta netqmail-1.05.
Entre na pasta netqmail-1.05 e remova outra subpasta com o mesmo nome: netqmail-1.05 e em seguida execute o script collate.sh:
# cd /usr/local/src
# cd netqmail-1.05
# rm netqmail-1.05 -R
# sh collate.sh
Os fontes do qmail estão preparados para receber o patch.
Mude para a pasta /usr/local/src e baixe o patch chkuser da URL:
# wget http://www.interazioni.it/opensource/chkuser/download/\
archives/chkuser-2.0.8b-release.tar.gz
# tar xzf chkuser-2.0.8b-release.tar.gz
# cd chkuser-2.0.8b-release
Dentro da pasta do chkuser haverão vários arquivos, apenas um nos importa: netqmail-1.05_chkuser-2.0.8.patch
Esse patch faz referência ao vpopmail instalado em /home/vpopmail, como nos instalamos em /home/mailhome, edite-o e altere, onde houver /home/vpopmail, mude para /home/mailhome.
Copie-o em seguida para /usr/local/src/netqmail-1.05 e mude para a pasta /usr/local/src/netqmail-1.05/netqmail-1.05:
# cp netqmail-1.05_chkuser-2.0.8.patch /usr/local/src/netqmail-1.05
# cd /usr/local/src/netqmail-1.05/netqmail-1.05
Aplique o patch:
# patch -p0 < ../netqmail-1.05_chkuser-2.0.8.patch
Pare o qmail, é necessário que nenhum processo do qmail esteja em execução, caso contrário, a instalação não conseguirá sobrepor alguns arquivos em uso e irá gerar um erro.
# qmailctl stop
Compile e instale o novo qmail com chkuser:
# make
# make setup check
Pronto! O qmail com chkuser está pronto, mas ainda não irá efetuar sua função até que o processo qmail-smtpd esteja rodando sobre uid/gid do usuário vpopmail.
Vá até o arquivo /var/qmail/supervise/qmail-smtpd/run e altere as linhas:
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
Para:
Entre na pasta netqmail-1.05 e remova outra subpasta com o mesmo nome: netqmail-1.05 e em seguida execute o script collate.sh:
# cd /usr/local/src
# cd netqmail-1.05
# rm netqmail-1.05 -R
# sh collate.sh
Os fontes do qmail estão preparados para receber o patch.
Mude para a pasta /usr/local/src e baixe o patch chkuser da URL:
# wget http://www.interazioni.it/opensource/chkuser/download/\
archives/chkuser-2.0.8b-release.tar.gz
# tar xzf chkuser-2.0.8b-release.tar.gz
# cd chkuser-2.0.8b-release
Dentro da pasta do chkuser haverão vários arquivos, apenas um nos importa: netqmail-1.05_chkuser-2.0.8.patch
Esse patch faz referência ao vpopmail instalado em /home/vpopmail, como nos instalamos em /home/mailhome, edite-o e altere, onde houver /home/vpopmail, mude para /home/mailhome.
Copie-o em seguida para /usr/local/src/netqmail-1.05 e mude para a pasta /usr/local/src/netqmail-1.05/netqmail-1.05:
# cp netqmail-1.05_chkuser-2.0.8.patch /usr/local/src/netqmail-1.05
# cd /usr/local/src/netqmail-1.05/netqmail-1.05
Aplique o patch:
# patch -p0 < ../netqmail-1.05_chkuser-2.0.8.patch
Pare o qmail, é necessário que nenhum processo do qmail esteja em execução, caso contrário, a instalação não conseguirá sobrepor alguns arquivos em uso e irá gerar um erro.
# qmailctl stop
Compile e instale o novo qmail com chkuser:
# make
# make setup check
Pronto! O qmail com chkuser está pronto, mas ainda não irá efetuar sua função até que o processo qmail-smtpd esteja rodando sobre uid/gid do usuário vpopmail.
Vá até o arquivo /var/qmail/supervise/qmail-smtpd/run e altere as linhas:
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
Para:
QMAILDUID=`id -u vpopmail`
NOFILESGID=`id -g vpopmail`
NOFILESGID=`id -g vpopmail`
Agora inicie o qmail, tudo esterá em pleno funcionamento e verificando os destinatários!
# qmailctl start
Muito Legal o seu artigo, eu tentei implementar isso um vae mas não deu certo, pois eu possuo servidores diferentes.
O esquema que eu uso é quase igual ao outro artigo que você publicou "Gateway de e-mails com Qmail", eu uso 2 servidores mas o primeiro aos invés de passar anti-spam e anti-vírus, realiza apenas a autenticação dos usuários SMTP através do Vpopmail+Mysql. O servidor 1 é SMTP e MX ao mesmo tempo e o segundo é anti-spam, anti-vírus e Vpopmail (Maildir).
Tem como utilizar o chkuser neste caso, com o MX em um server e o vpopmail em outro?
Desde já agradeço,
Sérgio Cioban Filho