Como configurar o Postfix e Dovecot com usuários de domínio virtual no Linux - Parte 2
- 2962
- 365
- Arnold Murray
No artigo anterior desta série, explicamos como configurar e gerenciar o banco de dados do servidor de correio usando com segurança.
Requerimento:
- Instale o Postfix Mail Server e DoveCot com o Mariadb - Parte 1
Agora é hora de configurar os programas internos que tornarão realidade o envio e o recebimento de e -mails: Postfix e Dovecot (para lidar com e -mails de saída e recebimento, respectivamente).
Configurando o servidor de correio postfix
Antes de começar a configurar Postfix, Vale a pena e bem para dar uma olhada nas páginas do homem aqui, colocando ênfase especial na seção intitulada “Informações para novos usuários de postfix““. Se o fizer, você achará mais fácil seguir junto com este tutorial.
Em poucas palavras, você deve saber que existem dois arquivos de configuração para Postfix:
- /etc/postfix/main.cf (Parâmetros de configuração pós -fix, consulte Homem 5 PostConf para mais detalhes).
- /etc/postfix/mestre.cf (Postfix Master Daemon Configuraton, veja Homem 5 mestre para mais detalhes).
Em /etc/postfix/main.cf
, Localize (ou adicione, se necessário) as seguintes linhas e verifique se elas correspondem aos valores indicados abaixo:
append_dot_mydomain = no biff = no config_directory = /etc/postfix dovecot_destination_recipient_limit = 1 message_size_limit = 4194304 readme_directory = no smtp_tls_session_cache_database = btree:$data_directory/smtp_scache smtpd_banner = $myhostname ESMTP $mail_name (CentOS) smtpd_tls_cert_file = /etc/pki/dovecot/ Certs/Dovecot.PEM smtpd_tls_key_file =/etc/pki/dovecot/private/dovecot.PEM PEM Smtpd_TLS_Session_Cache_Database = Btree: $ Data_Directory/Smtpd_scache SMTPD_USE_TLS = SIM Virtual_Transport = Dovecot Smtpd_sasl_type = Dovecot Smtpd_sL_Path_Path_Path = Smtpd_sasl_type = dovecot smtpd_sl_path_path =
As próximas três configurações são de especial importância. Nos arquivos indicados em amarelo, configuraremos o acesso do Postfix ao Domains_tbl, Usuários_tbl, e Alias_tbl mesas:
virtual_mailbox_domains = mysql:/etc/postfix/mariadb-vdomains.cf virtual_mailbox_maps = mysql:/etc/postfix/mariadb-vusers.cf virtual_alias_maps = mysql:/etc/postfix/mariadb-valias.cf
Observe que você pode escolher diferentes nomes de arquivos acima, desde que crie -os e insira o seguinte conteúdo neles. Em cada caso, substitua Sua senha com a senha que você escolheu para o DBA usuário in Parte 1, ou você também pode usar o Mariadb Credenciais raiz para usuário e senha abaixo.
Além disso, certifique -se de usar exatamente os mesmos nomes do banco de dados e tabelas do servidor de email criado em Parte 1.
Em /etc/postfix/mariadb-vdomains.cf
:
Usuário = senha dba = hosts hosts de palavra = 127.0.0.1 dbname = emailServer_db Query = Selecione 1 de domains_tbl onde domainname = "%s"
Em /etc/postfix/mariadb-vusers.cf
:
Usuário = senha dba = hosts hosts de palavra = 127.0.0.1 dbname = emailServer_db Query = Selecione 1 de usuários_tbl onde email = "%s"
Em /etc/postfix/mariadb-valias.cf
:
Usuário = senha dba = hosts hosts de palavra = 127.0.0.1 dbname = emailServer_db Query = Selecione Destino de Alias_tbl onde fonte = "%S"
Por fim, não se esqueça de alterar as permissões para esses arquivos para 640:
# chmod 640/etc/postfix/mariadb-vdomains.CF # CHMOD 640/etc/Postfix/mariadb-vusers.CF # CHMOD 640/etc/Postfix/mariadb-valias.cf
E a propriedade para o usuário raiz e grupo Postfix:
# Root Chown: Postfix/etc/Postfix/mariadb-vdomains.CF # Root Chown: Postfix/etc/Postfix/mariadb-vusers.CF # Root Chown: Postfix/etc/Postfix/mariadb-valias.cf
Em seguida, para ativar conexões seguras, precisamos garantir que as seguintes configurações não estejam nomeadas (ou adicionadas, se necessário) em /etc/postfix/mestre.cf
:
submission inet n - n - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_reject_unlisted_recipient=no -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING pickup unix n - n 60 1 pickup limpeza unix n - n - 0 limpeza qmgr unix n - n 300 1 qmgr tlsmgr unix - - n 1000? 1 tlsmgr rewrite unix - - n - - - trivial -rewrite bounce unix - - n - 0 bounce adiar unix - - n - 0 bounce rastren unix - - n - 0 bounce verify unix - - n - 1 verifique se UNIX N - n 1000? 0 FLOW PROXYMAP UNIX - - N - - ProxyMap Proxywrite Unix - - N - 1 ProxyMap SMTP UNIX - - N - - Relé SMTP UNIX - - N - - SMTP SHOWQ UNIX N - N - - SHOWQ ERRO UNIX - - N - ERRO Represente Unix - - N - - Erro descarte Unix - - N - - descarte o Unix local - n N - - Local #Virtual Unix - N N - - Virtual LMTP Unix - - N - - LMTP Anvil Unix - - N - 1 Anvil Scache Unix - - n - 1 scache
Observação: O recuo nas linhas que começam com o -o
a opção é crítica; Caso contrário, a verificação pós -fix retornará um erro:
Antes de economizar alterações, adicione as seguintes linhas na parte inferior do arquivo:
mestre.cfDovecot Unix - n N - - sinalizadores de tubo = drhu user = vmail: vmail argv =/usr/libexec/dovecot/entregue -f $ sender -d $ receptor
Neste ponto, é essencial verificar se o Postfix tem acesso às tabelas de banco de dados e aos domínios, contas e alias que criamos em Parte 1.
Para fazer isso, usaremos o pós -mapa Comando, um utilitário para testar a comunicação com as tabelas Postfix procurará para cima durante a operação, mas em primeiro lugar, precisaremos reiniciar o Postfix:
# SystemCtl Postfix Restart # PostMap -Q LinuxNewz.com mysql:/etc/postfix/mariadb-vdomains.cf # postmap -q Algumroterotominante.com mysql:/etc/postfix/mariadb-vdomains.CF # postmap -q [email protegido] mysql:/etc/postfix/mariadb -vusers.CF # postmap -q [email protegido] mysql:/etc/postfix/mariadb -vusers.CF # postmap -q [email protegido] mysql:/etc/postfix/mariadb -vusers.CF # postmap -q [email protegido] mysql:/etc/postfix/mariadb -valias.cf
Na imagem abaixo, podemos ver isso para os registros existentes no banco de dados, um 1 é devolvido. Caso contrário, nada é exibido de volta à tela. No caso da verificação do alias, observe que a conta de email real para a qual o alias é mapeado é devolvido:
Verifique a comunicação da tabela PostfixObserve que somos NÃO Autenticando contra as credenciais definidas para cada conta de email, estamos apenas testando a capacidade do Postfix de detectar esses registros no banco de dados.
Assim, se você obtiver uma saída diferente da que acima, verifique se está usando um par de usuário / senha válido em mariadb-vdomains.cf, Mariadb-Vusers.cf, e mariadb-valias.cf (ou o que você escolheu para ligar para esses arquivos).
Configurando Dovecot
Como um IMAP / Pop3 Servidor, o Dovecot fornece uma maneira de os usuários através de um Mail User Agent (Mua, ou também conhecido como cliente), como Thunderbird ou Panorama, Para citar alguns exemplos para acessar seu e -mail.
Para começar, vamos criar um usuário e um grupo para lidar com e -mails (precisaremos disso, pois nossas contas de email não estão associadas a um usuário do sistema). Você pode usar outro Uid e Gid (outro que não seja 5000 Como fazemos abaixo), desde que não esteja em uso e seja um número alto:
# groupadd -g 5000 vmail # useradd -g vmail -u 5000 vmail -d /home /vmail -m
As configurações para o DOVECOT são divididas em vários arquivos de configuração (verifique se as seguintes linhas não estão nomeadas e / ou editam -as para corresponder às configurações indicadas abaixo).
Em /etc/dovecot/dovecot.conf
:
!incluir_try/usr/share/dovecot/protocolos.d/*.Protocolos de protocolo = IMAP POP3 LMTP !inclua conf.d/*.conf !Incluir_try Local.conf
Em /etc/dovecot/conf.d/10-Auth.conf
(Habilite apenas a autenticação através do SQL e deixe outros métodos de autenticação comentados):
desabille_plaintext_auth = sim auth_mechanisss = login simples !Inclua auth-sql.conf.ext
Em /etc/dovecot/conf.d/auth-sql.conf.ext
(Observe que armazenaremos e -mails em um diretório nomeado seu domínio.com dentro /Home/Vmail, que você precisa criar se não existir. No nosso caso, fizemos mkdir/home/vmail/linuxnewz.com para gerenciar e -mails para esse domínio):
passdb driver = sql args =/etc/dovecot/dovecot-sql.conf.ext userdb driver = static args = uid = vmail gid = vmail home =/home/vmail/%d/%n/maildir
As caixas de entrada individuais para contas de usuário serão criadas quando os emails para essas contas forem recebidos pela primeira vez.
Em /etc/dovecot/conf.D/10-MAIL.conf
:
Mail_Location = Maildir:/home/vmail/%d/%n/Maildir Namespace Caixa de entrada InBox = Yes Mail_privileged_group = Mail MBOX_WRITE_LOCKS = FCNTL
Em /etc/dovecot/conf.D/10-Mestre.conf
:
serviço imap-login inet_listener iMap porta = 143 inet_listener IMAPS serviço pop3-login inet_listener pop3 port = 110 inet_listener Pop3s serviço lmtp unix_listner/spuol/spoL/sPOL/SPOL/FOLTER/SPOL/ mode = 0600 user = pósfix group = pós-fix serviço auth unix_listener/var/spool/postfix/private/auth mode = 0666 user = pósfix group = postfix unix_listener auth-userdb mode = 0600 user = vmail usuário = dovecot serviço auth-worker user = vmail dict de serviço unix_listener dict
Em /etc/dovecot/conf.D/10-SSL.conf
(Substitua o certificado e os principais caminhos se você planeja usar um certificado assinado por uma CA):
ssl = requerido ssl_cert =Em
/etc/dovecot/dovecot-sql.conf.ext
Digite as informações do seu banco de dados e as credenciais do usuário administrativo criado em Parte 1.Importante: Se sua senha contiver um asterisco
Dovecot-sql.conf.ext(#)
, Você precisará incluir a string de conexão, conforme indicado no exemplo abaixo:driver = mysql connect = "host = 127.0.0.1 dbname = emailServer_db User = dBA senha = passwith#aqui "default_pass_scheme = sha512-crypt senha_query = selecione email como usuário, senha de usuários_tbl onde email ="%u ";Além disso, você pode configurar o registro para que o Dovecot seja separado do Postfix em
/etc/dovecot/conf.d/10 logging.conf
:log_path =/var/log/dovecot.registroPor fim, verifique se o log dovecot está acessível para o usuário Dovecot:
# CHOW.LOG # CHMOD 660/VAR/LOG/DOVECOT.registroVerifique e corrija a configuração do Postifix e ative SMTP, POP3 e IMAP no firewall
Se você tiver algum problema ao configurar o Postfix e / ou o Dovecot, em vez de enviar todos os arquivos de configuração para pedir ajuda, você poderá obter um resumo de configuração (somente linhas não tomadas) com:
# postconf -n # resumo para/etc/postfix/main.CF # postconf -m # resumo para/etc/postfix/master.CF # DoveConf -n # Resumo de todos os arquivos de configuração para DovecotAlém disso, verifique se as caixas de entrada de email são legíveis por Vmail apenas:
# chown -r vmail: vmail /home /vmailOs arquivos de configuração também devem ser legíveis por Vmail e Dovecot Usuários:
# CHOWFinalmente, certifique -se de ativar Smtp, Pop3, e IMAP através do firewall:
# firewall-cmd --add-port = 143/tcp # firewall-cmd --add-port = 143/tcp --permanente # firewall-cmd --add-port = 110/tcp # firewall-cmd --add- porta = 110/tcp --permanent # firewall-cmd --add-port = 587/tcp # firewall-cmd --add-port = 587/tcp --permanenteConfigure o Thunderbird como um cliente de email para o postfix
Depois de garantir o acesso através do firewall para as portas usadas em comunicações por email, é hora de configurar um cliente de e -mail. Usando [Email protegido] e sua senha correspondente, juntamente com correspondência.LinuxNewz.com Como IMAP (ou POP3) e SMTP Server, estamos prontos para começar a enviar e receber e -mails de e para essa conta:
Postfix: Configure Thunderbird ClientVocê pode desconsiderar com segurança a mensagem de aviso que é mostrada porque está usando um certificado que não é assinado por uma CA confiável de terceiros:
Thunderbird: Adicione Exceção de SegurançaVamos compor um breve email de teste e clicar em Enviar:
Compor um e -mail no ThunderbirdQuando solicitado a aceitar o certificado autoassinado para o servidor de saída, confirme-o anteriormente como antes:
Thunderbird: Aceite Certificado SSLPor fim, vá para o e -mail de destino para ver se você recebeu o e -mail que acabou de ser enviado. Nesse caso, responda e veja se é entregue de volta à caixa de entrada de email de origem (caso contrário, consulte o log Postfix em /var/log/maillog ou o log do DOVECOT em /var/log/dovecot.registro Para solucionar problemas de informações):
Verifique a entrega de e -mail Postfix e DovecotAgora você tem um servidor de e -mail do Postfix e Dovecot e pode começar a enviar e receber e -mails.
Resumo
Neste artigo, explicamos como configurar o Postfix e DoveCot para lidar com o tráfego de e -mail em seu servidor Linux. Se algo não funcionar como indicado neste artigo, reserve um tempo para verificar a documentação do Postfix e do Dovecot.
Observe que, embora a configuração de um servidor de correio postfix não seja uma tarefa fácil, é uma experiência gratificante para cada administrador do sistema.
Se depois de passar pelos documentos, você ainda se encontrará lutando Postfix e / ou Dovecot, Sinta -se à vontade para nos deixar uma nota usando o formulário de comentário abaixo e teremos o maior prazer em ajudá -lo (não se esqueça de fazer upload para um serviço de armazenamento on -line a configuração Postfix e Dovecot, conforme recuperado usando PostConf e DoveConf conforme descrito neste artigo).
- « Fabric - Automatize suas tarefas de administração Linux e implantações de aplicativos sobre SSH
- Como instalar e configurar o cliente RoundCube Webmail com usuários virtuais no Postfix - Parte 4 »