Qmail Howto

From Pruonckk.org

Qmail How-To por Mike Tesliuk ( baseado no qmail-toaster )


Conteúdo

Prefácio

O qmail é um excelente MTA em minha opinião, porém o processo de instalação dele é um pouco mais complicado, devido a quantidade de patchs que é preciso aplicar de acordo com sua necessidade, a idéia deste tutorial, é um qmail para um serviço de grande porte, mas claro, pode ser usado tb em uma pequena empresa, espero que gostem!

Particionamento

Um dos pontos importantes de um servidor é o particionamento, entao abaixo segue o esquema que usei

 sda1	/boot     200 MB  --> eu gosto de espaço aqui
 sda2	swap        2 GB  --> temos 4 GB de ram, acho que 2 GB de swap ta bom
 sda5	/	   20 GB  --> precisamos de espaço para instalar coisas
 sda6	/var	   10 GB  --> coisas do qmail e etc...
 sda7	/var/log   10 GB  --> Logs ocupam bastante espaço  
 sda8	/usr/src    5 GB  --> compilações de kernel
 sda9	/usr/local  5 GB  --> aluns softwares instalados na mao
 sda10	/var/spool 10 GB  --> Fila, Anti-virus e coisas assim  --> reiserfs
 sda11	/home	  370 GB  --> Home dos usuarios

Esta instalção foi feita em um Dell PowerEdge 2850, esta .iso de instalação do debian voce pode pegar no seguinte link:

http://staff.osuosl.org/~kveton/debian/debian-dell-2.4.29.iso

Essa .iso é do woody, e vem com o kernel 2.4.29, compilado pra dell

Ao terminar de instalar, eu resolvi compilar um kernel 2.6.10 para esta maquina

depois de transformar este woody em sarge, voce tem que instalar o module-init-tools para que voce possa compilar um kernel da serie 2.6

apt-get install module-init-tools 


eu sempre instalo o kernel-package tb, pq assim eu crio um pacote do meu kernel, eu acho melhor pra trabalhar assim, mas isso é um critério de cada um

Serviços a instalar

Este How-To é feito supondo que voce esteja usando um GNU/Debian 3.1 (sarge) Abaixo segue a definição doque teremos instalado ao fim do tutorial

  • Qmail SMTP Mail Server
    • SMTP_AUTH ( Plain, Login, CRAM-MD5)
    • TLS ( SSL )
    • Virus/Spam Scanner
  • Servidor POP3
    • CRAM-MD5
    • APOP
    • SSL
  • Webmail
  • Quota
  • AutoResponder
  • Mailing Lists
  • Administração
  • Qmail-Scanner
  • SpamAssassin
  • Spam-Guard


Pre Requisitos

Precisamos instalar os seguintes pacotes como Pre-requisitos

libgdbm3
libgdbm-dev
openssl
libssl-dev
stunnel 
libkrb5-dev
patch
bzip2
gcc
make
mysql-server
libmysqlclient14-dev
apache
php4
wget

Iniciando

O ideal antes de começarmos seria que voce verificace se o mx, esta corretamente configurado, caso voce usa-se o dominio, zezinho.com, voce poderia usar o seguinte comando para testar

host -t mx zezinho.com

a saida seria algo semelhante a isto

zezinho.com. mail is handled by 0 mail.zezinho.com

Baixando os pacotes

Recomendo que voce coloque os pacotes em /var/src ou mesmo em /usr/src eu vou usar o /usr/src/downloads pra nao misturar com arquivos do kernel

mkdir /usr/src/downloads
cd /usr/src/downloads	

