Caminho de Navegação Mysql / Artigos / Instalando qmail + MySQL

Mysql

 

Nenhuma avalição
Indique ao Ueba Indique ao BlogBlogs Indique ao Delicious Indique ao Technorati Indique ao Google Bookmarks Indique ao Newsgator
TAGS

Nenhuma tag foi definida ainda!

Defina as tags para esta página preenchendo o campo abaixo.

  • Máximo de 100 tags
  • Cada tag deve ter até 20 caracteres.
  • Separar as tags com virgula. Ex.: php, sql, html, xml, fireworks
COMENTAR

INDICAR
Nome do amigo: E-mail do amigo: Comentário:
REPORTAR ERRO Descreva o erro:

Instalando qmail + MySQLPostada em: 17/08/2004

Otavio James Bernardes Junior
Por: Otavio James Bernardes Junior Nº de Visualizações: 3399.



Introdução
O 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.

Sobre o autor
Eri 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. Consultoria

Requisitos
Um 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.

Instalando o Qmail
O 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:

qmail, ftp://cr.yp.to/software/qmail-1.03.tar.gz
ucspi-tcp, ftp://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
daemontools, ftp://cr.yp.to/daemontools/daemontools-0.76.tar.gz


Procedimento
Todos 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...


Instalando o ucspi-tcp

  cd /usr/src/qmail/
  tar zxvf ucspi-tcp-0.88.tar.gz
  cd ucspi-tcp-0.88
  make
  make setup CHECK
 



Instalando o daemontools

  cd /usr/src/qmail
  tar zxvf daemontools-0.76.tar.gz
  mv admin /
  cd /
  cd admin/daemontools-0.76
  sh package/install
 



Modificando arquivos e permissões
Para o perfeito funcionamento junto ao vpopmail+mysql que estamos propondo, precisamos utilizar a estrutura de Maildir, ao invés da Mailbox (padrão)


/var/qmail/rc

     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
 



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
 
  if [ ! -f /var/qmail/control/rcpthosts ]; THEN
        echo "No /var/qmail/control/rcpthosts!"
        echo "Refusing to start SMTP listener because it'll create an open relay"
        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:


  #!/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
 



O Script qmailctl
Existem 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 [35]aqui (oficial) ou [36]aqui (linuxman).


  cd /var/qmail/BIN
  wget http://www.linuxman.pro.br/qmail/qmailctl
  chmod +x qmailctl
  LN -s /var/qmail/BIN/qmailctl /usr/BIN
 



Referências
Life With Qmail [http://www.lifewithqmail.org/lwq.html] Qmail.org [http://www.qmail.org] Página do autor do qmail [http://cr.yp.to]


Instalando o vpopmail
Como 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.


Criando usuário no mysql


  mysql> 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"
 



Configurando o Makefile
Nesse passo é muito importante você conhecer o seu sistema, visto que algumas libs e includes precisarão ser referenciadas:


     ./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
 



Arquivo de inicialização do vpopmail

  cd /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.


Referências
Inter7 DicasLinux


Qmailadmin
O qmailadmin é uma ferramenta de gerenciamento para os domínios virtuais do qmail. Muito útil e simples de utilizar depois de instalada.


Baixando os sources

  cd /usr/src/qmail
  wget http://www.inter7.com/qmailadmin/qmailadmin-1.0.2.tar.gz
 



Instalando


  tar 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
 


QmailScanner
Com 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.


Instalando o QmailScanner
Os pré-requisitos são:

Perl 5.005_03+
Perl module Time::HiRes [http://search.cpan.org/search?module=Time::HiRes]
Perl module DB_File [http://search.cpan.org/search?module=DB_File]
Perl module Sys::Syslog [http://search.cpan.org/search?module=Sys::Syslog]
Algum anti-virus

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
 



Testando a instalação
Esse é um passo importante. Caso não funcione, reveja as opções que você colocou com o ./configure


  sh /contrib/test_installation.sh
 



Configurando o Qmail para utilizar o QmailScanner
Edite 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.

Referências
QmailScanner


Finalizando
Algumas considerações finais:

A instalação descrita nesse tutorial é a mais simples possível, sendo que existe uma farta documentação sobre qmail na internet. Nem sempre as coisas são muito claras, por isso tentei ajudar com mais esse tutorial.
O Daemontools deve ser iniciado no boot, por isso depois de tudo instalado é necessáro dar um reboot na máquina
Se receber a mensagem: "451 qq temporary problem (#4.3.0)" tente aumentar o softlimit

Boa sorte!
Otavio James Bernardes Junior
Enviado por Otavio James Bernardes Junior em 27 de maio de 2008 OLÁ SR OTÁVIO. EU NÃO ENTENDI OU ESTÁ COM NOME ERRADO ? EU ENTREI PENSANDO EM APRENDER INSTALAR O MYSQL E ESTÁ ENSINANDO QMAIL, NÃO É NEGÓCIO DE EMAIL ESSE QMAIL ?

Otavio James Bernardes Junior
Enviado por Otavio James Bernardes Junior em 27 de maio de 2008 eu tambem não entendi comu se estala....

Otavio James Bernardes Junior
Enviado por Otavio James Bernardes Junior em 27 de maio de 2008 somos 3. pq eu tbm nun entendi patatas de nada...

Otavio James Bernardes Junior
Enviado por Otavio James Bernardes Junior em 27 de maio de 2008 instalação do mysql ou qmail?