Bii o ṣe le Tunto Postfix ati Dovecot pẹlu Awọn olumulo ase Foju ni Lainos - Apá 2


Ninu nkan ti tẹlẹ ti jara yii a ṣalaye bii o ṣe le ṣeto ati ṣakoso data ipamọ olupin meeli ni aabo ni lilo phpMyAdmin.

  1. Fi sii Olupin Ifiranṣẹ Postfix ati Dovecot pẹlu MariaDB - Apá 1

Bayi o to akoko lati tunto awọn eto inu ti yoo ṣe fifiranṣẹ ati gbigba awọn imeeli ni otitọ: Postfix ati Dovecot (lati mu awọn apamọ ti njade ati ti nwọle, lẹsẹsẹ).

Tito leto Olupin Ifiranṣẹ Postfix

Ṣaaju ki o to bẹrẹ tunto Postfix, yoo tọ ati dara lati wo awọn oju-iwe eniyan rẹ nibi, fifi itọkasi pataki si apakan ti akole “Alaye fun awọn olumulo Postfix tuntun“. Ti o ba ṣe, iwọ yoo rii i rọrun lati tẹle pẹlu ẹkọ yii.

Ni awọn ọrọ diẹ, o yẹ ki o mọ pe awọn faili iṣeto meji wa fun Postfix:

  1. /etc/postfix/main.cf (awọn ipele iṣeto iṣeto Postfix, tọka si postconf eniyan 5 fun awọn alaye diẹ sii).
  2. /etc/postfix/master.cf (Postfix master daemon configuraton, wo oluwa eniyan 5 fun awọn alaye siwaju sii).

Ni /etc/postfix/main.cf , wa (tabi ṣafikun, ti o ba jẹ dandan) awọn ila wọnyi ki o rii daju pe wọn ba awọn iye ti a tọka si isalẹ mu:

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
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
virtual_transport = dovecot
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

Awọn eto mẹta ti o tẹle jẹ pataki pataki. Ninu awọn faili ti a tọka ni awọ ofeefee a yoo tunto iraye si Postfix si awọn tabili Domains_tbl, Users_tbl, ati awọn tabili Alias_tbl:

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

Akiyesi pe o le yan awọn orukọ faili oriṣiriṣi oriṣiriṣi loke, niwọn igba ti o rii daju lati ṣẹda wọn ki o fi sii awọn akoonu wọnyi ninu wọn. Ninu ọrọ kọọkan, rọpo Ọrọigbaniwọle Rẹ pẹlu ọrọ igbaniwọle ti o yan fun olumulo dba ni Apakan 1, tabi o tun le lo awọn iwe eri root ti MariaDB fun olumulo ati ọrọ igbaniwọle ni isalẹ.

Pẹlupẹlu, rii daju pe o lo awọn orukọ kanna ti ibi ipamọ data olupin imeeli ati awọn tabili ti a ṣẹda ni Apakan 1.

Ni /etc/postfix/mariadb-vdomains.cf :

user = dba
password = YourPassword
hosts = 127.0.0.1
dbname = EmailServer_db
query = SELECT 1 FROM Domains_tbl WHERE DomainName='%s'

Ni /etc/postfix/mariadb-vusers.cf :

user = dba
password = YourPassword
hosts = 127.0.0.1
dbname = EmailServer_db
query = SELECT 1 FROM Users_tbl WHERE Email='%s'

Ni /etc/postfix/mariadb-valias.cf :

user = dba
password = YourPassword
hosts = 127.0.0.1
dbname = EmailServer_db
query = SELECT Destination FROM Alias_tbl WHERE Source='%s'

Lakotan, maṣe gbagbe lati yi awọn igbanilaaye pada si awọn faili wọnyi si 640:

# chmod 640 /etc/postfix/mariadb-vdomains.cf
# chmod 640 /etc/postfix/mariadb-vusers.cf
# chmod 640 /etc/postfix/mariadb-valias.cf

Ati nini si gbongbo olumulo ati postfix ẹgbẹ:

