De:  anderson marcelo Para:  zagolinux@uol.com.br Assunto:  Qmail Data:  Sat, 8 May 2004 04:58:42 -0300 (ART) ###INSTALAÇÃO E CONFIGURAÇÃO DE UM SERVIDOR DE E-MAIL NO CONECTIVA 9 Updates1 USANDO O QMAIL#### Nesse tutorial usaremos o Qmail, você também pode usar outros tais como o postfix INTRODUÇÃO: 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 é: http://www.qmail.org Antes de fazer qualquer coisa você precisa ter os fontes do kernel instalado segue abaixo a relação de progrmas para serem instalados, esse programas já vem no cl9 Updates1 INSTALAÇÃO DOS FONTES DO KERNEL. apt-get install task-kernel-compiling gcc task-c-devel task-c++-devel iptables Logo após terminar execute a seguinte linha. /etc/rc.d/rcS.d/S84kernelheader start INSTALAÇÃO DA GLIBC apt-get install apache* apt-get install glibc* apt-get install openssl* apt-get install gdbm* apt-get install perl* Você precisa também instalar os pacote do php, entre no synapitc e veja todos os pacotes do php, existe um pacote que não esta acessivel para a instalação, o pacote e esse. php4inst habilita o módulo mod_php4, alterando o arquivo /etc/httpd/conf/httpd.conf. Ele não vai causar problema algum nessa aplicação. Vamos começar fazendo os seguintes downloads para que se possa montar esse servidor: Para economizar tempo você pode usar o wget, fazendo isso você faz todos os downloads dos programas em uma unica vez. se torne root. su - senha cd /root Essa instalação usaremos o diretório root, crie o diretório abaixo. mkdir qmail cd qmail Agora vamos fazer o download, copie e cole no pronpt, desde que você esteja no diretório /root/qmail wget http://www.qmail.org/qmail-1.03.tar.gz wget http://www.qmail.org/big-concurrency.patch wget http://www.qmail.org/qmailqueue-patch wget http://www.palomine.net/qmail/tarpit.patch wget http://www.qmail.org/qmail-1.03-mfcheck.3.patch wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz wget http://www.inter7.com/vpopmail/vpopmail-5.4.0.tar.gz wget http://aleron.dl.sourceforge.net/sourceforge/courier/courier-imap-2.1.1.tar.bz2 wget http://umn.dl.sourceforge.net/sourceforge/squirrelmail/squirrelmail-1.4.2.tar.gz wget http://www.inter7.com/devel/autorespond-2.0.3.tar.gz wget http://gd.tuwien.ac.at/infosys/mail/qmail/ezmlm-patches/ezmlm-idx-0.40.tar.gz wget http://gd.tuwien.ac.at/infosys/mail/qmail/ezmlm-patches/ezmlm-0.53.tar.gz wget http://www.inter7.com/qmailadmin/qmailadmin-1.2.0.tar.gz wget http://www.aplinux.com.br/downloads/scripts.tar.gz ## INSTALANDO E QMAIL APLICANDO OS PATCH NECESSARIOS AS EXPLICAÇÕES ESTÃO ACIMA ## cd /root/qmail tar -zxvf qmail-1.03.tar.gz cp qmailqueue-patch qmailqueue.patch rm -rf qmailqueue-patch patch -p0 < big-concurrency.patch patch -p0 < qmailqueue.patch patch -p0 < qmail-1.03-mfcheck.3.patch cp tarpit.patch qmail-1.03 cd qmail-1.03 patch -p0 < tarpit.patch tar -zxvf qmail-smtp-auth-send-0.0.1.tar.gz cd qmail-smtp-auth-send cp base64.c /root/qmail/qmail-1.03 cp base64.h /root/qmail/qmail-1.03 cp smtp-auth-send.patch /root/qmail/qmail-1.03 cd qmail-1.03 patch -p1 auto_uids.c.tmp && mv auto_uids.c.tmp auto_uids.c fatal: unable to find user alias Caso venha acontecer esse erro execute a seguinte linha useradd -g nofiles -d /var/qmail/alias alias O usuário alias não foi criado na linha acima. Caso venha acontecer erros do tipo repita as linhas acima uma de cada vez. O final tera que apresenta isso: ./install ./instcheck ###Proximo passo### Agora vamos configurar o Qmail. ./config Você devera usar essa configuração caso tenha um DNS configurado. Para quem não tem um dominio deve usar a seguinte configuração: ./config-fast nomedamaquina.dominio No meu caso ficou assim: cat /etc/hosts para ver o nome da máquina. ./config-fast mail4.anderson.eti Explicando: mail4 e o nome da maquina e anderson.eti e o nome do dominio, embora esse dominio não exista, isso foi uma foram de enganar ele. Isso se faz quando você esta instalando o linux, quando ele faz aquela pergunta sobre o nome da máquina. Você pode ate trocar e colocar algo do tipo acima, caso venha fazer uma instalação acho melhor você optar pela dica acima. Caso já tenha um dominio e um DNS configurado e respondendo e so executar as linhas acima. Estou fazendo um tutorial sobre DNS logo mais estara disponivel. ###próximo passo### Configuração que usei. ./config-fast mail4.anderson.eti ###PRÓXIMO PASSO COMPILAÇÃO E INSTALAÇÃO DO UCSPI-TCP E DAEMONTOOLS (SERVIÇOS DE SMTP E POP3)### cd /root/qmail tar -zxvf ucspi-tcp-0.88.tar.gz cd ucspi-tcp-0.88 make make setup check mkdir /package chmod 1755 /package cd /package tar -zxvf /root/qmail/daemontools-0.76.tar.gz cd admin/daemontools-0.76 package/install ## PRÓXIMO PASSO SCRIPTS DE INICIALIZAÇÃO ### EXPLICANDO: Veja que logo abaixo exista a classe de rede algo assim echo '192.168.0.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp mude isso de acordo com a sua rede. No meu caso so mudei de 0 para 1. Ficando assim echo '192.168.1.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp Após isso execute normalmente essas linhs, faça isso em uma única vez. cd /root/qmail tar -zxvf scripts.tar.gz cp /root/qmail/scripts/qmail /etc/init.d cp /root/qmail/scripts/rc /var/qmail/ chmod 755 /var/qmail/rc chmod 755 /etc/init.d/qmail cd /etc/rc3.d ln -s ../init.d/qmail S90qmail ln -s ../init.d/courier-imap S91courier-imap mkdir /var/log/qmail echo "./Maildir/" > /var/qmail/control/defaultdelivery mkdir -p /var/qmail/supervise/qmail-send/log mkdir -p /var/qmail/supervise/qmail-smtpd/log mkdir -p /var/qmail/supervise/qmail-pop3d/log cp /root/qmail/scripts/send/run /var/qmail/supervise/qmail-send/ cp /root/qmail/scripts/send/log/run /var/qmail/supervise/qmail-send/log/ cp /root/qmail/scripts/smtpd/run /var/qmail/supervise/qmail-smtpd/ cp /root/qmail/scripts/smtpd/log/run /var/qmail/supervise/qmail-smtpd/log/ cp /root/qmail/scripts/pop3d/run /var/qmail/supervise/qmail-pop3d cp /root/qmail/scripts/pop3d/log/run /var/qmail/supervise/qmail-pop3d/log echo 20 > /var/qmail/control/concurrencyincoming chmod 644 /var/qmail/control/concurrencyincoming 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 chmod 755 /var/qmail/supervise/qmail-pop3d/run chmod 755 /var/qmail/supervise/qmail-pop3d/log/run mkdir -p /var/log/qmail/smtpd mkdir -p /var/log/qmail/pop3d chown qmaill /var/log/qmail /var/log/qmail/smtpd /var/log/qmail/pop3d echo '127.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp echo '192.168.1.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service /etc/init.d/qmail cdb echo 30 > /var/qmail/control/tarpitcount echo 60 > /var/qmail/control/tarpitdelay ##PRÓXIMO PASSO COMPILAÇÃO E INSTALAÇÃO DO VPOPMAIL (CAIXAS POSTAIS E DOMÍNIOS VIRTUAIS)## Explicando o VPOMAIL: VPOMAIL será o responsavel pelo dominios virtuais, e ele quem cuidara de distinguir os usuarios dos dominos. exemplo: joao@meudominio.eti joao2@meudominio.eti O que isso siginifica, quando um mandar um e-mail ele para joao esse sera entregue para joao e não para joao2 cd /root/qmail tar -zxvf vpopmail-5.4.0.tar.gz groupadd vchkpw useradd vpopmail -g vchkpw -d /var/qmail/vpopmail cd vpopmail-5.4.0 ./configure --enable-learn-passwords=y --enable-clear-passwd=n --enable-valias=y --enable-qmail-ext=y make make install-strip ###PRÓXIMO PASSO### agora vamos criar os dominios e usarios. cd /var/qmail/vpopmail/bin ./vadddomain seudominio.com.br senha ./vadduser usuario@seudominio.com.br senha # TESTE: ./vadddomain email.localdomain ./vadduser anderson@email.localdomain ###PRÓXIMO PASSO COMPILAÇÃO E INSTALAÇÃO DO COURIER-IMAP (SERVIÇO DE IMAP)### cd /root/qmail tar -jxvf courier-imap-2.1.1.tar.bz2 cd courier-imap-2.1.1 ./configure --with-authvchkpw --enable-unicode --without-authdaemon --disable-root-check --prefix=/usr --sysconfdir=/etc/courier-imap make make install-strip make install-configure cp courier-imap.sysvinit /etc/init.d/courier-imap chmod 755 /etc/init.d/courier-imap cd /etc/courier-imap mv pop3d.dist pop3d mv pop3d-ssl.dist pop3d-sll mv imapd.dist imapd mv imapd-ssl.dist imapd-ssl Editar o arquivo impad (mcedit imapd) e alterar sua última linha para: IMAPDSTART=YES OBS: IMAPDSTART=YES Essa linha esta no final do arquivo. ###PRÓXIMO PASSO INICIAR OS SERVIÇOS QMAIL E COURIER-IMAP### /etc/init.d/qmail start /etc/init.d/courier-imap start ###PRÓXIMO PASSO COMPILAÇÃO E INSTALAÇÃO DO SQUIRRELMAIL (WEBMAIL)### Você precisa ter o apache funcionado e ter os pacotes do php instalados conforme foi citado acima. cd /srv/www/default/html cp /root/qmail/squirrelmail-1.4.2.tar.gz /srv/www/default/html tar -zxvf squirrelmail-1.4.2.tar.gz mv squirrelmail-1.4.2 webmail cd webmail mkdir attachments chmod -R 730 attachments chgrp -R www attachments cd config cp config_default.php config.php Você precisa dar um chmod 644 no diretorio data, caso venha a receber um aviso desse: Error opening ../data/default_pref Could not create initial preference file! ../data/ should be writable by user www Please contact your system administrator and report this error. Após isso abra qualquer broweser e tenta acessar o seu e-mail. Exemplo: http://seuendereco/webmail/ No meu caso http://192.168.1..205 Ira aparecer a tela de login e senha. Com um usuario cadastrado tente logar dessa forma anderson@mail4.anderson.eti Senha xxxxxx Você ira ter acesso a sua conta de e-mail. OBS: squirrelmail esta por default em inglês, para torna-lo em português entre no diretório config e altere o arquivo config.php a seguinte linha: $squirrelmail_default_language = 'en_US'; Para: Agora o seu squirrelmail esta em português. $squirrelmail_default_language = 'pt_BR'; ###PRÓXIMO PASSO COMPILAÇÃO E INSTALAÇÃO DO AUTORESPONDER (LISTA), EZMLM (LISTA) E QMAILADMIN (ADM WEB DO QMAIL)#### INSTALAÇÃO DO AUTORESPOND cd /root/qmail tar -xvzf autorespond-2.0.3.tar.gz cd autorespond-2.0.3/ make make install ###INSTALAÇÃO DO EZMLM### cd /root/qmail tar -xvzf ezmlm-0.53.tar.gz cd ezmlm-0.53/ make make man make setup ###INSTALAÇÃO DO QMAILADMIN O ADMINSTRADOR DE DOMINIOS E CONTAS DE USUARIOS### cd /root/qmail tar -xvzf qmailadmin-1.2.0.tar.gz cd qmailadmin-1.2.0 ./configure --enable-htmldir=/srv/www/default/html/ --enable-cgibindir=/srv/www/default/cgi-bin/ make make install-strip ###EXPLICANDO No comando acima, foram especificados os diretórios padrões do apache para páginas html e para scripts cgi Agora basta acessar o endereço http://seuendereco/cgi-bin/qmailadmin No meu caso ficou assim: http://192.168.1.205/cgi-bin/qmailadmin Com o qmailadmin você pode criar usários e remover também, na verdade e uma ferramenta em modo gráfico que facilita as coisas. ### PRÓXIMO PASSO INSTALAÇÃO E CONFIGURAÇÃO DO FETCHMAIL+QMAIL### Configuração do Fetchmail Iremos criar um arquivo de configuração /root fazendo com que essas contas não seja alteradas pelos usuarios. Primeiro vamas criar um arquivo de log, em /var/log chamado de fetchmaillog touch /var/log/fetchmaillog Criando o arquivo de configuração .fetchmailrc em /root cd ~ vi .fetchmailrc set logfile "/var/log/fetchmaillog" set postmaster "andersonlinux" set daemon 300 set bouncemail poll pop3.ig.com.br proto POP3 user andersonlinux password senha is andersonlinux forcecr --0-1782551540-1084003122=:481--