voce tem que baixar estes arquivos, eu costumo criar um script e colocar no diretorio de download, pra nao precisar ficar escrevendo na mao esses endereços, mas fica a teu critério.  :)

	wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
	wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
	wget http://shupp.org/software/netqmail-1.05.tar.gz
	wget http://shupp.org/patches/qmail-toaster-0.7.2.patch.bz2
	wget http://shupp.org/software/vpopmail-5.4.10.tar.gz
	wget http://shupp.org/software/autorespond-2.0.4.tar.gz
	wget http://shupp.org/patches/autorespond-2.0.4-2.0.5.patch
	wget http://shupp.org/software/qmailadmin-1.2.3.tar.gz	
	wget http://shupp.org/software/qmailadmin-help-1.0.8.tar.gz
	wget http://cr.yp.to/software/ezmlm-0.53.tar.gz
	wget http://shupp.org/software/ezmlm-idx-0.40.tar.gz
	wget http://shupp.org/software/courier-imap-3.0.8.tar.bz2
	wget http://shupp.org/software/squirrelmail-1.4.3a.tar.bz2
	wget http://shupp.org/software/quota_usage-1.3-1.2.7.tar.gz
	wget http://shupp.org/software/toaster-scripts-0.7.tar.gz
	wget http://shupp.org/patches/ezmlm-idx-0.53.400.unified_41.patch
	wget http://www.pruonckk.org/todownload/empf-qmail-toaster.patch
        wget http://www.enderunix.org/spamguard/spamguard-1.6.tar.gz

Patcheando o qmail

    cd /usr/src/downloads
    tar -xzvf netqmail-1.05.tar.gz
    cd netqmail-1.05
    ./collate.sh

Daemontools

daemontools o daemontools é uma colecao de ferramentas de serviços UNIX, ele ira monitorar servicos como qmail-send, o qmail-smtpd, e o qmail-pop3d

informacao: http://cr.yp.to/daemontools.html

instalando:

          mkdir -p /package
	  chmod 1755 /package
	  cd /package
	  tar -xzvf /usr/src/downloads/daemontools-0.76.tar.gz
	  cd admin/daemontools-0.76/
	  patch -p1 < /usr/src/downloads/netqmail-1.05/other-patches/daemontools-0.76.errno.patch
	  package/install