# chown root:postfix /etc/postfix/mariadb-vdomains.cf
# chown root:postfix /etc/postfix/mariadb-vusers.cf
# chown root:postfix /etc/postfix/mariadb-valias.cf

Itele, lati mu awọn isopọ to ni aabo ṣiṣẹ a nilo lati rii daju pe awọn eto wọnyi ko ni ibanujẹ (tabi ṣafikun, ti o ba jẹ dandan) ni /etc/postfix/master.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
cleanup   unix  n       -       n       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp

showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
#virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache

Akiyesi: Ifunni ni awọn ila ti o bẹrẹ pẹlu aṣayan -o jẹ pataki; bibẹẹkọ ṣayẹwo ifiweranṣẹ yoo pada aṣiṣe kan pada:

Ṣaaju ki o to fipamọ awọn ayipada, ṣafikun awọn ila wọnyi ni isalẹ faili naa:

dovecot   unix  -       n       n       -       -       pipe
    flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${recipient}

Ni aaye yii o ṣe pataki lati ṣayẹwo boya Postfix ni iraye si awọn tabili data ati awọn ibugbe, awọn akọọlẹ, ati inagijẹ ti a ṣẹda ni Apakan 1.

Lati ṣe bẹ, a yoo lo aṣẹ ifiweranṣẹ, ohun elo lati ṣe idanwo ibaraẹnisọrọ pẹlu awọn tabili Postfix yoo wo soke lakoko iṣẹ, ṣugbọn ni akọkọ ati ni akọkọ a yoo nilo lati tun bẹrẹ ifiweranṣẹ ifiweranṣẹ:

# systemctl postfix restart
# postmap -q linuxnewz.com mysql:/etc/postfix/mariadb-vdomains.cf
# postmap -q someotherdomain.com mysql:/etc/postfix/mariadb-vdomains.cf
# postmap -q [email  mysql:/etc/postfix/mariadb-vusers.cf
# postmap -q [email  mysql:/etc/postfix/mariadb-vusers.cf
# postmap -q [email  mysql:/etc/postfix/mariadb-vusers.cf
# postmap -q [email  mysql:/etc/postfix/mariadb-valias.cf

Ni aworan ti o wa ni isalẹ a le rii pe fun awọn igbasilẹ ti o wa ninu ibi ipamọ data, a pada 1 kan. Bibẹẹkọ, ko si nkan ti o han pada si iboju. Ninu ọran ayẹwo inagijẹ, ṣe akiyesi pe akọọlẹ imeeli gangan ti a fi maapu inagijẹ si ti pada:

Akiyesi pe a KO jẹri si awọn iwe eri ti a ṣeto fun iwe apamọ imeeli kọọkan, a n danwo agbara ti Postfix nikan lati wa awọn igbasilẹ wọnyẹn ni ibi ipamọ data.

Nitorinaa, ti o ba gba iyasọtọ ti o yatọ ju loke lọ, rii daju pe o nlo olumulo to wulo/ọrọ igbaniwọle ni mariadb-vdomains.cf, mariadb-vusers.cf, ati mariadb-valias.cf (tabi ohunkohun ti o yan lati pe awọn faili wọnyẹn) ).

Tito leto Dovecot

Gẹgẹbi olupin IMAP/POP3, Dovecot pese ọna fun awọn olumulo nipasẹ Aṣoju Olumulo Meeli (MUA, tabi tun mọ bi alabara), gẹgẹ bi Thunderbird tabi Outlook, lati lorukọ awọn apẹẹrẹ diẹ lati wọle si meeli wọn.

Lati bẹrẹ, jẹ ki a ṣẹda olumulo ati ẹgbẹ kan lati mu awọn imeeli (a yoo nilo eyi bi awọn iroyin imeeli wa ko ni nkan ṣe pẹlu olumulo eto kan). O le lo UID ati GID miiran (miiran ju 5000 bi a ṣe ni isalẹ) niwọn igba ti ko ba si lilo ati pe o jẹ nọmba giga:

