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-devDefina sua senha root do mysql
mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpasswordQuando 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 restartInstalar 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-sslPara 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.confConfigurar SSL
mkdir /etc/postfix/ssl
cd /etc/postfix/ssl/
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024Você 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.csrPreencha o pedido de certificado ou aceite os padrões
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crtVocê deve inserir a frase secreta que você inseriu anteriormente para o smtpd.key
openssl rsa -in smtpd.key -out smtpd.key.unencryptedVocê deve inserir a frase secreta que você inseriu anteriormente para o smtpd.key
mv -f smtpd.key.unencrypted smtpd.keyopenssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650Preencha 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 restartA 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/saslauthdAgora 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 startEm 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.cfAgora reinicie o inetd:
/etc/init.d/inetd restartSe 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 25Depois de estabelecer a conexão com seu servidor de correio postfix, digite
ehlo localhostSe você ver as linhas:
250-STARTTLSe
250-AUTHtudo está bem.
Digite
quitpara 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-sslPara 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 restartReceba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.