Instalando o Postfix no Slackware 12.0

Apesar do postfix ser um ótimo servidor de smtp, ele não vem por padrão na distribuição Slackware. Testamos por vários anos a utilização do qmail e do sendmail, mas nenhum superou a facilidade e flexibilidade do postfix, então decidimos implementá-lo por padrão em nossos serviores. Este artigo ensinará como instalar o postfix no slackware 12.0.

1 – Softwares

1.1 - Postfix
O postfix deve ser baixado no site http://www.postfix.org/. Vamos usar a versão da árvore 2.4, 
faça o download do arquivo postfix-2.4.7.tar.gz.

 

2 – Instalando

2.1 - Compilando
Excute os comandos:

# cd /usr/local/src
# tar zxf postfix-2.4.7.tar.gz
# cd postfix-2.4.7/
# make -f Makefile.init makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH
-DUSE_CYRUS_SASL -I/usr/include/sasl -I/usr/include/db4/' 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient
-lz -lm -L/usr/lib -lsasl2 -R/usr/lib/ -L/usr/lib/ -ldb4'
# make
2.2 - Desativando o sendmail
Caso o sendmail esteja instalado em seu sistema, execute o procedimento descrito neste tópico.
Agora se você não instalou ele, pode passar para o tópico 2.3 - Instalando.

Pare o sendmail:

# /etc/rc.d/rc.sendmail stop

Mova os arquivos do sendmail ou remova os pacotes:

Movendo os arquivos:
# mv /usr/sbin/sendmail /usr/sbin/sendmail.OFF
# mv /usr/bin/newaliases /usr/bin/newaliases.OFF
# mv /usr/bin/mailq /usr/bin/mailq.OFF

Removendo os pacotes: 
# removepkg sendmail
# removepkg sendmail-cf
2.3 - Instalando
Primeiro vamos criar os usuários, escolha o uid e gid desejados.

# groupadd -g 302 postfix
# useradd -u 302 -g postfix -d /var/spool/postfix -s /bin/false postfix
# groupadd -g 303 postdrop

Instale o postfix

# make install

3 – Configurando

Os arquivos de configuração do postifix ficam no diretório /etc/postfix.
3.1 - Arquivo /etc/postfix/main.conf
Este é o principal arquivo de configuração do postifix, altere as seguintes configurações 
utilizando um editor de sua preferência:

myhostname = nome_do_servidor.seudominio
mydomain = seudominio
myorigin = $mydomain
inet_interfaces = all
mydestination = $mydomain, $myhostname, localhost, localhost.$mydomain
mynetworks_style = subnet
mynetworks = 127.0.0.0/8, 192.168.0.0/24 # suas redes e a rede de loopbak
relay_domains = $myhostname, $mydomain, $mynetworks
alias_database = hash:/etc/aliases
bounce_queue_lifetime = 1d
maximal_queue_lifetime = 1d
mailbox_size_limit = 5120000000 # caixa postal com 512MB no máximo. 0 = ilimitado
message_size_limit = 10240000 # tamanho máximo de cada mensagem 10MB. 0 = ilimitado
best_mx_transport = local
disable_mime_output_conversion = yes
disable_mime_input_processing = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
broken_sasl_auth_clients = yes
smtpd_sasl_application_name = smtpd
smtpd_helo_required = yes
smtpd_sender_restrictions = 
  reject_unlisted_sender
smtpd_recipient_restrictions =
  permit_mynetworks,
  permit_sasl_authenticated,
  reject_unauth_destination

4 – Ativando

4.1 - Script de inicialização
Salve o conteúdo abaixo em um arquivo chamado rc.postfix e copie este arquivo para o diretório
/etc/rc.d

#!/bin/bash
case $1 in
  start)
    echo -n "Iniciando o postfix... "
    /usr/sbin/postfix start
    echo "feito."
    ;;
  stop)
    echo -n "Parando o postfix... "
    /usr/sbin/postfix stop
    echo "feito."
    ;;
  *)
    echo "Usse: rc.postfix [ stop | start ]"
    ;;
 esac

Torne o script executável:

# chmod 755 rc.postfix

Inicie então o postfix:

# /etc/rc.d/rc.postfix start

Pronto, seu postfix está rodando, se quiser testar, execute um telnet no ip 127.0.0.1 na 
porta 25, deve aparecer uma mensagem parecida com esta:

$ telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
220 mail.rcbrasil.com.br ESMTP Postfix

Para sair, digite quit e aperte enter.

quit
221 2.0.0 Bye
Connection closed by foreign host.

Adicione o script no seu rc.local para que ele seja iniciado no boot do servidor.

5 – Dicas

Comandos úteis:

mailq - visualiza a fila dos emails
postsuper -d ALL - apaga todos os emails da fila
postsuper -d ID_DO_EMAIL - apaga apenas a mensagem especificada da fila de emails
postqueue -f - processa novamente a fila de correio.
postfix set-permissions - corrige as permissões da qeueu do postfix.

6 – Atualizando o postfix

O processo de atualização do postfix é bem simples, basta aplicar o patch, recompilar e
reinstalar. Uma vez configurado, não é necessário mais alterar as configurações.

6.1 - Baixando o patch
Baixe o patch do postfix no site http://www.postfix.org/download.html. Vamos baixar o patch
postfix-2.4-patch08.gz e então execute:

# cp postfix-2.4-patch08.gz /usr/local/src/postfix-2.4.7
# cd /usr/local/src/postfix-2.4.7 

Descompacte o patch

# gunzip postfix-2.4-patch08.gz

Aplique o patch

# patch -p1 < postfix-2.4-patch08

Altere o nome do diretório do postfix

# cd ..
# mv postfix-2.4.7 postfix-2.4.8
# cd postfix-2.4.8

Recompile e reinstale o postfix

# make
# /etc/rc.d/rc.postfix stop
# make upgrade
# /etc/rc.d/rc.postfix start

Pronto, seu postfix agora está atualizado. Fique de olho, mantenha sempre seus programas
atualizados.