O qmail é um poderoso servidor de e-mail, leve e muito rápido, que foi desenvolvido com o intuito de ser totalmente seguro. Desde sua última versão estável (1.03), o qmail nunca teve nenhum bug comprometedor conhecido. Isso nos faz pensar que ele é muito bom para o uso em produção, inclusive porque além de ele ser muito estável, é flexível o bastante para aguentar um tráfego de e-mails muito grande.
O site do qmail é:
Vamos aprender aqui como montar um servidor de e-mail usando o qmail junto com o vpopmail. O qmail vai trabalhar com o manuseio dos e-mails, enquanto o vpopmail irá cuidar das contas dos usuários, senhas, informações, quotas, entre outros. Neste tutorial irei explicar também como utilizar o vpopmail para armazenar as informações de contas em um servidor de banco de dados, que no nosso caso será o MySQL.
Neste tutorial, instalaremos o qmail a partir do seu código-fonte. Existem pacotes já prontos em RPM, DEB, etc, mas para um completo entendimento e compatibilidade entre todos os sistemas, usaremos mesmo o código-fonte. A versão que estamos usando é a 1.03, e pode ser obtida no endereço:
http://www.qmail.org/qmail-1.03.tar.gz
Precisaremos também aplicar alguns patches para o QMail antes de instalá-lo no sistema. Você pode instalar o QMail puro, mas eu recomendo estes patches para um aumento de desempenho e recursos. A seguir temos os patchs recomendados junto com suas descrições:
big-concurrency (http://www.qmail.org/big-concurrency.patch): Este patch faz com que o qmail possa processar mais de 255 mensagens de uma vez no queue. Assim se a máquina for boa e com grande volume de mensagens simultâneas, o servidor poderá processá-las mais rapidamente.
qmailqueue (http://www.qmail.org/qmailqueue-patch): Com este patch, o qmail antes de processar qualquer mensagem em seu queue, verifica a variável de ambiente QMAILQUEUE em busca do programa de queue. Com isso pode-se encaminhar as mensagens para um script (qmail-scanner por exemplo) que filtrará estas mensagens. Isso pode ser usado para repassar a mensagem para filtros de extensões, palavras e anti-virus.
tarpit (http://www.palomine.net/qmail/tarpit.patch): O Tarpit é uma técnica anti-spam que adiciona um pequeno tempo de espera (sleep) quando o envio de e-mails passa de um certo limite. Por exemplo, se um spammer resolver mandar 1000 mensagens em uma conexão só, o qmail com este patch verificará esta ação e a cada mensagem que o spammer mandar, você pode configurar quanto tempo ele terá que esperar. Então se configurado pra 50 mensagens, quando o spammer for mandar a mensagem 51, esperara por exemplo, 5 minutos. E depois pra mensagem 52, mais 5 minutos, e por aí vai. Tudo isso configurável.
Existem outros patches interessantes, que você pode querer usar em seu servidor de e-mail. Abaixo estão as descrições de alguns que na minha opinião são interessantes. Como estou descrevendo-os apenas para o leitor conhecer mais recursos, não os cobrirei neste tutorial. Cobrirei apenas o três patches anteriores.
mfcheck (http://www.qmail.org/qmail-1.03-mfcheck.3.patch): Com este patch, o servidor verifica no DNS se o domínio do destinatário existe.
Agora vamos primeiro descompactar o qmail e instalar estes patches. Usaremos neste tutorial diretórios exemplo. Adapte como quiser.
mkdir /root/build cd /root/build tar zpvfx /root/download/qmail-1.03.tar.gz patch -p0 < /root/download/big-concurrency.patch patch -p0 < /root/download/qmailqueue.patch cd qmail-1.03 patch -p0 < /root/download/tarpit.patch |
Pronto. Agora o qmail já está descompactado e aplicamos os três patches como queríamos. Se você quiser aplicar algum outro patch, esta é a hora. Se não quiser, seguimos em frente.
1.2. Compilando e instalando o qmail
Hora de se preparar para compilar o qmail e instalá-lo. Por padrão, o qmail é instalado no diretório "/var/qmail". Você pode especificar em que diretório ele será instalado editando o arquivo "conf-qmail" dentro do diretório em que você descompactou o código-fonte do qmail. E em falar nisso, temos aqui alguns arquivos para configurar antes de compilar o programa. Aqui vai uma descrição deles:
conf-users e conf-groups: Aqui estão os arquivos que indicam que usuários serão usados para rodar o qmail. É bom deixar o padrão mesmo, criaremos estes usuários e grupos logo a seguir.
conf-qmail: Como dito anteriormente, o diretório onde o qmail irá ser instalado e estará funcional. Recomendo deixar este valor como "/var/qmail" mesmo, a não ser que você queira instalar em outro lugar (outra partição de disco por exemplo). Este tutorial irá usar o valor "/var/qmail", se por acaso você mudou esta configuração, substitua o "/var/qmail" pelo diretório que você configurou durante os passos deste tutorial. Uma outra boa idéia é mudar este valor para algo como /var/qmail-algumacoisa para indetificar esta instalação, e depois fazer um link simbólico como /var/qmail para manter a compatibilidade. Assim você pode compilar vários qmails diferentes, e apenas mudar o link simbólico para alterar a instalação do qmail que você fez.
conf-spawn: Quantas mensagens poderão ser processadas de uma vez pelo qmail. Com o patch que aplicamos, o "big-concurrency", pode-se colocar o valor maior que 255. O próprio patch modificou este valor para 1000, e até que é um número bom. Mas como não queremos ter que recompilar o kernel para suportar mais de 509 "file descriptors", colocaremos 500. Se seu servidor não tiver tantas mensagens assim, pode diminuir (deixar 240). Se tiver mensagem até demais (e o computador for bom também), pode aumentar.
conf-split: Quantos subdiretórios o diretório de queue do qmail terá. 23 é um bom número, mas se quiser pode aumentar um pouquinho.
Depois de ajustados os arquivos ao seu gosto, é hora de criar os usuários do qmail. Como criar estes usuários está descrito no arquivo "INSTALL.ids", mas colocarei aqui também para fins didáticos:
mkdir /var/qmail groupadd nofiles useradd -g nofiles -d /var/qmail/alias alias useradd -g nofiles -d /var/qmail qmaild useradd -g nofiles -d /var/qmail qmaill useradd -g nofiles -d /var/qmail qmailp groupadd qmail useradd -g qmail -d /var/qmail qmailq useradd -g qmail -d /var/qmail qmailr useradd -g qmail -d /var/qmail qmails |
Agora crie um link simbólico para refletir as configurações do qmail no diretório /etc/qmail (fica mais bonito). Para fazer isso execute o comando:
mkdir /etc/qmail ln -s /etc/qmail /var/qmail/control |
Feito isso, agora iremos compilar o qmail:
make setup check |
Lembre-se de que para compilar os programas no Linux, você deve ter os pacotes de desenvolvimento de sua distribuição. Então você terá que ter eles instalados no sistema, ou a compilação nunca será feita. Em algumas distribuições mais novas (como por exemplo, o Red Hat 9.0), durante a compilação ocorre um erro com o "errno" indefinido, se isso estiver ocorrendo com você, pegue os patches para os programas usados neste tutorial no seguinte endereço:
ftp://moni.csi.hu/pub/glibc-2.3.1/
E aplique os patches como os anteriores antes de compilar. Os arquivos que você precisará são os que tem "programa.errno.patch" como nome de arquivo.
Depois de compilado e instalado no diretório /var/qmail, é hora de configurar. O qmail contém um script que faz uma configuração rápida. Certifique-se que sua máquina tenha um nome válido no DNS, e digite:
./config |
Caso você não tenha um DNS ainda, você pode ir configurando o qmail para ser usado. Tenha em mãos o hostname e domínio de sua máquina e digite:
./config-fast nomedamaquina.dominio |
Substitua o nomedamaquina e dominio pelo hostname da sua máquina. Lembre-se que se isso não for válido no DNS, você precisará ter acesso ao DNS e configurar este hostname para que o qmail funcione corretamente.
1.3. Instalando programas adicionais
Agora é hora de instalar alguns programas adicionais que trabalharão junto ao qmail. Estes são: ucspi e daemontools.
ucspi-tcp (http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz): O ucspi-tcp é um programa feito pelo criador do qmail que substitui o inetd. Ele é usado para servir de ponte entre o cliente e o servidor.
daemontools (http://cr.yp.to/daemontools/daemontools-0.76.tar.gz): O daemontools é um pacote com uma série de scripts para lidar com servidores (daemons). Ele é usado para o controle dos programas do qmail.
Página seguinte |
|
|