# groupadd -g 5000 vmail 
# useradd -g vmail -u 5000 vmail -d /home/vmail -m

Awọn eto fun Dovecot ti pin kakiri kọja ọpọlọpọ awọn faili iṣeto ni (rii daju pe awọn ila wọnyi ko ni airotẹlẹ ati/tabi satunkọ wọn lati baamu awọn eto ti a tọka si isalẹ).

Ni /etc/dovecot/dovecot.conf :

!include_try /usr/share/dovecot/protocols.d/*.protocol
protocols = imap pop3 lmtp
!include conf.d/*.conf
!include_try local.conf

Ni /etc/dovecot/conf.d/10-auth.conf (nikan jẹki ijẹrisi nipasẹ SQL ki o fi awọn ọna idanimọ miiran sọ asọye):

disable_plaintext_auth = yes
auth_mechanisms = plain login
!include auth-sql.conf.ext

Ninu /etc/dovecot/conf.d/auth-sql.conf.ext (ṣe akiyesi pe a yoo tọju awọn imeeli laarin itọsọna kan ti a npè ni yourdomain.com inu/ile/vmail, eyiti o nilo lati ṣẹda ti ko si. Ninu ọran wa a ṣe mkdir /home/vmail/linuxnewz.com lati ṣakoso awọn apamọ fun aaye yẹn):

passdb {
  driver = sql
  args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
  driver = static
  args = uid=vmail gid=vmail home=/home/vmail/%d/%n/Maildir
}

Awọn apo-iwọle kọọkan fun awọn iroyin olumulo yoo ṣẹda nigbati awọn imeeli fun iru awọn iroyin ba gba akọkọ.

Ni /etc/dovecot/conf.d/10-mail.conf :

mail_location = maildir:/home/vmail/%d/%n/Maildir
namespace inbox {
  inbox = yes
}
mail_privileged_group = mail
mbox_write_locks = fcntl

Ni /etc/dovecot/conf.d/10-master.conf :

service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
   mode = 0600
   user = postfix
   group = postfix
  }
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }
  unix_listener auth-userdb {
   mode = 0600
   user = vmail
  }
  user = dovecot
}
service auth-worker {
  user = vmail
}
service dict {
  unix_listener dict {
  }
}

Ni /etc/dovecot/conf.d/10-ssl.conf (rọpo ijẹrisi naa ati awọn ọna bọtini ti o ba ngbero lori lilo ijẹrisi ti o fowo si nipasẹ CA):

ssl = required
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem

Ni /etc/dovecot/dovecot-sql.conf.ext tẹ alaye ibi ipamọ data rẹ ati awọn iwe-ẹri ti olumulo iṣakoso ti o ṣẹda ni Apakan 1.

Pataki: ti ọrọ igbaniwọle rẹ ba ni aami akiyesi (#) , iwọ yoo nilo lati fi okun asopọ pọ bi o ti tọka ninu apẹẹrẹ ni isalẹ:

driver = mysql
connect = "host=127.0.0.1 dbname=EmailServer_db user=dba password=PassWith#Here"
default_pass_scheme = SHA512-CRYPT
password_query = SELECT Email as User, password FROM Users_tbl WHERE Email='%u';

Ni afikun, o le tunto gedu fun Dovecot lati ya sọtọ si Postfix ni /etc/dovecot/conf.d/10-logging.conf :

log_path = /var/log/dovecot.log

Lakotan, rii daju pe akọọlẹ Dovecot wa fun wiwọle dovecot olumulo:

# chown vmail:dovecot /var/log/dovecot.log
# chmod 660 /var/log/dovecot.log

Ṣayẹwo ki o ṣatunṣe Iṣeto Postifix ati Jeki SMTP, POP3, ati IMAP ni Ogiriina

Ti o ba ṣẹlẹ si eyikeyi awọn oran lakoko tito leto Postfix ati/tabi Dovecot, dipo fifiranṣẹ gbogbo awọn faili iṣeto lati beere fun iranlọwọ, o le gba akopọ iṣeto kan (awọn ila lainiye nikan) pẹlu:

# postconf –n # Summary for /etc/postfix/main.cf
# postconf –M # Summary for /etc/postfix/master.cf
# doveconf –n # Summary of all configuration files for Dovecot

Ni afikun, rii daju pe awọn apo-iwọle imeeli jẹ kika nipasẹ vmail nikan:

# chown –R vmail:vmail /home/vmail

Awọn faili atunto yẹ ki o tun jẹ kika nipasẹ vmail ati awọn olumulo dovecot:

# chown -R vmail:dovecot /etc/dovecot 
# chmod -R o-rwx /etc/dovecot 

Lakotan, rii daju pe o mu SMTP, POP3, ati IMAP ṣiṣẹ nipasẹ ogiriina:

# firewall-cmd --add-port=143/tcp
# firewall-cmd --add-port=143/tcp --permanent
# firewall-cmd --add-port=110/tcp
# firewall-cmd --add-port=110/tcp --permanent
# firewall-cmd --add-port=587/tcp
# firewall-cmd --add-port=587/tcp --permanent

Ṣe atunto Thunderbird bi Onibara Imeeli fun Postfix

Nini aabo iraye si nipasẹ ogiriina fun awọn ibudo ti a lo ninu awọn ibaraẹnisọrọ imeeli, o to akoko lati tunto alabara imeeli kan. Lilo [imeeli ti o ni idaabobo] ati ọrọ igbaniwọle ti o baamu, pẹlu mail.linuxnewz.com bi IMAP (tabi POP3) ati olupin SMTP a ti ṣetan lati bẹrẹ fifiranṣẹ ati gbigba awọn imeeli si ati lati iru iroyin naa:

O le ṣe ailewu kọ ifiranṣẹ ikilọ ti o han nitori o nlo iwe-ẹri ti ko fowo si nipasẹ ẹni-kẹta ti o gbẹkẹle CA:

Jẹ ki a ṣajọ imeeli idanwo kukuru ki o tẹ Firanṣẹ:

Nigbati o ba ṣetan lati gba ijẹrisi ti ara ẹni fun olupin ti njade, jẹrisi rẹ tẹlẹ bi tẹlẹ:

Lakotan, lọ si imeeli ti nlo lati rii boya o gba imeeli ti o ṣẹṣẹ ranṣẹ. Ti o ba bẹ bẹ, fesi si rẹ ki o rii boya o ti firanṣẹ pada si apo-iwọle imeeli orisun (bibẹẹkọ, tọka si log Postfix ni/var/log/maillog tabi iwe Dovecot ni /var/log/dovecot.log fun alaye laasigbotitusita) :

O ni bayi Postfix ti n ṣiṣẹ ati olupin imeeli Dovecot ati pe o le bẹrẹ fifiranṣẹ ati gbigba awọn imeeli.

Akopọ

Ninu nkan yii a ti ṣalaye bi o ṣe le tunto Postfix ati Dovecot lati mu ijabọ imeeli ninu olupin Linux rẹ. Ti nkan kan ko ba ṣiṣẹ bi a ṣe tọka ninu nkan yii, rii daju pe o gba akoko lati ṣayẹwo iwe Dovecot.

Jọwọ ṣe akiyesi pe botilẹjẹpe siseto olupin meeli ifiweranṣẹ kii ṣe iṣẹ ti o rọrun, o jẹ iriri ẹsan fun gbogbo alakoso eto.

Ti lẹhin ti o kọja nipasẹ awọn iwe iwọ yoo rii ara rẹ ti o tun ngbiyanju pẹlu Postfix ati/tabi Dovecot, ni ọfẹ lati sọ akọsilẹ wa silẹ ni lilo fọọmu asọye ni isalẹ ati pe inu wa yoo dun lati ran ọ lọwọ (maṣe gbagbe lati gbe si iṣẹ ipamọ ori ayelujara kan) iṣeto Postfix ati Dovecot bi a gba pada ni lilo postconf ati doveconf bi a ti ṣe ilana ninu nkan yii).