Compile Qmail over Debian Howto

From Pruonckk.org

Pruonckk le Punk Qmail Howto

baseado no Qmail Toaster de Bill Shupp


Conteúdo

Prefácio

Atualmente temos uma infinidade de MTA's a disposição, dentre eles acredito que os mais conhecidos sejam o [www.qmail.org Qmail], [www.postfix.org Postfix] e outros, eu pessoalmente não tenho reclamações do qmail, acho ele simples de ser instalado, por mais que muita gente use como argumento a questão de patchs no qmail, acredito que isso não é problema quando você tem uma noção para aplicar patchs manualmente e um bom tutorial indicando a sequencia e quais patchs usar.


Particionamento

Um ponto que eu acredito ser muito precioso em um servidor de email é a questão do particionamento, você tem que imaginar quais são as extruturas que serão usadas, onde vai ficar os diretórios dos usuarios e tudo mais

 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

Este particionamento foi usado em um servidor Dell PowerEdge 2850, com 415 GB de hd

O debian sarge hoje tem um suporte muito bom para as maquinas da Dell, mas caso você tenha algum problema, abaixo temos um link que para uma iso de woody feita com um kernel para equipamentos Dell e outros mais

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

O pacote

Com a ajuda deste howto, você instalará uma série de aplicações para tornar o seu serviço de email completo, abaixo segue uma lista com algumas das aplicações

smtp

  • qmail

patchs

  • smtp_auth
  • spf
  • qmail-queue
  • maildir++
  • oversize dns patch
  • chkuser
  • spam throttle
  • mfcheck
  • qregex
  • big_concurrency
  • empf

Pop3

  • Vpopmail

Imap

  • Courier-imap

Webmail

  • Squirrel Mail

Administração

  • VqAdmin
  • Qmail-Admin

Banco de dados

  • MySQL (integração com vpopmail)

Spam

  • spamasasssin
  • tmda

MailScanner

  • simscan

Anti-Virus

  • ClamAV

Dependencias

Abaixo você tem uma lista de dependencias necessária para o processo de instalação de nosso servidor de email, nestes aplicativos temos servidores dns, bibliotecas gráficas, bibliotecas de criptografia, servidor web, banco de dados e outros aplicativos/bibliotecas

bind9
ibgdbm3
libgdbm-dev
openssl
libssl-dev
stunnel 
libkrb5-dev
patch
bzip2
gcc
make
mysql-server
libmysqlclient14-dev
apache2-mpm-prefork
libapache2-mod-php4
wget
equivs
ncftp
lynx
unzip
gnupg
libdigest-sha1-perl
libhtml-parser-perl
perl-suid
mrtg

Iniciando

Removendo o exim4

No debian é comum ao tentarmos remover o exim, vermos reclamação de dependencias , então para isso iremos usar o equivs para gerar um pacote para substituir as dependencias

Gerendo o pacote

cd /tmp
cp /usr/share/doc/equivs/examples/mail-transport-agent.ctl .
equivs-build mail-transport-agent.ctl

Removendo o exim

dpkg --ingore-depends=exim4 -r exim4
dpkg --ingore-depends=exim4 -r exim4-base
dpkg --ingore-depends=exim4 -r exim4-config
dpkg --ingore-depends=exim4 -r exim4-daemon-light

Instalando o substituto

dpkg -i /tmp/mta-local_1.0_all.deb


Ok, agora não teremos problemas de dependencias com relação ao exim

Configurando o dns

Para que você possa ter um servidor de email, você precisa também de um servidor dns, no caso de um servidor de email, o dns é usado principalmente para que você defina o seu servidor mx, especialmente nesse tutorial, temos um patch chamado mfcheck (mail from check) esse patch faz uma verificação especial de dns, para verificar, se o remetente, bate com o endereço de ip do servidor, caso seja uma resposta negativa ele retorna o seguinte erro

Your envelope sender must exist 

Para que não tenhamos este tipo de problema, é muito importante que você configure corretamente o seu servidor dns, com configuração de reverso também, caso você não tenha um conhecimento muito profundo em termos de servidores dns, temos aqui em nosso site um tutorial para configuração de um servidor dns usando o bind9: DFD DNS HOWTO

