|
|||||||
| Wiki | Classificados | Galeria | Reviews | Jogos | Comunidades | RSS Feeds | FAQ | Termos de Uso | Sobre |
| Cadastre-se | Fotos | Blogs | Lista de Membros | Calendário | Pesquisar | Mensagens de Hoje | Marcar Fóruns Como Lidos |
FerramentasPublicidade |
From UnderLinux WikiQmail + vpopmail + mysql + QmailAdmin + QmailScanner
[editar] IntroduçãoO 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.
[editar] Sobre o autorEri 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
[editar] RequisitosUm 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.
[editar] Instalando o QmailO 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:
[editar] ProcedimentoTodos 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...
[editar] Instalando o ucspi-tcpcd /usr/src/qmail/ tar zxvf ucspi-tcp-0.88.tar.gz cd ucspi-tcp-0.88 make make setup check
[editar] Instalando o daemontoolscd /usr/src/qmail tar zxvf daemontools-0.76.tar.gz cd admin/daemontools-0.76 sh package/install
[editar] Modificando arquivos e permissõesPara o perfeito funcionamento junto ao vpopmail+mysql que estamos propondo, precisamos utilizar a estrutura de Maildir, ao invés da Mailbox (padrão)
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
[editar] 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
[editar] O Script qmailctlExistem 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
[editar] Referências
[editar] Instalando o vpopmailComo 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.
[editar] Criando usuário no mysqlmysql> 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"
[editar] Configurando o MakefileNesse passo é muito importante você conhecer o seu sistema, visto que algumas libs e includes precisarão ser referenciadas (em NEGRITO):
./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
[editar] Arquivo de inicialização do vpopmailcd /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.
[editar] Referências
[editar] QmailadminO qmailadmin é uma ferramenta de gerenciamento para os domínios virtuais do qmail. Muito útil e simples de utilizar depois de instalada.
[editar] Baixando os sourcescd /usr/src/qmail wget http://www.inter7.com/qmailadmin/qmailadmin-1.0.2.tar.gz
[editar] Instalandotar 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
[editar] QmailScannerCom 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.
[editar] Instalando o QmailScannerOs pré-requisitos são:
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
[editar] Testando a instalaçãoEsse é um passo importante. Caso não funcione, reveja as opções que você colocou com o ./configure. sh /contrib/test_installation.sh
[editar] Configurando o Qmail para utilizar o QmailScannerEdite 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.
[editar] Referênciashttp://qmail-scanner.sourceforge.net QmailScanner
[editar] EpílogoAlgumas considerações finais:
Boa sorte!
[editar] CréditosTutorial 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.
|