Uma das
maiores dificuldades na utilização do servidor qmail é
seu complicado processo de instalação. Baseado em experiências
anteriores, foi desenvolvido um tutorial de instalação
do qmail para plataforma Linux, descrito abaixo:
# Download
dos fontes
wget ftp://cr.yp.to/software/qmail-1.03.tar.gz
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://cr.yp.to/software/fastforward-0.51.tar.gz
wget http://cr.yp.to/software/dot-forward-0.71.tar.gz
# Criar
diretório onde o servidor será compilado - /usr/local/src/qmail
mkdir -p /usr/local/src/qmail
cp *.tar.gz /usr/local/src/qmail
cd /usr/local/src/qmail/
# Descompactar
os fontes
tar -xzvf qmail-1.03.tar.gz
tar -xzvf ucspi-tcp-0.88.tar.gz
tar -xzvf dot-forward-0.71.tar.gz
tar -xzvf fastforward-0.51.tar.gz
# Ter certeza
que todos os arquivos tem gid e uid de root
chown -R root *
chgrp -R root *
# Entrar
no diretório do qmail
cd qmail-1.03
# Criar
diretório onde residirá o qmail
mkdir /var/qmail
# Criar
usuários e grupos necessários
/usr/sbin/groupadd nofiles
/usr/sbin/useradd -g nofiles -d /var/qmail/alias alias
/usr/sbin/useradd -g nofiles -d /var/qmail qmaild
/usr/sbin/useradd -g nofiles -d /var/qmail qmaill
/usr/sbin/useradd -g nofiles -d /var/qmail qmailp
/usr/sbin/groupadd qmail
/usr/sbin/useradd -g qmail -d /var/qmail qmailq
/usr/sbin/useradd -g qmail -d /var/qmail qmailr
/usr/sbin/useradd -g qmail -d /var/qmail qmails
# Consertar
o problema de DNS do qmail
# Pegue o arquivo qmail-103.patch - Clique
aqui
# Executar dentro do diretório do qmail
patch -p1 < qmail-103.patch
# Compilar
todos os programas
make setup check
# Configurar
o DNS
./config
# ou (mais usado)
./config-fast dominio (Por exemplo: ./config-fast gta.ufrj.br)
# Instalar o pacote ucspi-tcp
cd /usr/local/src/qmail/ucspi-tcp-0.88
make setup check
# Instalar
o pacote dot-forward
cd /usr/local/src/qmail/dot-forward-0.71
make setup check
# Instalar
o pacote fast-forward
cd /usr/local/src/qmail/fastforward-0.51
make setup check
# Instalar
o Daemontools
# Ler instruções em http://cr.yp.to/daemontools/install.html
# Reler
o inittab
kill -HUP 1
# Verifique
algum processo do svsscan está rodando
ps waux | grep svscan
# Crie
um arquivo chamado /var/qmail/rc com as seguintes linhas
#!/bin/sh
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start '|dot-forward .forward
./Maildir/'
# Torne
este script executavel
chmod 755 /var/qmail/rc
# Crie
o script "qmailctl" no path /var/qmail/bin/qmailctl
# Clique Aqui para pegar o qmailctl
vi /var/qmail/bin/qmailctl
# Crie
um link para /etc/rc.d/init.d/qmail
ln -s /var/qmail/bin/qmailctl /etc/rc.d/init.d/qmail
# Torne
o script executavel e crie um link no sistema em /usr/bin
chmod 755 /var/qmail/bin/qmailctl
ln -s /var/qmail/bin/qmailctl /usr/bin
# Crie
os script de inicialização do boot
ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc0.d/K30qmail
ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc1.d/K30qmail
ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc2.d/S80qmail
ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc3.d/S80qmail
ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc4.d/S80qmail
ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc5.d/S80qmail
ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc6.d/K30qmail
# Crie
os diretórios de supervise
mkdir -p /var/qmail/supervise/qmail-send/log
mkdir -p /var/qmail/supervise/qmail-smtpd/log
chmod +t /var/qmail/supervise/qmail-send
chmod +t /var/qmail/supervise/qmail-smtpd
# Crie
o arquivo /var/qmail/supervise/qmail-send/run
#!/bin/sh
exec /var/qmail/rc
# Crie
o arquivo /var/qmail/supervise/qmail-send/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s2500000
/var/log/qmail/qmail-send
# Crie
o arquivo /var/qmail/supervise/qmail-smtpd/run
#!/bin/sh
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
exec /usr/local/bin/softlimit -m 2000000 \
/usr/local/bin/tcpserver -v -R -l 0 -x /etc/tcp.smtp.cdb -c "$MAXSMTPD"
\
-u $QMAILDUID -g $NOFILESGID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1
# Crie
o arquivo concurrencyincoming
echo 20 > /var/qmail/control/concurrencyincoming
chmod 644 /var/qmail/control/concurrencyincoming
# Crie
o arquivo /var/qmail/supervise/qmail-smtpd/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s2500000
/var/log/qmail/qmail-smtpd
# Faça
com que os arquivo fiquem executáveis
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
# Crie
os diretórios de log
mkdir /var/log/qmail
mkdir /var/log/qmail/qmail-send
mkdir /var/log/qmail/qmail-smtpd
chown qmaill /var/log/qmail
chown qmaill /var/log/qmail/*
# Controle
de Acesso
vi /etc/tcp.smtp
# Colocar
as seguintes regras no arquivo /etc/tcp.smtp
# Altere de acordo com o numero IP que você liberar para relay
em
# sua rede
127.0.0.1:allow,RELAYCLIENT=""
192.168.0.:allow,RELAYCLIENT=""
:allow
# Efetivar
as regras
qmailctl cdb
# Pare
o sendmail
/etc/rc.d/init.d/sendmail stop
# ou
ps waux|grep sendmail
kill PID-of-sendmail
# Remova
o rpm do sendmail
rpm -e --nodeps sendmail
# Substitua
o sendmail pelo qmail
chmod 755 /var/qmail/bin/sendmail
mv /usr/lib/sendmail /usr/lib/sendmail.old
# ignore erros
mv /usr/sbin/sendmail /usr/sbin/sendmail.old
# ignore erros
chmod 0 /usr/lib/sendmail.old /usr/sbin/sendmail.old
# ignore erros
ln -s /var/qmail/bin/sendmail /usr/lib
ln -s /var/qmail/bin/sendmail /usr/sbin
# Crie
os alias de sistema
# Modifique o nome otto para o nome da conta que receberá todos
os # emails de retorno
echo otto > /var/qmail/alias/.qmail-root
echo otto > /var/qmail/alias/.qmail-postmaster
ln -s .qmail-postmaster /var/qmail/alias/.qmail-mailer-daemon
chmod 644 /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-postmaster
# Crie
o link para o diretório services
ln -s /var/qmail/supervise/* /service/
# Verifique
se o qmail está rodando
ps auxww | grep qmail
Caso tudo
ocorra bem, este estará sendo executando em alguns processos.
>>
Proxima