Baixando os Arquivos necessários

Nesta instalação, tudo oque se refere ao serviço de email, será compilado, então para que possamos manter uma organização iremos criar uma estrutura para download

Criando o diretorio para download

mkdir /usr/src/downloads
touch /usr/src/downloads/links
cd /usr/src/downloads/

Pruonckk le Punk Qmail Howto

baseado no Qmail Toaster de Bill Shupp


Prefácio

Atualmente temos uma infinidade de MTA's a disposição, dentre eles acredito que os mais conhecidos sejam o [www.qmail.org Qmail], [www.postfix.org Postfix] e outros, eu pessoalmente não tenho reclamações do qmail, acho ele simples de ser instalado, por mais que muita gente use como argumento a questão de patchs no qmail, acredito que isso não é problema quando você tem uma noção para aplicar patchs manualmente e um bom tutorial indicando a sequencia e quais patchs usar.


Particionamento

Um ponto que eu acredito ser muito precioso em um servidor de email é a questão do particionamento, você tem que imaginar quais são as extruturas que serão usadas, onde vai ficar os diretórios dos usuarios e tudo mais

 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

Este particionamento foi usado em um servidor Dell PowerEdge 2850, com 415 GB de hd

O debian sarge hoje tem um suporte muito bom para as maquinas da Dell, mas caso você tenha algum problema, abaixo temos um link que para uma iso de woody feita com um kernel para equipamentos Dell e outros mais

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

O pacote

Neste howto iremos instalar os seguintes serviços / aplicativos

smtp

  • qmail

patchs

  • smtp_auth
  • spf
  • qmail-queue
  • maildir++
  • oversize dns patch
  • chkuser
  • spam throttle
  • mfcheck
  • qregex
  • big_concurrency
  • empf

Pop3

  • Vpopmail

Imap

  • Courier-imap

Webmail

  • Squirrel Mail

Administração

  • VqAdmin
  • Qmail-Admin

Banco de dados

  • MySQL (integração com vpopmail)

Spam

  • spamasasssin
  • tmda

MailScanner

  • simscan

Anti-Virus

  • ClamAV


Dependencias

Antes de começarmos vamos instalar algumas dependencias

bind9
libgdbm3
libtdl3
libgdbm-dev
openssl
libssl-dev
stunnel 
libkrb5-dev
patch
bzip2
gcc
make
mysql-server
libmysqlclient14-dev
apache2-mpm-prefork
libapache2-mod-php4
wget
equivs
ncftp
lynx
unzip
gnupg
libdigest-sha1-perl
libhtml-parser-perl
perl-suid
mrtg

Iniciando

Removendo o exim4

Para remover o exim4 execute os seguintes passos

cd /tmp
cp /usr/share/doc/equivs/examples/mail-transport-agent.ctl .
equivs-build mail-transport-agent.ctl

dpkg -i /tmp/mta-local_1.0_all.deb

dpkg --ingore-depends=exim4 -r exim4
dpkg --ingore-depends=exim4 -r exim4-base
dpkg --ingore-depends=exim4 -r exim4-config
dpkg --ingore-depends=exim4 -r exim4-daemon-light

Ok, agora não teremos problemas de dependencias com relação ao exim

Configurando o dns

Pode não ser o seu caso, mas em alguns será necessário a configuração de um servidor dns para definir seu servidor MX e outras opções mais.

Para isso, configure o bind9, caso você não tenha experiencia com servidores de dns, olhe o seguinte howto DFD DNS HOWTO

faça todos os testes necessários e então vá para o próximo ponto

É ABSOLUTAMENTE IMPORTANTE QUE SEJA CONFIGURADO CORRETA MENTE O DNS, ALGUMAS FUNÇÕES, DENTRE ELAS, O MFCHECK USAM CONFIGURAÇÃO DE DNS PARA VERIFICAR SE O DOMINIO É VALIDO, CASO VOCE TENHA PROBLEMA, BASTA ALTERAR PARA 0 O VALOR EM /var/qmail/control/mfcheck

Baixando os Arquivos necessários

mkdir /usr/src/downloads
touch /usr/src/downloads/links
cd /usr/src/downloads/

