Otu esi ahazi Postfix na Dovecot na ndị ọrụ ngalaba mebere na Linux - Nkebi 2


N'edemede gara aga nke usoro isiokwu a, anyị kọwara otu esi edozi ma jikwaa nchekwa data nkesa ozi na-eji phpMyAdmin.

  1. Wụnye ihe nkesa ozi Postfix na Dovecot na MariaDB - Nkebi 1

Ugbu a ọ bụ oge ịhazi mmemme ime nke ga-eme ka izipu na ịnata ozi ịntanetị bụrụ eziokwu: Postfix na Dovecot (ijikwa ozi ịntanetị na-apụ apụ na nke na-abata, n'otu n'otu).

Na-ahazi sava ozi Postfix

Tupu ịmalite ịhazi Postfix, ọ ga-aba uru ma dị mma ileba anya na ibe nwoke ya ebe a, na-etinye uche pụrụ iche na ngalaba akpọrọ Ozi maka ndị ọrụ Postfix ọhụrụ. Ọ bụrụ na ịmee, ọ ga-adịrị gị mfe ịgbaso yana nkuzi a.

N'okwu ole na ole, ị kwesịrị ịma na enwere faịlụ nhazi abụọ maka Postfix:

  1. /etc/postfix/main.cf (Nhazi nhazi nzigharị, rụtụ aka na mmadụ 5 postconf maka nkọwa ndị ọzọ).
  2. /etc/postfix/master.cf (Postfix master daemon configuraton, hụ man 5 master maka nkọwa ndị ọzọ).

Na /etc/postfix/main.cf, chọta (ma ọ bụ tinye, ọ bụrụ na ọ dị mkpa) ahịrị ndị a wee hụ na ha dabara ụkpụrụ ndị egosipụtara n'okpuru:

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

Ntọala atọ na-esote dị mkpa pụrụ iche. Na faịlụ egosiri na edo edo anyị ga-ahazi ohere Postfix na Domains_tbl, Users_tbl, na tebụl 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

Rịba ama na ị nwere ike ịhọrọ aha faịlụ dị iche iche n'elu, ọ bụrụhaala na ị na-eme ka ịmepụta ha ma tinye ọdịnaya ndị a n'ime ha. N'ọnọdụ ọ bụla, dochie Paswọdu gị na paswọọdụ ị họọrọ maka onye ọrụ dba na Nkebi 1, ma ọ bụ ị nwekwara ike iji nzere mgbọrọgwụ MariaDB maka onye ọrụ na paswọọdụ n'okpuru.

Ọzọkwa, jide n'aka na ị na-eji otu aha nke nchekwa data nkesa email na tebụl ndị emepụtara na Nkebi 1.

Na /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'

Na /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'

Na /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'

N'ikpeazụ, echefula ịgbanwe ikike na faịlụ ndị a na 640:

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

Na nwe nke mgbọrọgwụ onye ọrụ na postfix otu:

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

Na-esote, iji mee ka njikọ echekwabara, anyị kwesịrị ijide n'aka na ntọala ndị a enweghị nkọwa (ma ọ bụ gbakwunye, ọ bụrụ na ọ dị mkpa) na /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

Rịba ama: Ntinye n'ahịrị na-amalite site na nhọrọ -o dị oke egwu; ma ọ bụghị ya, nlele postfix ga-eweghachi mperi:

Tupu ị chekwaa mgbanwe, tinye ahịrị ndị a na ala nke faịlụ ahụ:

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

N'oge a, ọ dị mkpa ịlele ma Postfix nwere ohere na tebụl nchekwa data yana ngalaba, akaụntụ, na utu aha anyị mepụtara na Nkebi 1.

Iji mee nke a, anyị ga-eji iwu postmap, ngwa iji nwalee nkwurịta okwu na tebụl Postfix ga-eleba anya n'oge arụ ọrụ, mana nke mbụ anyị ga-achọ ịmalitegharị postfix:

# 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

Na onyonyo dị n'okpuru, anyị nwere ike ịhụ na maka ndekọ ndị dị na nchekwa data, 1 weghachiri. Ma ọ bụghị ya, ọ dịghị ihe egosiri azụ na ihuenyo. N'ihe gbasara nlele utu aha, rịba ama na a na-eweghachite ezigbo akaụntụ email nke utu aha ahụ.

Rịba ama na anyị abụghị eziokwu megide nzere edobere maka akaụntụ email ọ bụla, naanị anyị na-anwale ike Postfix iji chọpụta ndekọ ndị ahụ na nchekwa data.

Ya mere, ọ bụrụ na ị nweta mmepụta dị iche karịa nke dị n'elu, jide n'aka na ị na-eji ụzọ njirimara/paswọọdụ ziri ezi na mariadb-vdomains.cf, mariadb-vusers.cf, na mariadb-valias.cf (ma ọ bụ ihe ọ bụla ị họọrọ ịkpọ faịlụ ndị ahụ). ).

Na-ahazi Dovecot

Dị ka ihe nkesa IMAP/POP3, Dovecot na-enye ndị ọrụ ụzọ site na onye ọrụ ozi ozi (MUA, ma ọ bụ nke a na-akpọkwa ahịa), dị ka Thunderbird ma ọ bụ Outlook, ịkpọ aha ole na ole iji nweta ozi ha.

Iji malite, ka anyị mepụta onye ọrụ na otu ndị ga-ejizi ozi-e (anyị ga-achọ nke a n'ihi na ejikọtaghị akaụntụ email anyị na onye ọrụ usoro). Ị nwere ike iji UID na GID ọzọ (na-abụghị 5000 ka anyị na-eme n'okpuru) ọ bụrụhaala na ọ naghị eji ya ma bụrụ ọnụ ọgụgụ dị elu:

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

