Visite também: Br-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]
Voltar   Under-Linux.org Fóruns > UnderLinux Wiki
Wiki Classificados Galeria Reviews Jogos Comunidades RSS Feeds FAQ Termos de Uso Sobre
Cadastre-se FotosBlogs Lista de Membros Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Ferramentas pessoais
Publicidade

From UnderLinux Wiki

Imagem:qmail.png

Qmail + vpopmail + mysql + QmailAdmin + QmailScanner



Tabela de conteúdo

Introdução

O qmail é um dos mais seguros, rápidos e confiáveis servidores de e-mail disponíveis hoje no mercado. Infelizmente, entre suas características, não está a facilidade de instalação. Vamos tentar aqui amenizar o sofrimento que é instalar um server qmail com um mini-howto em português bem claro e objetivo.


Sobre o autor

Eri Ramos Bastos trabalha com Linux desde 1998, passando por diversas distribuições e fases diferentes do pinguim. Atualmente trabalha como consultor em soluções Linux / Unix e está disponível para ajudar a sua empresa a implantar Linux em todos os setores. erirb@xtms.com.br


Requisitos

Um sistema Unix, preferencialmente ligado ao projeto GNU de alguma forma. Já implementei o Qmail em Linux (Conectiva, Debian e SuSE), FreeBSD e OpenBSD com sucesso e poucas modificações nas sintaxes dos comandos. Mostrarei a sintaxe dos comandos para o Linux, mas se você usa outro sistema, provavelmente conhece a sintaxe dele e poderá adaptar os comandos facilmente.

Em algumas etapas a instalação pode parecer muito confusa.... E realmente é. Tenha fé e vá em frente.


Instalando o Qmail

O Qmail tem uma licença um tanto quanto restritiva, o que impede que ele seja distribuído em formato binnário (rpm, por exemplo). Por isso precisamos baixar o código fonte e compilá-lo.

Você precisará dos seguintes arquivos inicialmente:


Procedimento

Todos os passos abaixo deverão ser executados como root.

Caso você tenha o wget instalado na sua máquina:

cd /usr/src/
mkdir qmail; cd qmail
wget ftp://cr.yp.to/software/qmail-1.03.tar.gz
wget ftp://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
wget ftp://cr.yp.to/daemontools/daemontools-0.76.tar.gz
wget http://www.qmail.org/qmailqueue-patch

Antes de iniciar a instalação, é preciso criar alguns grupos e usuários na máquina:

groupadd nofiles
useradd -g nofiles -d /var/qmail/alias alias -s /bin/false
useradd -g nofiles -d /var/qmail qmaild -s /bin/false
useradd -g nofiles -d /var/qmail qmaill -s /bin/false
useradd -g nofiles -d /var/qmail qmailp -s /bin/false
groupadd qmail
useradd -g qmail -d /var/qmail qmailq -s /bin/false
useradd -g qmail -d /var/qmail qmailr -s /bin/false
useradd -g qmail -d /var/qmail qmails -s /bin/false
groupadd vchkpw
useradd -g vchkpw -d /var/qmail/vpopmail vpopmail

Vamos agora descompactar os sources e iniciar a instalação:


tar zxvf qmail-1.03.tar.gz
cd qmail-1.03
patch -p1 qmailqueue-patch
make setup check
./config-fast nome.do.seu.servidor

Pronto! Qmail instalado! Mas vamos com calma! Ainda não dá para rodar dessa forma...


Instalando o ucspi-tcp

cd /usr/src/qmail/
tar zxvf ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
make
make setup check


Instalando o daemontools

cd /usr/src/qmail
tar zxvf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
sh package/install


Modificando arquivos e permissões

Para o perfeito funcionamento junto ao vpopmail+mysql que estamos propondo, precisamos utilizar a estrutura de Maildir, ao invés da Mailbox (padrão)

  • /var/qmail/rc
cd /var/qmail
cp boot/home rc

Edite o arquivo rc e troque a palavra Mailbox por Maildir (IMPORTANTE: o "M" é maiúsculo)

Dê permissão de execução ao arquivo rc

chmod +x rc


Scripts de inicialização e arquivos de LOG

