Qmail a La Toaster no Debian Etch

########################################################
#                           Qmail a La Toaster no Debian Etch                            #
# Esta é uma atualização dos tutorias de instalação do Qmail no Debian   #
# by Frederico Pereira (fredux)                                                               #
# fontes: www.pruonckk.org/wiki e www.qmailrocks.org                        #
########################################################

Não será abordado neste tutorial a instalação do Sistema Operacional Debian, mas recomendo que utilize a instalação básica com repositórios atualizados.

Neste tutorial além do Qmail vamos instalar as seguintes ferramentas:
- VPOPMAIL - Serviço POP3
- COURIER-IMAP - Serviço IMAP
- SQUIRRELMAIL - Webmail
- QMAILADMIN - Administração de contas do Qmail
- SIMSCAN - Filtro de mensagens
- SPAMASSASSIN - AntiSpam
- CLAMAV - Antivírus

###########################
# instalando dependencias
###########################
apt-get install bind9 libgdbm3 libgdbm-dev openssl libssl-dev stunnel libkrb5-dev patch bzip2 gcc g++ make mysql-server libmysqlclient15-dev apache2-mpm-prefork libapache2-mod-php5 wget equivs ncftp lynx unzip gnupg libdigest-sha1-perl libdigest-hmac-perl libnet-dns-perl libhtml-parser-perl perl-suid mrtg

##############################################
# desativando o exim4 (padrão no Debian Etch) ##############################################
/etc/init.d/exim4 stop cd /etc/rc2.d/ mv S20exim4 K20exim4

###################################
# baixando os pacotes necessários
###################################
mkdir /usr/src/downloads
touch /usr/src/downloads/links
cd /usr/src/downloads/

# agora adicione os links abaixo no arquivo "links"
vim links
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://freshmeat.net/redir/clamav/29355/url_tgz/clamav-0.94.2.tar.gz
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/qmailmrtg7-4.2.tar.gz
http://shupp.org/patches/qmailmrtg7-4.2-cfg.patch
http://ftp.unicamp.br/pub/apache/spamassassin/source/Mail-SpamAssassin-3.2.5.tar.gz
# agora salve o arquivo (no VIM use :x para salvar e sair)

# para baixar todos os pacotes execute o comando abaixo:
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

###################################
# instalando o pacote Daemontools
###################################
(dentro do diretorio do netqmail)
mkdir /package chmod 1755 /package cd /package
tar -xpzf /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
cd ../
mkdir clear touch clear/down cat > clear/run << EOF #!/bin/sh yes " | head -4000 | tr '\n' # digite EOF para finalizar a edição # 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 resposta deve ser algo igual ao texto abaixo: 9796 ? S 0:00 readproctitle service errors: .........................................

