Kif tikkonfigura Postfix u Dovecot b'Utenti ta 'Dominju Virtwali fil-Linux - Parti 2
Fl-artiklu preċedenti ta 'din is-serje spjegajna kif twaqqaf u timmaniġġja d-database tas-server tal-posta b'mod sigur billi tuża phpMyAdmin.
- Installa Postfix Mail Server u Dovecot ma' MariaDB – Parti 1
Issa wasal iż-żmien li jiġu kkonfigurati l-programmi interni li se jagħmlu l-bgħit u r-riċeviment tal-emails realtà: Postfix u Dovecot (biex jimmaniġġjaw emails ħerġin u deħlin, rispettivament).
Konfigurazzjoni ta' Postfix Mail Server
Qabel ma tibda tikkonfigura Postfix, ikun tajjeb li tagħti ħarsa lejn il-paġni man tagħha hawn, billi tagħmel enfasi speċjali fuq it-taqsima bit-titlu Informazzjoni għal utenti ġodda ta' Postfix. Jekk tagħmel hekk, issibha aktar faċli biex issegwi flimkien ma 'dan it-tutorja.
Fi ftit kliem, għandek tkun taf li hemm żewġ fajls ta 'konfigurazzjoni għal Postfix:
- /etc/postfix/main.cf (Parametri tal-konfigurazzjoni Postfix, irreferi għal man 5 postconf għal aktar dettalji).
- /etc/postfix/master.cf (Konfigurazzjoni tad-daemon kaptan tal-Postfix, ara man 5 master għal aktar dettalji).
F'/etc/postfix/main.cf
, sib (jew żid, jekk meħtieġ) il-linji li ġejjin u kun żgur li jaqblu mal-valuri indikati hawn taħt:
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
It-tliet settings li jmiss huma ta 'importanza speċjali. Fil-fajls indikati bl-isfar se nikkonfiguraw l-aċċess ta’ Postfix għat-tabelli Domains_tbl, Users_tbl, u 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
Innota li tista 'tagħżel ismijiet ta' fajls differenti hawn fuq, sakemm tagħmel ċert li toħloqhom u daħħal fihom il-kontenut li ġej. F'kull każ, ibdel YourPassword bil-password li għażilt għall-utent dba fil-Parti 1, jew tista 'wkoll tuża l-kredenzjali tal-għeruq ta' MariaDB għall-utent u l-password hawn taħt.
Ukoll, kun żgur li tuża l-istess ismijiet eżatti tad-database tas-server tal-email u tabelli maħluqa fil-Parti 1.
Fi /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'
Fi /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'
Fi /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'
Fl-aħħarnett, tinsiex tibdel il-permessi għal dawn il-fajls għal 640:
# chmod 640 /etc/postfix/mariadb-vdomains.cf # chmod 640 /etc/postfix/mariadb-vusers.cf # chmod 640 /etc/postfix/mariadb-valias.cf
U s-sjieda għall-utent root u postfix tal-grupp:
# chown root:postfix /etc/postfix/mariadb-vdomains.cf # chown root:postfix /etc/postfix/mariadb-vusers.cf # chown root:postfix /etc/postfix/mariadb-valias.cf
Sussegwentement, biex nippermettu konnessjonijiet sikuri jeħtieġ li niżguraw li s-settings li ġejjin mhumiex ikkummentati (jew miżjuda, jekk meħtieġ) f'/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
Nota: L-indentazzjoni fil-linji li jibdew bl-għażla -o
hija kritika; inkella l-kontroll tal-postfix jirritorna żball:
Qabel ma tissejvja l-bidliet, żid il-linji li ġejjin fil-qiegħ tal-fajl:
dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${recipient}
F'dan il-punt huwa essenzjali li tivverifika jekk Postfix għandhiex aċċess għat-tabelli tad-database u d-dominji, il-kontijiet u l-psewdonimi li ħloqna fil-Parti 1.
Biex nagħmlu dan, se nużaw il-kmand tal-postmap, utilità biex tittestja l-komunikazzjoni mat-tabelli li Postfix se jfittex waqt it-tħaddim, iżda l-ewwel u qabel kollox ikollna bżonn nibdew mill-ġdid il-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
Fl-immaġini hawn taħt nistgħu naraw li għar-rekords eżistenti fid-database, jintbagħat 1. Inkella, xejn ma jintwera lura lill-iskrin. Fil-każ tal-verifika tal-alias, innota li l-kont tal-email attwali li fih huwa mmappjat l-alias jintbagħat lura:
Innota li MHUX qed nawtentikaw kontra l-kredenzjali stabbiliti għal kull kont tal-email, qed nittestjaw biss il-kapaċità ta 'Postfix li jiskopri dawk ir-rekords fid-database.
Għalhekk, jekk ikollok output differenti minn hawn fuq, kun żgur li qed tuża par validu utent/password f'mariadb-vdomains.cf, mariadb-vusers.cf, u mariadb-valias.cf (jew tkun xi tkun għażilt li ssejjaħ dawk il-fajls. ).
Konfigurazzjoni ta' Dovecot
Bħala server IMAP/POP3, Dovecot jipprovdi mod għall-utenti permezz ta 'Aġent tal-Utent tal-Mail (MUA, jew magħruf ukoll bħala klijent), bħal Thunderbird jew Outlook, biex insemmu ftit eżempji biex jaċċessaw il-posta tagħhom.
Biex tibda, ejja noħolqu utent u grupp biex jimmaniġġjaw emails (se jkollna bżonn dan peress li l-kontijiet tal-email tagħna mhumiex assoċjati ma 'utent tas-sistema). Tista' tuża UID u GID oħra (minbarra 5000 kif nagħmlu hawn taħt) sakemm ma tkunx qed tintuża u tkun numru għoli:
# groupadd -g 5000 vmail # useradd -g vmail -u 5000 vmail -d /home/vmail -m
Is-settings għal Dovecot huma maqsuma f'diversi fajls ta' konfigurazzjoni (kun żgur li l-linji li ġejjin mhumiex ikkummentati u/jew editjahom biex jaqblu mas-settings indikati hawn taħt).
Fi /etc/dovecot/dovecot.conf
:
!include_try /usr/share/dovecot/protocols.d/*.protocol protocols = imap pop3 lmtp !include conf.d/*.conf !include_try local.conf
F'/etc/dovecot/conf.d/10-auth.conf
(ippermetti biss l-awtentikazzjoni permezz ta' SQL u ħalli metodi oħra ta' awtentikazzjoni kkummentati):
disable_plaintext_auth = yes auth_mechanisms = plain login !include auth-sql.conf.ext
F'/etc/dovecot/conf.d/auth-sql.conf.ext
(innota li aħna se naħżnu emails f'direttorju jismu yourdomain.com ġewwa /home/vmail, li għandek bżonn toħloq jekk ma teżistix. Fil-każ tagħna għamilna mkdir /home/vmail/linuxnewz.com biex timmaniġġja l-emails għal dak id-dominju):
passdb { driver = sql args = /etc/dovecot/dovecot-sql.conf.ext } userdb { driver = static args = uid=vmail gid=vmail home=/home/vmail/%d/%n/Maildir }
Inboxes individwali għall-kontijiet tal-utenti jinħolqu meta l-emails għal kontijiet bħal dawn jiġu riċevuti għall-ewwel darba.
Fi /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
Fi /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 { } }
Fi /etc/dovecot/conf.d/10-ssl.conf
(ibdel iċ-ċertifikat u l-mogħdijiet ewlenin jekk qed tippjana li tuża ċertifikat iffirmat minn CA):
ssl = required ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem
F'/etc/dovecot/dovecot-sql.conf.ext
daħħal l-informazzjoni tad-database tiegħek u l-kredenzjali tal-utent amministrattiv maħluq fil-Parti 1.
Importanti: jekk il-password tiegħek fiha asterisk (#)
, ikollok bżonn tehmeż is-sekwenza tal-konnessjoni kif indikat fl-eżempju hawn taħt:
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';
Barra minn hekk, tista’ tikkonfigura l-illoggjar biex Dovecot ikun separat minn Postfix f’/etc/dovecot/conf.d/10-logging.conf
:
log_path = /var/log/dovecot.log
Fl-aħħarnett, kun żgur li l-log Dovecot huwa aċċessibbli għall-dovecot tal-utent:
# chown vmail:dovecot /var/log/dovecot.log # chmod 660 /var/log/dovecot.log
Ivverifika u Waħħal il-Konfigurazzjoni ta' Postifix u Ippermetti SMTP, POP3, u IMAP fil-Firewall
Jekk jiġri li tiltaqa' ma' xi kwistjonijiet waqt li tikkonfigura Postfix u/jew Dovecot, minflok ma tissottometti l-fajls tal-konfigurazzjoni kollha biex titlob għajnuna, tista' tikseb sommarju tal-konfigurazzjoni (linji mhux kummentati biss) bi:
# 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
Barra minn hekk, kun żgur li l-inboxes tal-email jistgħu jinqraw minn vmail biss:
# chown –R vmail:vmail /home/vmail
Il-fajls tal-konfigurazzjoni għandhom jinqraw ukoll mill-utenti ta' vmail u dovecot:
# chown -R vmail:dovecot /etc/dovecot # chmod -R o-rwx /etc/dovecot
Fl-aħħarnett, kun żgur li tattiva SMTP, POP3, u IMAP permezz tal-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
Ikkonfigura Thunderbird bħala Klijent tal-Email għal Postfix
Wara li l-aċċess assigurat permezz tal-firewall għall-portijiet użati fil-komunikazzjonijiet bl-email, wasal iż-żmien li jiġi kkonfigurat klijent tal-email. Billi nużaw [email u l-password korrispondenti tagħha, flimkien ma’ mail.linuxnewz.com bħala IMAP (jew POP3) u server SMTP aħna lesti li nibdew nibagħtu u nirċievu emails lejn u minn tali kont:
Tista' tinjora b'mod sikur il-messaġġ ta' twissija li jidher għaliex qed tuża ċertifikat li mhuwiex iffirmat minn CA terza fdata:
Ejja nikkomponu email ta' test qasira u kklikkja Ibgħat:
Meta tintalab taċċetta ċ-ċertifikat awtofirmat għas-server li joħroġ, ikkonfermah qabel bħal qabel:
Fl-aħħarnett, mur l-email tad-destinazzjoni biex tara jekk irċevejtx l-email li għadha kemm intbagħtet. Jekk iva, wieġeb għaliha u ara jekk titwassalx lura fl-inbox tal-email tas-sors (inkella, irreferi għar-reġistru tal-Postfix fuq /var/log/maillog jew il-log Dovecot fuq /var/log/dovecot.log għal informazzjoni dwar is-soluzzjoni tal-problemi) :
Issa għandek server tal-email Postfix u Dovecot li jaħdem u tista' tibda tibgħat u tirċievi emails.
Sommarju
F'dan l-artikolu spjegajna kif tikkonfigura Postfix u Dovecot biex jimmaniġġjaw it-traffiku tal-email fis-server Linux tiegħek. Jekk xi ħaġa ma taħdimx kif indikat f'dan l-artikolu, kun żgur li tieħu ħin biex tiċċekkja d-dokumentazzjoni ta 'Dovecot.
Jekk jogħġbok innota li għalkemm it-twaqqif ta' server tal-posta Postfix mhuwiex biċċa xogħol faċli, hija esperjenza ta' sodisfazzjon għal kull amministratur tas-sistema.
Jekk wara li tgħaddi mid-doks issib ruħek li għadek tissielet ma' Postfix u/jew Dovecot, tħossok liberu li tibgħatilna nota billi tuża l-formola tal-kumment hawn taħt u nkunu ferħanin li ngħinuk (tinsiex ittella' fuq servizz ta' ħażna onlajn il-konfigurazzjoni Postfix u Dovecot kif akkwistata bl-użu ta’ postconf u doveconf kif deskritt f’dan l-artikolu).