Para verificar se ele esta realmente rodando ( por mais que seja desnecesario, pois ele ja te confirmou isso, porem por desencargo de conciencia, execute o seguinte comando

  ps ax | grep svscan 

se ele te retornar valores como

/bin/sh /command/svscanboot 
svscan /service 

é sinal que esta rodando corretamente.

UCSPI-TCP

O ucspi-tcp contem o tcpserver, tcpclient e as linhas de comandos para construir as aplicacoes cliente-servidor

informacao: http://cr.yp.to/ucspi-tcp.html

instalando:

		 cd /usr/src/downloads
		 tar -xzvf ucspi-tcp-0.88.tar.gz
		 cd ucspi-tcp-0.88
		 patch -p1 < ../netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch
		 make
		 make setup check

Qmail

qmail é o cara, é um moderno servidor smtp que fez o sendmail ficar obsoleto

informacao: http://www.qmail.org

Nos iremos aplicar um patch, que é composto pelos seguintes patchs

     
     	smtp auth
	spf
	qmail-queue
	maildir++ patch
	support oversize dns packets ( nao necessarios se voce dnscache )
	chkuser ( verifica por usuarios locais, nas sintaxes dos envelopes )
	spam throttle
	qregex
	big concurrency ( seta o spawn limit acima de 255 )

instalando:

      	 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
	
	 cd /usr/src/downloads
	 tar -xzvf toaster-scripts-0.7.tar.gz
	 cd netqmail-1.05/netqmail-1.5/
	 make
	 make setup check

Nota:: sera aplicado o patch no qmail depois que o vpopmail estiver instalado

abilitando o checagem SPF

        echo 3 > /var/qmail/control/spfbehavior

configurar o endereço de email primario este endereco ira receber os emails para o root, postmaster, e mailer-daemon troque "admin@exemplo.com" para seu endereço de email

         cd ~alias
	 echo "admin@exemplo.com" > .qmail-postmaster
	 echo "admin@exemplo.com" > .qmail-mailer-daemon
	 echo "admin@exemplo.com" > .qmail-root
	 chmod 644 .qmail*

na proxima linha, troque full.hostname pelo hostname que seu servidor tera

         
         cd /usr/src/downloads/netqmail-1.05/netqmail-1.05/
	 ./config-fast full.hostname

configurar: adicione as manpages do qmail ao MANPATH

         vi /etc/manpath.config

adicione a seguinte entrada

        MANDATORY_MANPATH		/var/qmail/man

salve o arquivo e saia

continuando...

           cd /usr/src/downloads/toaster-scripts-0.7/
	   cp rc /var/qmail/rc
	   chmod 755 /var/qmail/rc
	   mkdir /var/log/qmail
	   echo ./Maildir > /var/qmail/control/defaultdelivery
	   cp qmailctl /var/qmail/bin/
	   chmod 755 /var/qmail/bin/qmailctl
	   ln -s /var/qmail/bin/qmailctl /usr/bin
	   ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
	   ln -s /var/qmail/bin/sendmail /usr/lib/sendmail

Agora criamos os diretorios/scripts do supervise para os servicos do qmail

	   mkdir -p /var/qmail/supervise/qmail-send/log
	   mkdir -p /var/qmail/supervise/qmail-smtpd/log
	   mkdir -p /var/qmail/supervise/qmail-pop3d/log
	   mkdir -p /var/qmail/supervise/qmail-pop3ds/log
	   cd /usr/src/downloads/toaster-scripts-0.7
	   cp send.run /var/qmail/supervise/qmail-send/run
	   cp send.log.run /var/qmail/supervise/qmail-send/log/run
	   cp smtpd.run /var/qmail/supervise/qmail-smtpd/run
	   cp smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run
	   cp pop3d.run /var/qmail/supervise/qmail-pop3d/run
	   cp pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run
	   cp pop3ds.run /var/qmail/supervise/qmail-pop3ds/run
	   cp pop3ds.log.run /var/qmail/supervise/qmail-pop3ds/log/run
	   echo 20 > /var/qmail/control/concurrencyincoming
	   chmod 644 /var/qmail/control/concurrencyincoming
	   find /var/qmail/supervise -name "run" -exec chmod 755 {} \;
	   mkdir -p /var/log/qmail/smtpd
	   mkdir -p /var/log/qmail/pop3d
	   mkdir -p /var/log/qmail/pop3ds
	   chown -R qmaill.nofiles /var/log/qmail

Habilitando o daemontools para iniciar o qmail

          ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service 

Verifique se os serviços estao rodando, usando o qmailctl

          sleep 5 && qmailctl stat

Caso o smtpd nao esteja rodando, é provavelmente culpa do exim, entao voce executa o comando /etc/init.d/exim4 stop

e depois o remova da inicializacao

rm -rf /etc/rc2.d/*exim*

Vpopmail

O vpopmail é um pacote para gerenciamento de dominios virtuais, ele pode trabalhar com varios dominios, em um unico endereço ip, e as contas nao precisam ficar junto com as contas de sistema no /etc/passwd

no meu caso, o exemplo da instalação vai ser usando o vpopmail + mysql que é uma necessidade que eu tenho


informacoes: http://vpopmail.sf.net

instalando:

     	  
	   groupadd -g 89 vchkpw
	   useradd -u 89 -g vchkpw vpopmail
	   cd /usr/src/downloads
	   tar -xzvf vpopmail-5.4.10.tar.gz
	   cd vpopmail-5.4.10
	   ./configure --enable-logging=v --enable-auth-module=mysql --enable-auth-logging 
          --enable-sql-logging --enable-valias --disable-mysql-limits --enable-libdir=/usr/lib
	   make
	   make install-strip
	   echo '127.:allow,RELAYCLIENT=""' > /home/vpopmail/etc/tcp.smtp
	   cd /home/vpopmail/etc
	   tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
	na opcao abaixo, configure o usuario e senha para o vpopmail
	   echo "localhost|0|admin|SENHAVPOPMAILQUEVOCEQUER|vpopmail" > /home/vpopmail/etc/vpopmail.mysql
	   mysql -u root -p
	       mysql> CREATE DATABASE vpopmail;
	       mysql> GRANT select,insert,update,delete,create,drop ON vpopmail.* TO admin@localhost
               IDENTIFIED BY 'SENHAVPOPMAILQUEVOCEQUER';
	       mysql> quit
	   wget -c http://www.pruonckk.org/todownload/vpopmail.sql
	   mysql -u root -p vpopmail < vpopmail.sql 
	     	     	  
	instalar o script de inicializacao do vpopmail
	
	   cd /usr/src/downloads/toaster-scripts-0.7
	   cp vpopmailctl /home/vpopmail/bin/
	   ln -s /home/vpopmail/bin/vpopmailctl /usr/bin/
	  	  
	adicionar o patch do qmail-toaster agora que o vpopmail esta instalado
	e tb o patch para o empf da inter7
	  
	   cd /usr/src/downloads/netqmail-1.05/netqmail-1.05
	   bunzip2 -c ../../qmail-toaster-0.7.2.patch.bz2 | patch -p0
	   patch -p0 < ../../empf-qmail-toaster.patch 
	   make clean
	   make
	   qmailctl stop
	   make setup check

NOTA:: Os seguintes comandos devem sempre ser executado, apos uma recompilaçao do qmail

chown -R vpopmail.vchkpw /var/qmail/spam
make cert

preencha os dados necessarios

make tmprsadh

isso pode demorar bastante

Agora adicione a seguinte linha no seu crontab usando o comando 'crontab -e'

01 01 * * * /var/qmail/bin/update_tmprsadh > /dev/null 2>&1

Inicie o qmail devolta

qmailctl start

Crie o arquivo /var/qmail/control/policy

neste arquivos voce vai colocar os dominios que voce quiser aplicar politicas no meu caso, eu vou colocar todos os meus dominios, para que ele force o envio de email locais com autenticacao

entao o arquivo fica da seguinte maneira

dominio1.com:LREI,
dominio2.com:LREI,

deste modo ele vai exigir a autenticacao para envio, quando o dominio for local, isso evita situações como voce receber um email, sexworld@meudominio.com, pois usuario sexworld, se existisse teria que se autenticar, pois o dominio é local


bom, se voce é um provedor, voce vai criar varios dominios, e vai ficar meio chato se voce tiver que colocar o dominio na mao, sempre que um novo for criado

entao crie um script em /usr/bin/policy.qmail

com os seguinte dados

#!/bin/bash
sed -e s/$/:LREI,/ /var/qmail/control/rcpthosts > /var/qmail/control/policy

caso voce tenha mais de 50 dominios, voce tem que trocar o rcpthosts por morercpthosts


salve e saia

de permissao de execucao

chmod +x /usr/bin/policy.qmail

voce pode colocar este arquivo para ser executado pelo cron, no meu caso, vou colocar pra ser executado uma vez por dia

mais informações com relacao ao empf pode ser encontrada no seguinte link

http://www.inter7.com/?page=empf

continauando ....


Libere o daemontools para iniciar o vpopmail

	   
	     ln -s /var/qmail/supervise/qmail-pop3d /var/qmail/supervise/qmail-pop3ds /service
	     sleep 5 && vpopmailctl stat

Courier-IMAP

O courier-imap é que vai suprir os acessos de IMAP e SIMAP (secure imap)

informacoes: http://http://www.inter7.com/courier-imap


instalando:

    
      	      cd /usr/src/downloads
	      tar -xjvf courier-imap-3.0.8.tar.bz2
	      cd courier-imap-3.08
	      chown -R vpopmail.vchkpw ../courier-imap-3.0.8
	      su vpopmail
	      ./configure --with-authvchkpw --without-authdaemon

eu tive o seguinte erro na compilacao

 configure: error: C++ preprocessor "/lib/cpp" fails sanity check

entao eu instalei o g++-3.3 e dai passou tranquilamente

	   
	      exit
	      apt-get install g++-3.3
	      ln -s /usr/bin/g++-3.3 /usr/bin/g++
	      su vpopmail
	      ./configure --with-authvchkpw --without-authdaemon
	      make
	      exit
	      make install-strip
	      make install-configure
	      cp courier-imap.sysvinit /etc/init.d/courier-imap
	      chmod 755 /etc/init.d/courier-imap
	      ln -s /etc/init.d/courier-imap /etc/rc0.d/k30courier-imap
	      ln -s /etc/init.d/courier-imap /etc/rc1.d/k30courier-imap
	      ln -s /etc/init.d/courier-imap /etc/rc2.d/S80courier-imap
	      ln -s /etc/init.d/courier-imap /etc/rc3.d/S80courier-imap
	      ln -s /etc/init.d/courier-imap /etc/rc4.d/S80courier-imap
	      ln -s /etc/init.d/courier-imap /etc/rc5.d/S80courier-imap
	      ln -s /etc/init.d/courier-imap /etc/rc6.d/k30courier-imap
	      vi /usr/lib/courier-imap/etc/imapd
	        * Altere as opcoes para:
			AUTHMODULES="authvchkpw"
			AUTHMODULES_ORIG="authvchkpw"
			IMAPDSTART=YES
	      vi /usr/lib/courier-imap/etc/imapd-ssl
	         * Altere as opcoes para:
		 	IMAPDSSLSTART=YES
	      vi /usr/lib/courier-imap/etc/imapd.cnf
	     	 * Altere a opcao CN para o seu dominio:
		 	CN=full.hostname
			emailAdress=conta@seudominio
	      mkdir /var/lock/subsys
	  Inicie o courier imap
	      /etc/init.d/courier-imap start

SquirrelMail

O SquirrelMail é um webmail escrito em php, baseado em cliente IMAP

informacao: http://www.squirrelmail.org


NOTA: Aqui vou imaginar que seu DocumentRoot seja /var/www/

instalando:

		
	       cd /usr/src/downloads
	       tar -xjvf squirrelmail-1.4.3a.tar.bz2
	       cd squirrelmail-1.4.3a
	       cd plugins
	       tar -xzvf ../../quota_usage-1.3-1.2.7.tar.gz
	       cp quota_usage/config.php.sample quota_usage/config.php
	       cd ../
	       ./configure
	      
	   Aqui voce tera que fazer algumas configuraçoe
	      Va em Server Settings 	[2] 
	      selecione IMapSettings 	[A]    
	      selecione Server Software [8]
	      altere o servidor para courier
	      
	      de volta ao menu principal [R]
	      
	      Selecione General Options	[4]
	      e troque Data Directory 	[2]
	      para /home/squirrelmail/data/       --> esse diretorio costuma ficar bem grande de acordo 
	      					 	com sua carga
	 
	      de volta o menu principal [R]
	      
	      Selecione Plugins 	[8]
	      ali adicione ou remova os plugins que desejar, é desta mesma maneira que voce
	      configura plugins que estao no site official do squirrelmail
	      
	      Salve as configuracoes e saia

Mova o diretorio data para /home/squirrelmail/data e altere as permissoes para o usuario do e grupo do apache

       
	        mkdir /home/squirrelmail
	        mv data /home/squirrelmail/data
	        chown -R www-data.www-data /home/squirrelmail/data

Caso voce nao tenha o apache instalado ainda apt-get install apache

instale agora o squirrelmail

cd /usr/src/downloads
mv squirrelmail-1.4.3a /var/www/webmail

autorespond

Autorespond é uma ferramenta para respostas altomaticas e mensagens de ferias que funciona como o vdelivermail e o qmailadmin

informacoes: http://qmailadmin.sf.net

instalando:

	
		 cd /usr/src/downloads
		 tar -xzvf autorespond-2.0.4.tar.gz
		 cd autorespond-2.0.4
		 patch -p1 < ../autorespond-2.0.4-2.0.5.patch
		 make
		 make install

ezmlm-idx

ezmlm é uma gerenciador de Mail List configuravel pelo qmailadmin

informacoes: http://www.ezmlm.org

instalando:

		 cd /usr/src/downloads
		 tar -xzvf ezmlm-0.53.tar.gz
		 tar -xzvf ezmlm-idx-0.40.tar.gz
		 mv -f ezmlm-idx-0.40/* ezmlm-0.53/
		 cd ezmlm-0.53
		 patch -p0 < idx.patch
		 patch < ../ezmlm-idx-0.53.400.unified_41.patch
		 make
		 make setup

qmailadmin

Qmailadmin é quem pode gerenciar as contas de email apartir do seu navegador ( ele nao altera dominios, e coisas assim, apenas contas )

informacoes: http://sourceforge.net/projects/qmailadmin

instalando:

		
	 	 cd /usr/src/downloads
		 tar -xzvf qmailadmin-1.2.3.tar.gz 
		 cd qmailadmin-1.2.3
		 ./configure --enable-help --enable-htmldir=/var/www --enable-cgibindir=/usr/lib/cgi-bin
		 make
		 make install-strip
		 cd ..
		 mkdir /var/www/images/qmailadmin/help
		 tar -xzvf qmailadmin-help-1.0.8.tar.gz
		 cd qmailadmin-help-1.0.8
		 cp -rfp * /var/www/images/qmailadmin/help/

OBS:::::::: o qmailadmin provavelmente vai apresentar um erro, ele nao ira mostrar as imagens da interface, caso isso aconteça, procure e comente a seguinte linha na configuração do apache

Alias /images/ /usr/share/images/

VQadmin

O vqadmin é uma interface web para gerenciamento de dominios, permissoes e coisas assim

informacoes: http://www.inter7.com/index.php?page=vqadmin


instalando:

	
		 cd /usr/src/downloads
		 wget -c www.inter7.com/vqadmin/vqadmin-2.3.2.tar.gz
		 tar -xzvf vqadmin-2.3.2.tar.gz
		 cd vqadmin-2.3.2
		 ./configure --enable-cgibindir=/usr/lib/cgi-bin --enable-htmldir=/var/www
		 make
		 make install-strip
		 cd /usr/lib/cgi-bin/vqadmin
		 vi .htaccess

Edite a seguinte opção no arquivo, com o seguinte conteudo:

AuthUserFile /etc/apache/vqadmin.passwd

Crie o arquivo de senhas

htpasswd -c /etc/apache/vqadmin.passwd admin

Configurando o apache:

vi /etc/apache/httpd.conf

habilite o php no apache

adicione a seguinte configuracao ao fim do arquivo:

			<Directory /usr/lib/cgi-bin/vqadmin/>
				deny from all
				Options ExecCGI
				AllowOverride AuthConfig
				Order deny,allow
			</Directory>

salve e saia

		 /etc/init.d/apache restart

spamassassin

O spamassassin é um anti-spam que funciona integrado ao qmail pelo qmail-scanner

informacoes: http://spamassassin.apache.org/

instalando:

Baixando: hehehe  :)

		
		 cd /usr/src/downloads
		 wget -c http://ftp.pucpr.br/apache/spamassassin/source/Mail-SpamAssassin-3.0.4.tar.gz
		 tar -xzvf Mail-SpamAssassin-3.0.4.tar.gz
		 cd Mail-SpamAssassin-3.0.4
		 apt-get install unzip ncftp gnupg libdigest-sha1-perl libhtml-parser-perl perl-suid
		 perl Makefile.PL
		 make
		 make install
		 groupadd spamd
		 useradd -g spamd -d /home/spamassassin -s /bin/false -m spamd
		 echo "nice -n 15 /usr/bin/spamd -x -u spamd -H /home/spamassassin -d 
                --pidfile=/var/run/spamd/spamd.pid -m 5" > /etc/init.d/spamd.sh
		 mkdir /var/run/spamd
		 chown -R spamd /var/run/spamd
		 chmod 755 /etc/init.d/spamd.sh
		 ln -s /etc/init.d/spamd.sh /etc/rc2.d/S81spamd

para rodar o spamassassin voce pode usar o seguinte comando

		
		 /etc/init.d/spamd.sh

maildrop

informacoes: http://www.courier-mta.org/maildrop/

instalando:

		
		 cd /usr/src/downloads
		 wget -c http://ufpr.dl.sourceforge.net/sourceforge/courier/maildrop-1.8.1.tar.bz2
		 tar -xjvf maildrop-1.8.1.tar.bz2
		 cd maildrop-1.8.1
	  	 ./configure --prefix=/usr/local --exec-prefix=/usr/local --enable-maildrop-uid=root
                --enable-maildrop-gid=vchkpw --enable-maildirquota
		 make
		 make install-strip
		 make install-man

qmail-scanner

O qmail-scanner é um scanner de mensagens para o qmail, vamos usar ele para entegrar o spamassassin e o anti-virus

instalando:


OBS: Eu nao mensiono aqui a instalaçao do anti-virus, porem caso lhe interesse saber, eu usei o avg antivirus for linux mail server, ele funciona junto com o qmail-scanner, porem voce tem que aplicar um patch, eu fiz uma modificacao no patch do avg, para que ele funciona-se com o qmail-scanner 1.23 com o patch do spamassassin, o patch pra download esta em

http://www.pruonckk.org/todownload/qmail-scanner-1.23-avg-SA.patch

se voce desejar usar outro antivirus, uma versao livre por exemplo, segue o link para a instalaçao:

http://www.shupp.org/toaster/#options  

Ai voce encontrara as informaçoes necessarias

Primeiro temos que baixar o qmailscanner

		
		 cd /usr/src/downloads/
		 wget -c http://ufpr.dl.sourceforge.net/sourceforge/qmail-scanner/qmail-scanner-1.23.tgz
		 tar -xzvf qmail-scanner-1.23.tgz
		 wget -c http://www.pruonckk.org/todownload/q-s-1.23st-20040819.patch
		 cd qmail-scanner-1.23.tgz
		 patch -p1 < ../q-s-1.23st-20040819.patch
		 groupadd qscand
		 apt-get install perl-suid
		 useradd -c "Qmail-Scanner Account" -g qscand -d /var/spool/qmailscan -s /bin/false qscand
		 ./configure --domain seu dominio --admin postmaster --add-dscr-hdrs yes --dscr-hdrs-text  
                "X-AntiVirus-SEUDOMINIO" --sa-quarantine 0 --sa-delete 0.3 --sa-reject no --sa-subject
                 ":::SPAM:::" --sa-delta 0 --sa-alt yes --sa-debug no --notify admin

Se tudo ocorre tranquilamente, execute a linha acima usando no final a opcao --install


Configurando:

	     	 vi /var/qmail/supervise/qmail-smtpd/run
		Adicione a seguinte linha ao inicio do arquivo
			QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" export QMAILQUEUE
		 vi /home/vpopmail/etc/tcp.smtp
		Deixe a linha de relay da seguinte maneira
	 127.:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl",QS_SPAMASSASSIN="on"

SpamGuard

O spamguard é uma ferramenta bastante interessante, ele trabalha da seguinte forma voce define um numero de mensagens pra warning, um numero pra bloqueio, ele vai ler o arquivo de log do qmail por um agendamento no cron, no momento que ele for executado, ele vai contar quantas mensagens cada usuario mandou, se o cara mandou mais mensagens doque o permitido, ele entra na lista de badmailfrom e nao consegue enviar por aquela conta, a ferramenta é escrita em C oque deixa bem leve

      Instalando:
                 cd /usr/src/downloads
                 tar -xzvf spamguard-1.6.tar.gz
                 cd spamguard-1.6
                 ./configure
                 make
                 make install
                
      Configurando:
               
                 cd /usr/local/etc/
                 vi spamguard.conf
                       #spamguard 1.6 Configuration file
                       #logtype = "sendmail" #log type qmail, sendmail, postfix
-->tipo de log         logtype = "qmail" #log type qmail, sendmail, postfix
                       #logfile = "/var/log/maillog" #
-->arquivo de log      logfile = "/var/log/qmail/current" #
-->ignorar contas      ignorefile = "/usr/local/etc/spam-ignore.txt" #
-->arquivo badmailfrom badmailfile = "/var/qmail/control/badmailfrom" #
                       #badmailfile = "/etc/mail/access" #  For Sendmail
-->email do admin      sysadmin = "admin@meudominio" #
-->nome da maquina     hostname = "meudominio"
-->comando mail        mail_command = "/usr/bin/mail"
                       #makemap_command = "/usr/sbin/makemap hash /etc/mail/access < /etc/mail/access"
         
-->contagem pra warn   wcnt =  40 #warning count
-->bloqueio            bcnt = 100       #block count
-->bloqueia qq pessoa  pcnt = 300      #paranoid count --> ele ira bloquear mesmo que o email seja liberado
-->statos do spamguard statfile = "/usr/local/etc/spamguard.stat";
                  Coloque no cron a seguinte entrada: 
         5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/local/bin/spamguard 
                 desta maneira, ele sera executado a cada 5 minutos
              faça alguns testes para verificar se o seu arquivo de log, tem tamanho o suficente
                   antes de rotacionar, caso ele rotacione muito rapido para sua carga, altere
                   o seguinte arquivo: 
                          coloque apos o "....bin/multilog t"  o tamanho que voce deseja como no exemplo
                          abaixo 
        vi /var/qmail/supervise/qmail-send/log/run
                  #!/bin/sh
                  exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s5000000 /var/log/qmail
                               

OBS: mantenha tudo em uma linha apenas ( sem o \ )


pronto, agora voce tem um MTA completo instalado

eu preciso partir para mais algumas customizacoes, entao daqui pra frente segue quem achar interessante, deste ponto, voce tem que ter mais uma maquina, instalada exatamente igual ( nao precisa ter o mesmo hardware :) )

AINDA NAO COMECEI A FAZER A PARTE DE H.A, MAS LOGO JA ESTARA AQUI


CUSTOMIZACOES EXTRAS

Configuracoes do qmail

		 echo 500 > /var/qmail/control/concurrenyincoming
		 echo 400 > /var/qmail/control/concurrencylocal
		 echo 400 > /var/qmail/control/concurrencyremote
		 qmailctl stop
		 qmailctl start

outra coisa que tenho o habito de usar, é as blacklist

entao em seu /var/qmail/supervise/qmail-smtpd/run, edite a seguinte linha:

/var/qmail/bin/qmail-smtpd \

para

/usr/local/bin/rblsmtpd -r bl.spamcop.net /var/qmail/bin/qmail-smtpd \

ok, salve e saia

		qmailctl stop
		qmailctl start

Extras do apache! apt-get install php4-gd libapache-mod-perl

Instalando o MRTG

apt-get install mrtg

Configurando o MRTG

	
			 cd /usr/src/downloads
			 wget -c http://www.inter7.com/qmailmrtg7/qmailmrtg7-4.0.tar.gz
			 tar -xzvf qmailmrtg7-4.0.tar.gz
			 cd qmailmrtg7-4.0
			 make
			 make install
			 cp qmail.mrtg.cfg /etc/qmail.mrtg.cfg
			 cp index.html /etc/mrtg/
			 vi /etc/qmail.mrtg.cfg
				Configure para suas necessidades
			 mrtg /etc/qmail.mrtg.cfg
			        Voce precisa fazer isso algumas vezes, até sair 
				os warnings
			 vi /etc/mrtg/index.html
				Retire as opcoes que voce nao for usar
			 crontab -e
			     */5 * * * *  /usr/bin/mrtg /etc/qmail.mrtg.cfg > /dev/null


links:

WEBMAIL: http://SEUDOMINIO/webmail
VQADMIN: http://SEUDOMINIO/cgi-bin/vqadmin/vqadmin.cgi
QMAILADMIN: http://SEUDOMINIO/cgi-bin/qmailadmin
MRTG: http://SEUDOMINIO/mrtg


REFERENCIAS:::::::::::::::::::::::::::::;

 qmail ( www.qmail.org )
 qmailwiki ( www.qmailwiki.org )
 qmailrocks ( www.qmailrocks.org )
 qmailtoaster ( www.schupp.org/toaster )
 inter7 ( www.inter7.com )
 apache ( www.apache.org )
 spamassassin ( spamassassin.apache.org )


CONTATO::::

pruonckk@pruonckk.org



Voltar

Ferramentas pessoais
Inutilidades