É importante que todos os arquivos e diretórios sejam criados com todo cuidado, ou nada irá funcionar.

mkdir -p /var/qmail/supervise/qmail-send/log
mkdir -p /var/qmail/supervise/qmail-smtpd/log

Arquivo /var/qmail/supervise/qmail-send/run com conteúdo:

#!/bin/sh
exec /var/qmail/rc

Arquivo /var/qmail/supervise/qmail-send/log/run com conteúdo:

#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail

Arquivo /var/qmail/supervise/qmail-smtpd/run com conteúdo:

#!/bin/sh
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
LOCAL=`head -1 /var/qmail/control/me`
if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" -o -z "$LOCAL" ]; then
echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in
echo /var/qmail/supervise/qmail-smtpd/run
exit 1
fi
exec /usr/local/bin/softlimit -m 2000000
/usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD"
-u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /var/qmail/bin/qmail-smtpd 2>&1

Criando configuração de conexões concorrentes. Altere de acordo com suas necessidades.

echo 20 > /var/qmail/control/concurrencyincoming
chmod 644 /var/qmail/control/concurrencyincoming

Arquivo /var/qmail/supervise/qmail-smtpd/log/run com conteúdo:

<pre>
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd

Dando as permissões corretas:

chmod 755 /var/qmail/supervise/qmail-send/run
chmod 755 /var/qmail/supervise/qmail-send/log/run
chmod 755 /var/qmail/supervise/qmail-smtpd/run
chmod 755 /var/qmail/supervise/qmail-smtpd/log/run

Criando diretórios de LOG:

mkdir -p /var/log/qmail/smtpd
chown qmaill /var/log/qmail /var/log/qmail/smtpd
ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service

Liberando o relay definitivo para localhost (RECOMENDADO):

echo '127.:allow,RELAYCLIENT=""' >>/etc/tcp.smtp


O Script qmailctl

Existem muitas operações que podem ser feitas com o qmail. Para facilitar a nossa vida, o site Life With Qmail nos disponibiliza um script muito útil, chamado qmailctl, o qual pode ser baixado http://www.lifewithqmail.org/qmailctl-script-dt70 (oficial) ou http://www.linuxman.pro.br/qmail/qmailctl (linuxman).

cd /var/qmail/bin
wget http://www.linuxman.pro.br/qmail/qmailctl
chmod +x qmailctl


Referências


Instalando o vpopmail

Como pretendemos instalar o vpopmail com suporte a banco de dados mysql, vou assumir que você já tem um server sql rodando e configurado, não sendo abordada aqui a instalação do mesmo.


Criando usuário no mysql

mysql> grant all on vpopmail.* to vmail@nome.do.seu.server identified by 'sua-senha';
mysql> flush privileges
cd /usr/src/qmail
wget http://www.inter7.com/vpopmail/vpopmail-5.2.1.tar.gz
tar zxvf vpopmail-5.2.1.tar.gz
cd vpopmail-5.2.1
mkdir -p /var/qmail/vpopmail/etc

Edite o arquivo vmysql.h substituindo:

#define MYSQL_UPDATE_SERVER "localhost"
#define MYSQL_UPDATE_USER "root"
#define MYSQL_UPDATE_PASSWD "secret"

#define MYSQL_READ_SERVER "localhost"
#define MYSQL_READ_USER "root"
#define MYSQL_READ_PASSWD "secret"

por:

#define MYSQL_UPDATE_SERVER "seu-server-mysql"
#define MYSQL_UPDATE_USER "vmail"
#define MYSQL_UPDATE_PASSWD "sua-senha"

#define MYSQL_READ_SERVER "seu-server-mysql"
#define MYSQL_READ_USER "vmail"
#define MYSQL_READ_PASSWD "sua-senha"


Configurando o Makefile

Nesse passo é muito importante você conhecer o seu sistema, visto que algumas libs e includes precisarão ser referenciadas (em NEGRITO):

  • --enable-sqllibdir=LIBMYSQL --enable-passwd=y
  • --enable-sqlincdir=INCLUDEMYSQL
