Kā konfigurēt Postfix un Dovecot ar virtuālo domēnu lietotājiem Linux - 2. daļa
Iepriekšējā šīs sērijas rakstā mēs paskaidrojām, kā droši iestatīt un pārvaldīt pasta servera datu bāzi, izmantojot phpMyAdmin.
- Instalējiet Postfix Mail Server un Dovecot ar MariaDB - 1. daļa
Ir pienācis laiks konfigurēt iekšējās programmas, kas e-pasta ziņojumu sūtīšanu un saņemšanu padarīs par realitāti: Postfix un Dovecot (lai attiecīgi apstrādātu izejošos un ienākošos e-pastus).
Konfigurē Postfix pasta serveri
Pirms sākat konfigurēt Postfix, būtu vērts un labi šeit apskatīt tā manas lapas, īpašu uzsvaru liekot uz sadaļu “Informācija jauniem Postfix lietotājiem”. Ja jūs to izdarīsit, jums būs vieglāk sekot līdzi šai apmācībai.
Dažos vārdos jums jāzina, ka Postfix ir divi konfigurācijas faili:
- /etc/postfix/main.cf (Postfix konfigurācijas parametri, sīkāku informāciju skatiet man 5 postconf).
- /etc/postfix/master.cf (Postfix master dēmona konfigurācija, sīkāku informāciju skatiet man 5 master).
Sadaļā /etc/postfix/main.cf
atrodiet (vai pievienojiet, ja nepieciešams) šādas rindas un pārliecinieties, vai tās atbilst tālāk norādītajām vērtībām:
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
Nākamajiem trim iestatījumiem ir īpaša nozīme. Dzeltenā krāsā norādītajos failos mēs konfigurēsim Postfix piekļuvi tabulām Domains_tbl, Users_tbl un 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
Ņemiet vērā, ka iepriekš varat izvēlēties dažādus failu nosaukumus, ja vien tos noteikti izveidojat un tajos ievietojat šādu saturu. Katrā gadījumā nomainiet YourPassword ar paroli, kuru izvēlējāties dba lietotājam 1. daļā, vai arī varat izmantot MariaDB saknes akreditācijas datus lietotājam un paroli zemāk.
Pārliecinieties, ka izmantojat tieši tādus pašus e-pasta servera datu bāzes nosaukumus un tabulas, kas izveidotas 1. daļā.
Sadaļā /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'
Sadaļā /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'
Sadaļā /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'
Visbeidzot, neaizmirstiet mainīt atļaujas šiem failiem uz 640:
# chmod 640 /etc/postfix/mariadb-vdomains.cf # chmod 640 /etc/postfix/mariadb-vusers.cf # chmod 640 /etc/postfix/mariadb-valias.cf
Un īpašumtiesības uz lietotāja saknes un grupas postfix:
# chown root:postfix /etc/postfix/mariadb-vdomains.cf # chown root:postfix /etc/postfix/mariadb-vusers.cf # chown root:postfix /etc/postfix/mariadb-valias.cf
Pēc tam, lai iespējotu drošus savienojumus, mums jāpārliecinās, vai /etc/postfix/master.cf
nav komentēti (vai vajadzības gadījumā pievienoti) šādi iestatījumi:
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
Piezīme: atkāpe rindās, kas sākas ar opciju -o
, ir kritiska; pretējā gadījumā postfix pārbaude parādīs kļūdu:
Pirms izmaiņu saglabāšanas faila apakšdaļā pievienojiet šādas rindas:
dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${recipient}
Šajā brīdī ir svarīgi pārbaudīt, vai Postfix ir piekļuve datu bāzes tabulām un domēniem, kontiem un aizstājvārdiem, kurus mēs izveidojām 1. daļā.
Lai to izdarītu, mēs izmantosim postmap komandu - utilītu, lai pārbaudītu saziņu ar tabulām, kuras Postfix operācijas laikā meklēs, taču vispirms mums būs jārestartē 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
Zemāk redzamajā attēlā mēs varam redzēt, ka esošajiem datu bāzes ierakstiem tiek atgriezts 1. Pretējā gadījumā nekas netiek parādīts atpakaļ ekrānā. Alias pārbaudes gadījumā ņemiet vērā, ka tiek atgriezts faktiskais e-pasta konts, uz kuru tiek aizstāts aizstājvārds:
Ņemiet vērā, ka mēs NE autentificējamies, izmantojot katram e-pasta kontam iestatītos akreditācijas datus, mēs tikai pārbaudām Postfix spēju atklāt šos ierakstus datu bāzē.
Tādējādi, ja iegūstat citu izvadi nekā iepriekš, pārliecinieties, vai mariadb-vdomains.cf, mariadb-vusers.cf un mariadb-valias.cf (vai kā citādi izvēlējāties saukt šos failus) izmantojat derīgu lietotāja/paroles pāri. ).
Dovecot konfigurēšana
Kā IMAP/POP3 serveris Dovecot nodrošina veidu, kā lietotāji, izmantojot Pasta lietotāju aģentu (MUA vai arī pazīstams kā klients), piemēram, Thunderbird vai Outlook, nosauc dažus piemērus, kā piekļūt viņu pastam.
Lai sāktu, izveidosim lietotāju un grupu e-pastu apstrādei (tas mums būs nepieciešams, jo mūsu e-pasta konti nav saistīti ar sistēmas lietotāju). Varat izmantot citu UID un GID (izņemot 5000, kā mēs to darām tālāk), ja vien tie netiek izmantoti un ir liels skaits:
# groupadd -g 5000 vmail # useradd -g vmail -u 5000 vmail -d /home/vmail -m
Dovecot iestatījumi ir sadalīti vairākos konfigurācijas failos (pārliecinieties, ka nākamās rindas nav komentētas un/vai rediģējiet tās, lai tās atbilstu tālāk norādītajiem iestatījumiem).
Sadaļā /etc/dovecot/dovecot.conf
:
!include_try /usr/share/dovecot/protocols.d/*.protocol protocols = imap pop3 lmtp !include conf.d/*.conf !include_try local.conf
Sadaļā /etc/dovecot/conf.d/10-auth.conf
(iespējojiet autentifikāciju tikai izmantojot SQL un atstājiet komentētās citas autentifikācijas metodes):
disable_plaintext_auth = yes auth_mechanisms = plain login !include auth-sql.conf.ext
Sadaļā /etc/dovecot/conf.d/auth-sql.conf.ext
(ņemiet vērā, ka e-pastus mēs glabāsim direktorijā ar nosaukumu yourdomain.com iekšā/home/vmail, kas jums jāizveido, ja tā nepastāv. Mūsu gadījumā mēs izmantojām mkdir /home/vmail/linuxnewz.com, lai pārvaldītu e-pasta ziņojumus šim domēnam):
passdb { driver = sql args = /etc/dovecot/dovecot-sql.conf.ext } userdb { driver = static args = uid=vmail gid=vmail home=/home/vmail/%d/%n/Maildir }
Lietotāju kontu individuālās iesūtnes tiks izveidotas, kad pirmo reizi tiks saņemti šādu kontu e-pasta ziņojumi.
Sadaļā /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
Sadaļā /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 { } }
Sadaļā /etc/dovecot/conf.d/10-ssl.conf
(nomainiet sertifikātu un atslēgu ceļus, ja plānojat izmantot SI parakstītu sertifikātu):
ssl = required ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem
Sadaļā /etc/dovecot/dovecot-sql.conf.ext
ievadiet savu datu bāzes informāciju un 1. daļā izveidotos administratīvā lietotāja akreditācijas datus.
Svarīgi: ja jūsu parolē ir zvaigznīte (#)
, jums būs jāpievieno savienojuma virkne, kā norādīts zemāk esošajā piemērā:
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';
Turklāt Dovecot reģistrēšanu varat konfigurēt atsevišķi no Postfix sadaļā /etc/dovecot/conf.d/10-logging.conf
:
log_path = /var/log/dovecot.log
Visbeidzot, pārliecinieties, vai Dovecot žurnāls ir pieejams lietotāja dovecot:
# chown vmail:dovecot /var/log/dovecot.log # chmod 660 /var/log/dovecot.log
Pārbaudiet un izlabojiet Postifix konfigurāciju un iespējojiet SMTP, POP3 un IMAP ugunsmūrī
Ja, konfigurējot Postfix un/vai Dovecot, rodas kādas problēmas, tā vietā, lai iesniegtu visus konfigurācijas failus, lai lūgtu palīdzību, varat saņemt konfigurācijas kopsavilkumu (tikai nekomentētas rindas) ar:
# 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
Turklāt pārliecinieties, ka e-pasta iesūtnes ir lasāmas tikai ar vmail:
# chown –R vmail:vmail /home/vmail
Konfigurācijas failiem jābūt lasāmiem arī vmail un baložu lietotājiem:
# chown -R vmail:dovecot /etc/dovecot # chmod -R o-rwx /etc/dovecot
Visbeidzot, pārliecinieties, vai caur ugunsmūri esat iespējojis SMTP, POP3 un IMAP:
# 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
Konfigurējiet Thunderbird kā Postfix e-pasta klientu
Pēc e-pasta saziņā izmantoto ostu piekļuves caur ugunsmūri ir nodrošināts laiks konfigurēt e-pasta klientu. Izmantojot [email un tam atbilstošo paroli, kā arī mail.linuxnewz.com kā IMAP (vai POP3) un SMTP serveri, mēs esam gatavi sākt sūtīt un saņemt e-pastus uz un no šāda konta:
Parādīto brīdinājuma ziņojumu varat droši neņemt vērā, jo izmantojat sertifikātu, kuru nav parakstījusi uzticama trešās puses CA:
Sastādīsim īsu testa e-pastu un noklikšķiniet uz Sūtīt:
Kad tiek lūgts pieņemt izejošā servera pašparakstītu sertifikātu, apstipriniet to iepriekš tāpat kā iepriekš:
Visbeidzot, dodieties uz galamērķa e-pastu, lai uzzinātu, vai esat saņēmis tikko nosūtīto e-pastu. Ja tā, atbildiet uz to un pārbaudiet, vai tas tiek piegādāts atpakaļ avota e-pasta iesūtnē (pretējā gadījumā problēmu novēršanas informāciju skatiet Postfix žurnālā/var/log/maillog vai Dovecot žurnālā vietnē /var/log/dovecot.log). :
Tagad jums ir strādājošs Postfix un Dovecot e-pasta serveris, un jūs varat sākt sūtīt un saņemt e-pastus.
Kopsavilkums
Šajā rakstā mēs esam paskaidrojuši, kā konfigurēt Postfix un Dovecot, lai apstrādātu e-pasta trafiku jūsu Linux serverī. Ja kaut kas nedarbojas, kā norādīts šajā rakstā, noteikti veltiet laiku, lai pārbaudītu Dovecot dokumentāciju.
Lūdzu, ņemiet vērā, ka, lai gan Postfix pasta servera iestatīšana nav viegls uzdevums, tā ir noderīga pieredze katram sistēmas administratoram.
Ja pēc dokumentu apmeklēšanas jūs joprojām cīnāties ar Postfix un/vai Dovecot, nekautrējieties nomest mums piezīmi, izmantojot zemāk esošo komentāru veidlapu, un mēs ar prieku jums palīdzēsim (neaizmirstiet augšupielādēt tiešsaistes krātuves pakalpojumā konfigurācija Postfix un Dovecot, kas iegūta, izmantojot postconf un doveconf, kā aprakstīts šajā rakstā).