A na-ekewa ntọala maka Dovecot n'ofe faịlụ nhazi dị iche iche (hụta na ahịrị ndị a enweghị nkọwa yana/ma ọ bụ dezie ha ka ọ dabara na ntọala egosiri n'okpuru).

Na /etc/dovecot/dovecot.conf:

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

Na /etc/dovecot/conf.d/10-auth.conf (naanị mee nyocha site na SQL wee hapụ ụzọ nyocha ndị ọzọ kwuru):

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

Na /etc/dovecot/conf.d/auth-sql.conf.ext (rịba ama na anyị ga-echekwa ozi-e n'ime ndekọ aha gịdomain.com n'ime /home/vmail, nke ị ga-emepe ma ọ bụrụ na Ọ dịghị adị. N'ọnọdụ anyị, anyị mere mkdir /home/vmail/linuxnewz.com iji jikwaa ozi-e maka ngalaba ahụ):

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

A ga-emepụta igbe mbata nkeonwe maka akaụntụ onye ọrụ mgbe ebu ụzọ nweta ozi-e maka ụdị akaụntụ ahụ.

Na /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

Na /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 {
  }
}

Na /etc/dovecot/conf.d/10-ssl.conf (dochie akwụkwọ na isi ụzọ ma ọ bụrụ na ị na-eme atụmatụ na iji akwụkwọ aka nke ca):

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

Na /etc/dovecot/dovecot-sql.conf.ext tinye ozi nchekwa data gị yana nzere nke onye ọrụ nhazi mepụtara na Nkebi 1.

Ihe dị mkpa: ọ bụrụ na paswọọdụ gị nwere akara nrịbama (#), ị ga-achọ itinye eriri njikọ dị ka egosiri na ọmụmaatụ n'okpuru:

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';

Na mgbakwunye, ị nwere ike hazie igbutu Dovecot ka ọ dị iche na Postfix na /etc/dovecot/conf.d/10-logging.conf:

log_path = /var/log/dovecot.log

N'ikpeazụ, hụ na ndekọ Dovecot dị maka dovecot onye ọrụ:

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

Nyochaa ma dozie nhazi Postifix wee mee SMTP, POP3, na IMAP na Firewall

Ọ bụrụ na ị na-abanye n'ime nsogbu ọ bụla mgbe ị na-ahazi Postfix na/ma ọ bụ Dovecot, kama ịnyefe faịlụ nhazi niile iji rịọ maka enyemaka, ị nwere ike nweta nchịkọta nhazi (naanị ahịrị enweghị nkọwa) na:

# 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

Na mgbakwunye, hụ na igbe mbata ozi-e ka enwere ike ịgụ ya site na vmail naanị:

# chown –R vmail:vmail /home/vmail

Faịlụ nhazi kwesịkwara ịgụ ya site na vmail na ndị ọrụ dovecot:

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

N'ikpeazụ, jide n'aka na ị kwadoro SMTP, POP3, na IMAP site na firewall:

# 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

Hazie Thunderbird ka ọ bụrụ onye ahịa email maka Postfix

N'inweta ohere site na firewall maka ọdụ ụgbọ mmiri ejiri na nkwukọrịta email, ọ bụ oge ịhazi onye ahịa email. Iji [email echebe] na okwuntughe ya kwekọrọ, yana mail.linuxnewz.com dị ka IMAP (ma ọ bụ POP3) na sava SMTP anyị dị njikere ịmalite izipu na ịnata ozi-e na akaụntụ dị otú ahụ:

Ị nwere ike ileghara ozi ịdọ aka ná ntị nke egosiri n'enweghị nsogbu n'ihi na ị na-eji asambodo nke ndị otu atọ ntụkwasị obi CA na-etinyeghị aka:

Ka anyị depụta ozi-e nwale dị nkenke wee pịa Zipụ:

Mgbe kpaliri ịnabata asambodo ejiri aka gị bịa maka nkesa na-apụ apụ, kwado ya na mbụ dị ka ọ dị na mbụ:

N'ikpeazụ, gaa na email ebe ị na-aga ka ịhụ ma ị nwetara ozi-e nke ezitere ugbu a. Ọ bụrụ otu a, zaghachi ya wee hụ ma eweghachite ya na igbe mbata ozi-e isi iyi (ma ọ bụghị, rụtụ aka na ndekọ Postfix na /var/log/maillog ma ọ bụ ndekọ Dovecot na /var/log/dovecot.log maka ozi nchọpụta nsogbu) :

Ị nwere ihe nkesa email Postfix na Dovecot na-arụ ọrụ ma nwee ike ịmalite izipu na ịnata ozi-e.

Nchịkọta

N'ime edemede a anyị akọwala otu esi ahazi Postfix na Dovecot iji jikwaa okporo ụzọ email na sava Linux gị. Ọ bụrụ na ihe anaghị arụ ọrụ dịka egosiri n'isiokwu a, jide n'aka na ị wepụta oge iji lelee akwụkwọ Dovecot.

Biko mara na ọ bụ ezie na ịtọlite sava ozi Postfix abụghị ọrụ dị mfe, ọ bụ ahụmịhe na-akwụghachi ụgwọ maka onye nchịkwa sistemụ ọ bụla.

Ọ bụrụ na mgbe ịgachara akwụkwọ ndị ahụ, ị ga-ahụ na ị ka na-agbasi mbọ ike na Postfix na/ma ọ bụ Dovecot, nweere onwe gị idebe ndetu anyị site na iji ụdị nkọwa n'okpuru, anyị ga-enwekwa obi ụtọ inyere gị aka (echefula bulite na ọrụ nchekwa n'ịntanetị. nhazi Postfix na Dovecot dị ka ewepụtara site na iji postconf na doveconf dị ka akọwapụtara n'isiokwu a).