jogue dentro do arquivo links os seguintes endereços

http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
http://www.pruonckk.org/todownload/vpopmail.sql
http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
http://shupp.org/software/netqmail-1.05.tar.gz
http://shupp.org/patches/qmail-toaster-0.8.2.patch.bz2
http://ufpr.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.13.tar.gz
http://shupp.org/patches/vpopmail-5.4.13-cumulative-1.patch
http://shupp.org/software/autorespond-2.0.4.tar.gz
http://shupp.org/patches/autorespond-2.0.4-2.0.5.patch
http://ufpr.dl.sourceforge.net/sourceforge/qmailadmin/qmailadmin-1.2.9.tar.gz
http://shupp.org/software/qmailadmin-help-1.0.8.tar.gz
http://cr.yp.to/software/ezmlm-0.53.tar.gz
http://shupp.org/software/ezmlm-idx-0.443.tar.gz
http://ufpr.dl.sourceforge.net/courier/courier-imap-4.1.1.tar.bz2
http://ufpr.dl.sourceforge.net/courier/courier-authlib-0.58.tar.bz2
http://shupp.org/software/squirrelmail-1.4.6.tar.bz2
http://shupp.org/software/quota_usage-1.3.1-1.2.7.tar.gz
http://shupp.org/software/toaster-scripts-0.8.1.tar.gz
http://www.enderunix.org/spamguard/spamguard-1.6.tar.gz
http://www.pruonckk.org/todownload/empf-toaster-0.8.1.patch
http://www.pruonckk.org/todownload/vpopmail.sql
http://www.inter7.com/vqadmin/vqadmin-2.3.2.tar.gz
http://shupp.org/software/clamav-0.88.2.tar.gz
http://shupp.org/patches/clamav-0.88.2-stderr.patch
http://shupp.org/patches/clamav-0.88.2-conf.patch
http://shupp.org/patches/clamav-0.88.2-freshclamconf.patch
http://shupp.org/software/ripmime-1.4.0.6.tar.gz
http://shupp.org/software/simscan-1.2.tar.gz
http://shupp.org/patches/ripmime.txt
http://shupp.org/software/tmda-1.0.3.tgz
http://shupp.org/software/tmda-cgi-0.13.tar.bz2
http://shupp.org/patches/tmda-cgi-patch-0.13.patch
http://shupp.org/software/qmailmrtg7-4.2.tar.gz
http://shupp.org/patches/qmailmrtg7-4.2-cfg.patch
http://ftp.pucpr.br/apache/spamassassin/source/Mail-SpamAssassin-3.1.3.tar.gz

Para fazer o download, agora execute os seguinte comando

for i in `cat /usr/src/downloads/links`; do wget -c $i; done

Patcheando o netqmail

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

Daemontools

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

cd ../
mkdir clear
touch clear/down

cat > clear/run << EOF
#!/bin/sh
yes " | head -4000 | tr '\n'
#Quando necessario limpar os erros do service, apenas execute:
#svc -o /service/clear
EOF
mv clear /service

Para verificar se o serviço esta corretamente instalado execute o comando abaixo:

ps ax | grep readproctitle

A saida deverá ser cimilar a abaixo

 9796 ?        S      0:00 readproctitle service errors: ................................................................................................................................................................................................................................................................................................................................................................................................................

UCSPI-TCP

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

Qmail

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 -xzf toaster-scripts-0.8.1.tar.gz
cd netqmail-1.05/netqmail-1.05/

make
make setup check

echo 3 > /var/qmail/control/spfbehavior
echo 1 > /var/qmail/control/mfcheck

SUBSTITUA A OPCAO admin@mailserver.com.br por seu usuario de 
administração @ o seu dominio.

cd ~alias
echo "admin@mailserver.com.br" > .qmail-postmaster
echo "admin@mailserver.com.br" > .qmail-mailer-daemon
echo "admin@mailserver.com.br" > .qmail-root


cd /usr/src/downloads/netqmail-1.05/netqmail-1.05
./config-fast mailserver.com.br

Adicionando manuais do Qmail ao man

Abra o arquivo /etc/manpath.config

