Servidor de Email · 4 min read · Feb 03, 2026

Debian Sarge (3.1) com Ruby on Rails e Apache 2 com FastCGI - Página 3

Instalar MySQL

apt-get install mysql-server mysql-client libmysqlclient12-dev

Defina sua senha root do mysql

mysqladmin -u root password yourrootsqlpassword  
mysqladmin -h server1.example.com -u root password yourrootsqlpassword

Quando você executar netstat -tap, agora deve ver uma linha como esta:

| tcp 0 0 localhost.localdo:mysql *:* |

que significa que o MySQL está acessível em 127.0.0.1 na porta 3306. Você pode ir para a próxima seção (Postfix). Se você não ver esta linha, edite /etc/mysql/my.cnf e comente a linha skip-networking:

| # skip-networking |

Se você quiser que o MySQL escute em todos os endereços IP disponíveis, edite /etc/mysql/my.cnf e comente a linha bind-address = 127.0.0.1:

| # bind-address = 127.0.0.1 |

Se você teve que editar /etc/mysql/my.cnf, você deve reiniciar o MySQL:

/etc/init.d/mysql restart

Instalar Postfix/POP3/IMAP

Para instalar o Postfix com SMTP-AUTH e TLS, bem como um servidor POP3 que também faz POP3s (porta 995) e um servidor IMAP que também é capaz de IMAPs (porta 993), siga os seguintes passos:

apt-get install postfix postfix-tls libsasl2 sasl2-bin libsasl2-modules ipopd-ssl uw-imapd-ssl

Para os prompts, responda:

Continuar instalando libc-client sem suporte a Maildir? responda Não
Quais portas o servidor deve escutar? responda pop3 e pop3s
Forçar seleção de porta? responda Não
Quais portas o servidor deve escutar? responda imap2 e ipmaps
Forçar seleção de porta? responda Não
Tipo geral de configuração? responda Internet Site
Para onde deve ir o correio para root? responda NENHUM
Nome do correio? responda server1.example.com
Outros destinos para aceitar correio? (em branco para nenhum) responda server1.example.com, localhost.example.com, localhost
Forçar atualizações síncronas na fila de correio? responda Não

Agora configure o postfix:

postconf -e 'smtpd_sasl_local_domain ='  
postconf -e 'smtpd_sasl_auth_enable = yes'  
postconf -e 'smtpd_sasl_security_options = noanonymous'  
postconf -e 'broken_sasl_auth_clients = yes'  
postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'  
postconf -e 'inet_interfaces = all'  
echo 'pwcheck_method: saslauthd' >> /etc/postfix/sasl/smtpd.conf  
echo 'mech_list: plain login' >> /etc/postfix/sasl/smtpd.conf

Configurar SSL

mkdir /etc/postfix/ssl  
cd /etc/postfix/ssl/  
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024

Você deve inserir uma frase secreta para o smtpd.key de 4 a 8191 caracteres

chmod 600 smtpd.key  
openssl req -new -key smtpd.key -out smtpd.csr

Preencha o pedido de certificado ou aceite os padrões

openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt

Você deve inserir a frase secreta que você inseriu anteriormente para o smtpd.key

openssl rsa -in smtpd.key -out smtpd.key.unencrypted

Você deve inserir a frase secreta que você inseriu anteriormente para o smtpd.key

mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

Preencha o pedido de certificado ou aceite os padrões

Faça mais algumas configurações do postfix

postconf -e 'smtpd_tls_auth_only = no'  
postconf -e 'smtp_use_tls = yes'  
postconf -e 'smtpd_use_tls = yes'  
postconf -e 'smtp_tls_note_starttls_offer = yes'  
postconf -e 'smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key'  
postconf -e 'smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt'  
postconf -e 'smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem'  
postconf -e 'smtpd_tls_loglevel = 1'  
postconf -e 'smtpd_tls_received_header = yes'  
postconf -e 'smtpd_tls_session_cache_timeout = 3600s'  
postconf -e 'tls_random_source = dev:/dev/urandom'

O arquivo /etc/postfix/main.cf deve agora parecer com isto:

joe /etc/postfix/main.cf

| # Veja /usr/share/postfix/main.cf.dist para uma versão comentada e mais completa smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no # anexar .domain é tarefa do MUA. append_dot_mydomain = no # Descomente a próxima linha para gerar avisos de "correio atrasado" #delay_warning_time = 4h myhostname = server1.example.com alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = server1.example.com, localhost.example.com, localhost relayhost = mynetworks = 127.0.0.0/8 mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all smtpd_sasl_local_domain = smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination smtpd_tls_auth_only = no smtp_use_tls = yes smtpd_use_tls = yes smtp_tls_note_starttls_offer = yes smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom |

Reinicie o postfix

/etc/init.d/postfix restart

A autenticação será feita pelo saslauthd. Precisamos mudar algumas coisas para que funcione corretamente. Como o Postfix é executado em chroot em /var/spool/postfix, devemos fazer o seguinte:

mkdir -p /var/spool/postfix/var/run/saslauthd

Agora precisamos editar /etc/default/saslauthd para ativar o saslauthd. Remova # na frente de START=yes e adicione a linha PARAMS=”-m /var/spool/postfix/var/run/saslauthd -r”:

joe /etc/default/saslauthd

| # Isso precisa ser descomentado antes que o saslauthd seja executado automaticamente START=yes PARAMS="-m /var/spool/postfix/var/run/saslauthd -r" # Você deve especificar os mecanismos de autenticação que deseja usar. # Isso é padrão para "pam" para suporte PAM, mas também pode incluir # "shadow" ou "sasldb", assim: # MECHANISMS="pam shadow" MECHANISMS="pam" |

Agora inicie o saslauthd:

/etc/init.d/saslauthd start

Em seguida, criamos o arquivo /etc/c-client.cf:

echo "I accept the risk" > /etc/c-client.cf echo "set disable-plaintext 0" >> /etc/c-client.cf

Agora reinicie o inetd:

/etc/init.d/inetd restart

Se não fizermos isso, nossos logins POP3/IMAP falharão.

Para ver se SMTP-AUTH e TLS funcionam corretamente, execute o seguinte comando:

telnet localhost 25

Depois de estabelecer a conexão com seu servidor de correio postfix, digite

ehlo localhost

Se você ver as linhas:

250-STARTTLS

e

250-AUTH

tudo está bem.

Digite

quit

para retornar ao shell do sistema.

Instalar Courier-IMAP/Courier-POP3 com suporte a Maildir

apt-get install courier-imap courier-imap-ssl courier-pop courier-pop-ssl

Para os prompts:

Criar diretórios para administração baseada na web? responda Não
Certificado SSL necessário responda OK

Então configure o Postfix para entregar e-mails no Maildir de um usuário:

postconf -e 'home_mailbox = Maildir/'  
postconf -e 'mailbox_command ='  
/etc/init.d/postfix restart
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.