###################################
# instalação do pacote ucspi-tool
################################### 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 ####################### # instalando netqmail ####################### 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 # no texto abaixo 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 # executando a configuração rapida do netqmail cd /usr/src/downloads/netqmail-1.05/netqmail-1.05 ./config-fast mailserver.com.br ########################################## # instalando os recursos para o netqmail ########################################## 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 ######################################################## # instalando o Vpopmail e resolvendo suas dependencias ######################################################## 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 # atenção: SUBSTITUA o texto SUASENHA pela sua senha de preferencia e lembre-se que ela será utilizada no passo para criação do banco de dados e permissões no Mysql echo "localhost|0|admin|SUASENHA|vpopmail" > /home/vpopmail/etc/vpopmail.mysql # trocando a senha do root no MYSQL mysqladmin -uroot password 'suasenhapadrao' # criando o banco de dados no MYSQL e dando permissão de acesso ao usuário do Vpopmail mysql -u root -p mysql> CREATE DATABASE vpopmail; mysql> GRANT select,insert,update,delete,create,drop ON vpopmail.* TO admin@localhost IDENTIFIED BY 'SUASENHA'; mysql> quit cd /usr/src/downloads/toaster-scripts-0.8.1 cp vpopmailctl /home/vpopmail/bin/ ln -s /home/vpopmail/bin/vpopmailctl /usr/bin/ ############################################################################# # finalizando a instalacao do netqmail e aplicando os patchs de atualização ############################################################################# 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 vamos iniciar o qmail qmailctl start # adicione o vpopmail ao daemontools ln -s /var/qmail/supervise/qmail-pop3d /var/qmail/supervise/qmail-pop3ds /service sleep 5 && vpopmailctl stat # substituindo o SendMail padrão da distribuição pelo netqmail rm -f /usr/lib/sendmail rm -f /usr/sbin/sendmail ln -s /var/qmail/bin/sendmail /usr/lib/sendmail ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail ####################### # configurando o EMPF ####################### touch > /var/qmail/control/policy echo "seudominio.com.br: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 ############################################### # instalando o courier authlib e 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-authlib update-rc.d courier-authlib defaults # abra o arquivo /usr/local/etc/authlib/authdaemonrc, e troque o que estiver em authmodulelist para "authvchkpw" conforme abaixo: (faça o mesmo com o parametro authmodulelistorig) authmodulelist="authvchkpw" mkdir /var/lock/subsys /etc/init.d/courier-authlib start cd /usr/src/downloads tar -xjvf courier-imap-4.1.1.tar.bz2 cd courier-imap-4.1.1 chown -R vpopmail.vchkpw ../courier-imap-4.1.1 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 mude as opções conforme abaixo: IMAPDSTART=NO para IMAPDSTART=YES # no arquivo /usr/lib/courier-imap/etc/imapd-ssl altere o seguinte campo: IMAPDSSLSTART=NO para IMAPDSSLSTART=YES ############################## # instalando o Autoresponder ############################## 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 ###################### # instalando o 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 ################################################## # instalando o Painel de Administração - 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, igual ao texto abaixo AuthUserFile /etc/apache2/vqadmin.passwd # agora crie o arquivo de senhas htpasswd -c /etc/apache2/vqadmin.passwd admin # agora precisamos adicionar algumas configurações ao apache, entao abra o arquivo /etc/apache2/sites-enabled/000-default # e adicione ao fim do arquivo, antes da tag , o seguinte dado: deny from all Options ExecCGI AllowOverride AuthConfig Order deny,allow # salve o arquivo e reinicie o apache /etc/init.d/apache2 restart # agora acesse http://ip_do_seu_servidor/cgi-bin/vqadmin/vqadmin.cgi # informe a senha que cadastramos acima, acesse o painel, criei seu dominio e a senha do # postmaster, atenção estes dados serão utilizados para acessar o Painel QmailAdmin # o QmailAdmin é um painel mais amigável, de fácil utilização como poderá ser observado. ###################################################### # instalando o Painel de administração - 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 # para acessar http://ip_do_seu_servidor/cgi-bin/qmailadmin/ ############################## # instalando o SpamAssassin ############################## cd /usr/src/downloads/ tar -xzvf Mail-SpamAssassin-3.2.5.tar.gz cd /usr/src/downloads/Mail-SpamAssassin-3.2.5 perl Makefile.PL make make install # neste momento o Spamassassin ira reclamar de algumas dependencias, se não aparecer nenhum erro podemos seguir sem problema groupadd spamd useradd -g spamd -d /home/spamassassin -s /bin/false -m spamd # agora vamos criar o script para iniciar o Spamassassin # cole o conteudo abaixo ao arquivo spamd vim /etc/init.d/spamd #! /bin/sh #Spamd init script for Debian (woody) #Tweaked for the qmailrocks.org qmail installation guide on 1-6-2005 # Atualizacao do Script original para Debian Etch # by Frederico Pereira (fredux) - fredericopereira@gmail.com # PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin DAEMON=/usr/local/bin/spamd NAME=spamd SNAME=spamd DESC="SpamAssassin Mail Filter Daemon" PIDFILE="/var/run/spamd/$NAME.pid" PNAME="spamd" DOPTIONS="-x -u spamd -H /home/spamassassin -d --pidfile=$PIDFILE" # Defaults - don't touch, edit /etc/mail/spamassassin/local.cf ENABLED=0 OPTIONS="" #test -f /etc/mail/spamassassin/local.cf && . /etc/mail/spamassassin/local.cf #test "$ENABLED" != "0" || exit 0 test -f $DAEMON || exit 0 set -e case "$1" in start) echo -n "Starting $DESC: " start-stop-daemon --start --pidfile $PIDFILE --name $PNAME \ --startas $DAEMON -- $OPTIONS $DOPTIONS echo "$NAME." ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --pidfile $PIDFILE --name $PNAME echo "$NAME." ;; restart|force-reload) echo -n "Restarting $DESC: " start-stop-daemon --stop --pidfile $PIDFILE --name $PNAME --retry 5 start-stop-daemon --start --pidfile $PIDFILE --name $PNAME \ --startas $DAEMON -- $OPTIONS $DOPTIONS echo "$NAME." ;; *) N=/etc/init.d/$SNAME echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0 #---------------------------- FIM --------------------------------- # criando diretorios e colocando o Spamassassin na inicializacao do sistema mkdir /var/run/spamd chown -R spamd /var/run/spamd chmod 755 /etc/init.d/spamd update-rc.d spamd defaults /etc/init.d/spamd start # para verificar se o Spamassassin esta rodando ps aux | grep spamd # o resultado deve ser algo como root 11324 0.0 5.8 33692 30452 ? Ss Feb05 0:01 /usr/local/bin/spamd -x -u spamd -H /home/spamassassin -d --pidfile=/var/run/spamd/spamd.pid # adicionando o spamd no logrotate touch /etc/logrotate.d/spamd # abra o arquivo, e cole o texto abaixo vim /etc/logrotate.d/spamd # Logrotate para o spamasassin /var/log/spamd { daily notifempty missingok postrotate /usr/bin/killall -HUP spamd 2> /dev/null || true endscript } #---------------------- FIM ------------------------- ############################ # instalando o clamAV ############################ cd /usr/src/downloads tar -xzvf clamav-0.94.2.tar.gz cd clamav-0.94.2 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 # configurando o ClamAV para funcionar como simscan # edite o arquivo clamd.conf e siga os passos abaixo "Example" - comente esta linha "LogFile" - descomente esta linha e altere o local para /var/log/clamav/clamd.log "LogTime" - descomente esta linha "LogSyslog" - descomente esta linha "ScanMail" - descomente esta linha # iniciando o clamd ln -s /var/qmail/supervise/clamd /service /etc/init.d/freshclam start ########################### # instalando o ripmime ########################### cd /usr/src/downloads/ tar -xzvf ripmime-1.4.0.6.tar.gz cd ripmime-1.4.0.6 make make install ########################### # instalando o Simscan ########################### cd /usr/src/downloads/ tar -xzvf simscan-1.2.tar.gz cd simscan-1.2 # aplicando patch do ripmime patch -p0 < ../ripmime.txt # esta configuração o simscan apagara automaticamente todas as mensagens marcadas como spam, para relaxar e controlar este processo você pode mudar o hit com a opção --enable-spam-hits={numero} (ex. --enable-spam-hits={7}) # para outras opções de configuração você pode utilizar ./configure --help | less ./configure --enable-clamav=y --enable-attach=y --enable-dropmsg=y \ --enable-spam=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 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 stop qmailctl cdb qmailctl start qmailctl stat ########################### # instalando o QmailMRTG ########################### cd /usr/src/downloads mkdir /var/www/qmailmrtg tar -xzf qmailmrtg7-4.2.tar.gz cd qmailmrtg7-4.2 # aplicando patch patch -p0 < ../qmailmrtg7-4.2-cfg.patch #compilando make make install # agora abra o arquivo /etc/qmailmrtg/qmail.mrtg.cfg, na primeira linha voce tem a opçao WorkDir, altere ela para o seguinte valor ou para o endereço padrão do seu webserver WorkDir: /var/www/qmailmrtg # salve e sai # colocando o seu dominio nos gráficos sed -i s/FQDN/seudominio.com.br/g /etc/qmailmrtg/qmail.mrtg.cfg # criando a página inicial (index.html) indexmaker --section=title /etc/qmailmrtg/qmail.mrtg.cfg > /var/www/qmailmrtg/index.html # agora teremos que executar o MRTG pelo menos 3 ou 4 vezes para que ele criei todos os arquivos e imagens. mrtg /etc/qmailmrtg/qmailmrtg.cfg # pronto para acessar http://ip_do_seu_servidor/qmailmrtg/ ######################## PARABÉNS ######################### Pronto seu servidor de Correio esta operante e com os recursos necessários para iniciar sua utilização. créditos para: www.pruonckk.org/wiki e www.qmailrocks.org (debian)

Postagens mais visitadas deste blog

Firewall Palo Alto - Configuração inicial

Firewall Palo Alto - Alta Disponibilidade de Link de Internet e VPN Site-to-Site (Dual ISP and VPN)