Adicione a opção MANDATORY_MANPATH

MANDATORY_MANPATH	/var/qmail/man


Configurações necessárias para o qmail

cd /usr/src/downloads
cp toaster-scripts-0.8.1/rc /var/qmail/rc
chmod 755 /var/qmail/rc
mkdir /var/log/qmail
echo ./Maildir/ >/var/qmail/control/defaultdelivery
cp toaster-scripts-0.8.1/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

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/



cp /usr/src/downloads/toaster-scripts-0.8.1/send.run /var/qmail/supervise/qmail-send/run
cp /usr/src/downloads/toaster-scripts-0.8.1/send.log.run /var/qmail/supervise/qmail-send/log/run
cp /usr/src/downloads/toaster-scripts-0.8.1/smtpd.run /var/qmail/supervise/qmail-smtpd/run
cp /usr/src/downloads/toaster-scripts-0.8.1/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run
cp /usr/src/downloads/toaster-scripts-0.8.1/pop3d.run /var/qmail/supervise/qmail-pop3d/run
cp /usr/src/downloads/toaster-scripts-0.8.1/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run
cp /usr/src/downloads/toaster-scripts-0.8.1/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run
cp /usr/src/downloads/toaster-scripts-0.8.1/pop3ds.log.run /var/qmail/supervise/qmail-pop3ds/log/run
echo "20" > /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 /var/log/qmail

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

sleep 5
qmailctl stat

O comando acima deverá lhe dar um retorno similar ao seguinte

/service/qmail-send: up (pid 12577) 7 seconds
/service/qmail-send/log: up (pid 12583) 7 seconds
/service/qmail-smtpd: up (pid 12585) 7 seconds
/service/qmail-smtpd/log: up (pid 12588) 7 seconds
messages in queue: 0
messages in queue but not yet preprocessed: 0

Vpopmail

cd /usr/src/downloads
tar -xzvf vpopmail-5.4.13.tar.gz
cd vpopmail-5.4.13
patch -p0 < ../vpopmail-5.4.13-cumulative-1.patch
groupadd -g 89 vchkpw
useradd -u 89 -g vchkpw vpopmail
./configure --enable-logging=v --enable-auth-module=mysql \
--enable-auth-logging=y --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

echo "localhost|0|admin|SENHAPARAOVPOPMAIL|vpopmail" > /home/vpopmail/etc/vpopmail.mysql

Troque a senha do mysql para o usuario root

mysqladmin -uroot password 'suasenhaparaomysql' 
 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

 mysql -uroot -pSUASENHA vpopmail < /usr/src/downloads/vpopmail.sql
cd /usr/src/downloads/toaster-scripts-0.8.1
cp vpopmailctl /home/vpopmail/bin/
ln -s /home/vpopmail/bin/vpopmailctl /usr/bin/
cd /usr/src/downloads/netqmail-1.05/netqmail-1.05
bunzip2 -c /usr/src/downloads/qmail-toaster-0.8.2.patch.bz2 | patch -p0
patch -p0 < /usr/src/downloads/empf-toaster-0.8.1.patch
make clean
make
qmailctl stop
make setup check
chown -R vpopmail:vchkpw /var/qmail/spam
make cert
make tmprsadh

Adicione ao cron a seguinte linha

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

Agora inicie o qmail

qmailctl stat

Adicione o vpopmail ao daemontools

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

Configurando o EMPF

touch > /var/qmail/control/policy