./configure --enable-relay-clear-minutes=180
--enable-vpopuser=vpopmail --enable-vpopgroup=vchkpw
--enable-tcpserver-file=/etc/tcp.smtp
--enable-sqllibdir=LIBMYSQL --enable-passwd=y
--enable-qmaildir=/var/qmail
--enable-admin-email=admin@seu.dominio
--enable-tcprules-prog=`which tcprules`
--enable-auth-logging=y --enable-logging=y
--enable-sqwebmail-pass=y --enable-default-domain=seu.dominio
--enable-mysql=y --enable-roaming-users=y
--enable-deliver-filter=y --enable-defaultquota=10485760
--enable-large-site=n --enable-clear-passwd=n
--enable-sqlincdir=INCLUDEMYSQL

Compilando:

make
make install-strip


Arquivo de inicialização do vpopmail

cd /var/qmail

Arquivo pop com o conteúdo:

/usr/local/bin/tcpserver 0 110
/var/qmail/bin/qmail-popup nome.do.seu.server /var/qmail/vpopmail/bin/vchkpw
/var/qmail/bin/qmail-pop3d Maildir >/dev/null &

Esse arquivo deve ser iniciado no seu run-level padrão. coloque-o na inicialização da forma que achar mais simples.


Referências


Qmailadmin

O qmailadmin é uma ferramenta de gerenciamento para os domínios virtuais do qmail. Muito útil e simples de utilizar depois de instalada.


Baixando os sources

cd /usr/src/qmail
wget http://www.inter7.com/qmailadmin/qmailadmin-1.0.2.tar.gz


Instalando

tar zxvf qmailadmin-1.0.2.tar.gz
cd qmailadmin-1.0.2
./configure --enable-htmldir=/SEU/DIR/DE/HTML --enable-cgibindir=/SEU/DIR/DE/CGI
make
make install


QmailScanner

Com a quantidade de virus e worms que circulam pela web esses dias, um sistema de anti-virus é essencial. Existem diversos meios de se integrar o Qmail com os anti-virus, mas o mais usado é sem dúvida o QmailScanner.


Instalando o QmailScanner

Os pré-requisitos são:

  • Perl 5.005_03+
  • Algum anti-virus

Mas não vamos falar aqui como instalar esses módulos, recomendo que procure em alguma documentação mais específica.

cd /usr/src/qmail
wget http://umn.dl.sourceforge.net/sourceforge/qmail-scanner/qmail-scanner-1.15.tgz
tar zxvf qmail-scanner-1.15.tgz
cd qmail-scanner-1.15
./configure --help # Nesse momento você irá escolher as opções que se enquadram no seu sistema
./configure --SUAS-OPCOES
./configure --SUAS-OPCOES --install


Testando a instalação

Esse é um passo importante. Caso não funcione, reveja as opções que você colocou com o ./configure.

sh /contrib/test_installation.sh


Configurando o Qmail para utilizar o QmailScanner

Edite o arquivo /service/qmail-smtpd/run e adicione a seguinte linha logo após "#!/bin/sh":

export QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"

E modifique a linha "exec /usr/local/bin/softlimit -m 2000000 " por "exec /usr/local/bin/softlimit -m 8000000 ".

Esse valor foi suficiente para mim, mas observe o seu caso.


Referências

http://qmail-scanner.sourceforge.net QmailScanner


Epílogo

Algumas considerações finais:

  • A instalação descrita nesse tutorial é a mais simples possível, sendo que existe uma farta documentação sobre qmail na internet. Nem sempre as coisas são muito claras, por isso tentei ajudar com mais esse tutorial.
  • O Daemontools deve ser iniciado no boot, por isso depois de tudo instalado é necessáro dar um reboot na máquina
  • Se receber a mensagem: "451 qq temporary problem (#4.3.0)" tente aumentar o softlimit

Boa sorte!


Créditos

Tutorial no underlinux: http://www.underlinux.com.br/content/view/4415/70/

Este tutorial foi desenvolvido por Eri Ramos Bastos e editado no wiki por Duca.


Imagem:Avatar olhos spawn 2.jpg --Duca 17:52, 12 Janeiro 2006 (BRDT)

Horários baseados na GMT -3. Agora são 10:12.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.