|
|
||
|
Submitted by Eri on Wed, 2005-09-14 22:56.
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. 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. Consultoria 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. 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:
ProcedimentoTodos os passos abaixo deverão ser executados como root
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 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
tar zxvf qmail-1.03.tar.gz cd qmail-1.03 patch -p1 < ../qmailqueue-patch make setup check ./config-fast nome.do.seu.servidor
Instalando o ucspi-tcpcd /usr/src/qmail/ tar zxvf ucspi-tcp-0.88.tar.gz cd ucspi-tcp-0.88 make make setup check Instalando o daemontoolscd /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
/var/qmail/rc
cd /var/qmail
cp boot/home rc
chmod +x rc Scripts de inicialização e arquivos de LOG
mkdir -p /var/qmail/supervise/qmail-send/log mkdir -p /var/qmail/supervise/qmail-smtpd/log
#!/bin/sh exec /var/qmail/rc
#!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail
#!/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
echo 20 > /var/qmail/control/concurrencyincoming chmod 644 /var/qmail/control/concurrencyincoming
#!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd
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
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
echo '127.:allow,RELAYCLIENT=""' >>/etc/tcp.smtp O Script qmailctl
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
Instalando o vpopmail Como pretendemos instalar o vpopmail com suporte a banco de dados 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
Configurando o Makefile
./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
make make install-strip Arquivo de inicialização do vpopmailcd /var/qmail
/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 &
ReferênciasQmailadmin
Baixando os sourcescd /usr/src/qmail wget http://www.inter7.com/qmailadmin/qmailadmin-1.0.2.tar.gz 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 QmailScanner
Instalando o QmailScannerOs pré-requisitos são:
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çãoEsse é 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 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"
"exec /usr/local/bin/softlimit -m 2000000 \"
"exec /usr/local/bin/softlimit -m 8000000 \"
ReferênciasQmailScanner FinalizandoAlgumas considerações finais:
| ||