Voce pode dar uma olhada nas sintaxes aceitas pelo empf no site da inter7 (http://www.qmailwiki.org/EMPF#A_policy_story)

Em todo caso a configuração básica que faremos é a seguinte

echo "DOMINIO:LREI," > /var/qmail/control/policy

Com esta configuração todo usuário terá que se autenticar para enviar mensagem do servidor, um exemplo do uso desta ferramente, é quando voce recebe mensagens do tipo "ESTA_CONTA_NAO_EXISTE@seudominio.com.br", com a ajuda deste patch, para enviar mensagens @seudominio o usuário tem que estar autenticado

Caso voce deixe algum dominio fora do arquivo, as regras não se aplicarão a este dominio

Caso você tenha muitos dominios voce pode usar o script abaixo, pelo cron para colocar automaticamente os dominios dentro do arquivo

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

Com este script o arquivo rcpthosts (ou morercpthost se for o caso) serão lidos, e para cada dominio no arquivo, será adicionada uma entrada correspondente no arquivo policy

Courier-IMAP

cd /usr/src/downloads
tar -xjvf courier-authlib-0.58
cd courier-authlib-0.58
./configure
make 
make install-strip
make install-configure
cp courier-authlib.sysvinit /etc/init.d/courier-authlib
chmod 755 /etc/init.d/courier-autlib
update-rc.d courier-authlib defaults

Abra o arquivo /usr/local/etc/authlib/authdaemonrc, e troque oque estiver em authmodulelist para "authvchkpw"

authmodulelist="authvchkpw

faça o mesmo com o parametro authmodulelistorig

mkdir /var/lock/subsys
/etc/init.d/courier-authlib start
cd /usr/src/downloads
tar -xjvf courier-imap-4.1.0.tar.bz2
cd courier-imap-4.1.0
chown -R vpopmail.vchkpw ../courier-imap-4.1.0
su vpopmail
umask 0022
./configure
make 
exit
make install-strip
make install-configure
cp courier-imap.sysvinit /etc/init.d/courier-imap
chmod 755 /etc/init.d/courier-imap
update-rc.d courier-imap defaults

Abra o arquivo /usr/lib/courier-imap/etc/imapd, e edite as seguintes opções

IMAPDSTART=NO

para

IMAPDSTART=YES

No arquivo /usr/lib/courier-imap/etc/imapd-ssl altere os seguintes campos

IMAPDSSLSTART=NO

para

IMAPDSSLSTART=YES

SquirrelMail

cd /usr/src/downloads/
tar -xjvf squirrelmail-1.4.6.tar.bz2
cd squireelmail-1.4.6
cd plugins
tar -xzvf ../../quota_usage-1.3.1-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

Copie agora o squirrelmail para o diretorio do apache

cd ../
mv squirrelmail-1.4.6 /var/www/webmail


Autorespond

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

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

Qmailadmin

cd /usr/src/downloads/
tar -xzvf qmailadmin-1.2.10.tar.gz
cd qmailadmin-1.2.10
./configure --enable-help --enable-htmldir=/var/www \
--enable-cgibindir=/usr/lib/cgi-bin --enable-imageurl=/images-qa \
--enable-imagedir=/var/www/images-qa

make
make install-strip
cd /usr/src/downloads/
tar -xzvf qmailadmin-help-1.0.8.tar.gz
cd qmailadmin-help-1.0.8
mkdir /var/www/images-qa/help
cp -rfp * /var/www/images-qa/help

VQadmin

cd /usr/src/downloads
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

Abra o arquivo .htaccess, e troque o valor de AuthUserFile para

AuthUserFile /etc/apache2/vqadmin.passwd

Crie o arquivo de senhas

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

Agora precisamos adicionar algumas confs ao apache, entao abra o arquivo

/etc/apache2/sites-enabled/000-default

Adicione ao fim do arquivo, antes da tag </VirtualHost>, o seguinte dado

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

Salve o arquivo e reinicie o apache

/etc/init.d/apache2 restart


SpamAssassin

cd /usr/src/downloads/
tar -xzvf Mail-SpamAssassin-3.1.3.tar.gz
cd /usr/src/downloads/Mail-SpamAssassin-3.1.3
perl Makefile.pl
make
make install
groupadd spamd
useradd -g spamd -d /home/spamassassin -s /bin/false -m spamd
echo "/usr/bin/spamd -x -u spamd -H /home/spamassassin -d --pidfile=/var/run/spamd/spamd.pid -m 5 -s /var/log/spamd" > /etc/init.d/spamd
mkdir /var/run/spamd
chown -R spamd /var/run/spamd
chmod 755 /etc/init.d/spamd
ln -s /etc/init.d/spamd /etc/rc2.d/S81spamd
/etc/init.d/spamd
touch /etc/logrotate.d/spamd

Abra o arquivo, e adicione o seguinte conteudo

# Logrotate para o spamasassin

/var/log/spamd {
	daily
	notifempty
	missingok
 	postrotate
		/usr/bin/killall -HUP spamd 2> /dev/null || true
	endscript
}

As configurações so SpamAssassin ficam em /etc/mail/spamassassin


ClamAV

cd /usr/src/downloads
tar -xzvf clamav-0.88.2.tar.gz
cd clamav-0.88.2
patch -p0 < ../clamav-0.88.2-stderr.patch
patch -p0 < ../clamav-0.88.2-conf.patch
patch -p0 < ../clamav-0.88.2-freshclamconf.patch
groupadd clamav
useradd -g clamav clamav
./configure
make 
make install

touch /var/log/freshclam.log
chmod 600 /var/log/freshclam.log
chown clamav /var/log/freshclam.log
cp /usr/src/downloads/toaster-scripts-0.8.1/freshclam /etc/init.d/freshclam
chmod 755 /etc/init.d/freshclam
update-rc.d freshclam defaults

cp /usr/src/downloads/toaster-scripts-0.8.1/freshclam.logrotate /etc/logrotate.d/freshclam

mkdir -p /var/qmail/supervise/clamd/log
mkdir -p /var/log/clamd
chown clamav /var/log/clamd
cp /usr/src/downloads/toaster-scripts-0.8.1/clamd.run /var/qmail/supervise/clamd/run
cp /usr/src/downloads/toaster-scripts-0.8.1/clamd.log.run /var/qmail/supervise/clamd/log/run
chmod 755 /var/qmail/supervise/clamd/run
chmod 755 /var/qmail/supervise/clamd/log/run
ln -s /var/qmail/supervise/clamd /service
/etc/init.d/freshclam start

ripmime

cd /usr/src/downloads/
tar -xzvf ripmime-1.4.0.6.tar.gz
cd ripmime-1.4.0.6
make
make install

simscan

cd /usr/src/downloads/
tar -xzvf simscan-1.2.tar.gz
cd simscan-1.2
patch -p0 < ../ripmime.txt
./configure --enable-clamav=y --enable-attach=y --enable-dropmsg=y \
--enable-spam=y --enable-spam-passthru=y --enable-spamc-user=y \
--enable-qmail-queue=/var/qmail/bin/qmail-queue --enable-ripmime \
--enable-received=y --enable-user=clamav --enable-spam-auth-user=y


make
make install

Caso voce queira verificar outras opções uma boa olhada no help do ./configure é muito valida

./configure --help | less


 echo ":clam=yes,spam=yes,spam_passthru=yes,attach=.vbs:.lnk:.scr:.wsh:.hta:.pif" > /var/qmail/control/simcontrol
 /var/qmail/bin/simscanmk -g
 echo '127.:allow,QMAILQUEUE="/var/qmail/bin/simscan"' > ~vpopmail/etc/tcp.smtp
qmailctl cdb

TMDA

O tmda é um anti-spam no estilo greylist, ou seja, o email tem de ser confirmado para que possa ser recebido, porém isso pode ser configurado para que não seja atrapalhado o envio e recebimento de quem não gosta deste tipo de anti-spam.

cd /usr/src/downloads
tar -xvzf tmda-1.0.3.tgz
cd tmda-1.0.3
./compileall
cd ../
mv tmda-1.0.3 /usr/local/
ln -s /usr/local/tmda-1.0.3 /usr/local/tmda
cp /usr/src/downloads/toaster-scripts-0.8.1/vadduser-tmda /home/vpopmail/bin/
cp /usr/src/downloads/toaster-scripts-0.8.1/vpopmail-vdir.sh /home/vpopmail/bin/
cp /usr/src/downloads/toaster-scripts-0.8.1/vtmdarc /home/vpopmail/etc/
mkdir -p /var/qmail/supervise/tmda-ofmipd/log
mkdir -p /var/qmail/supervise/tmda-ssl/log
mkdir /var/log/tmda-ofmipd/
mkdir /var/log/tmda-ssl/
chown vpopmail /var/log/tmda-*
cp /usr/src/downloads/toaster-scripts-0.8.1/tmda-ofmipd.run /var/qmail/supervise/tmda-ofmipd/run
cp /usr/src/downloads/toaster-scripts-0.8.1/tmda-ofmipd.log.run /var/qmail/supervise/tmda-ofmipd/log/run


cp /usr/src/downloads/toaster-scripts-0.8.1/tmda-ofmipd.ssl.run /var/qmail/supervise/tmda-ssl/run
cp /usr/src/downloads/toaster-scripts-0.8.1/tmda-ofmipd.ssl.log.run /var/qmail/supervise/tmda-ssl/log/run
chmod 755 /var/qmail/supervise/tmda-ofmipd/run
chmod 755 /var/qmail/supervise/tmda-ofmipd/log/run
chmod 755 /var/qmail/supervise/tmda-ssl/run
chmod 755 /var/qmail/supervise/tmda-ssl/log/run
ln -s /var/qmail/supervise/tmda-ofmipd /var/qmail/supervise/tmda-ssl /service/

Configurando o script cgi

 cd /usr/src/downloads
tar -xvjf tmda-cgi-0.13.tar.bz2
cd tmda-cgi-0.13
patch -p0 < ../tmda-cgi-patch-0.13.patch
cd ../
mv tmda-cgi-0.13 /usr/local/
cd /usr/local/tmda-cgi-0.13
rm -r skel/uninstall/%\(Parent\)s/
./configure \
 -t /usr/lib/cgi-bin/tmda.cgi \
 -p /home/vpopmail/bin/vchkpw \
 -m single-user \
 -l "vpopmail1 /home/vpopmail/bin/vuserinfo ~" \
 -i /usr/local/tmda-cgi-0.13/ \
 -d /display
make
make install
chown vpopmail:vchkpw /usr/lib/cgi-bin/tmda.cgi
chmod ug+s /usr/lib/cgi-bin/tmda.cgi

Agora precisamos criar um alias para o display que foi mensionado no configure

Abra o arquivo /etc/apache2/sites-enabled/000-default, ao fim do arquivo, adicione a seguinte opção

 Alias /display /usr/local/tmda-cgi-0.13/display/

Salve o arquivo e reinicie o apache

/etc/init.d/apache2 restart

Qmail-MRTG

   cd /usr/src/downloads
   mkdir /var/www/qmailmrtg
   tar -xzf qmailmrtg7-4.2.tar.gz
   cd qmailmrtg7-4.2
   patch -p0 < ../qmailmrtg7-4.2-cfg.patch
   make
   make install

mkdir /etc/qmailmrtg
cp qmail.mrtg.cfg /etc/qmailmrtg/

Abra o arquivo /etc/qmailmrtg/qmail.mrtg.cfg, na primeira linha voce tem a opçao WorkDir, altere ela para o seguinte valor

WorkDir: /var/www/qmailmrtg

Salve o arquivo e saia

sed -i s/FQDN/seudominio.com.br/g /etc/qmailmrtg/qmail.mrtg.cfg
indexmaker --section=title /etc/qmailmrtg/qmail.mrtg.cfg > /var/www/qmailmrtg/index.html

Agora execute o comando mrtg

mrtg /etc/qmailmrtg/qmailmrtg.cfg

você tem que executar 3 vezes para que sumam os erros

Agora adicone o mrtg ao cron

0-55/5 * * * * /usr/bin/mrtg /etc/qmailmrtg/qmail.mrtg.cfg > /dev/null

Links do seu servidor

VQAdmin

http://seudominio.com.br/cgi-bin/vqadmin/vqadmin.cgi

QmailAdmin

http://seudominio.com.br/cgi-bin/qmailadmin/

Webmail

http://seudominio.com.br/webmail

TMDA

http://seudominio.com.br/cgi-bin/tmda.cgi

MRTG

http://seudominio.com.br/qmailmrtg/

Referencias

Qmail

http://www.qmail.org
http://www.qmailwiki.org
http://www.qmailrocks.org
http://www.shupp.org/toaster

Apache

http://www.apache.org

Inter7

http://www.inter7.com

A inter7 é o desenvolvedor de softares como o qmailmrtg, vpopmail e outros

Contato

pruonckk (a) pruonckk.org

Voltar

Ferramentas pessoais
Inutilidades