I den forrige artikkelen i denne serien forklarte vi hvordan du konfigurerer og administrerer e -postserverdatabasen sikkert med phpMyAdmin.
Nå er det på tide å konfigurere de interne programmene som vil gjøre sending og mottak av e -post til virkelighet: Postfix og Dovecot (for å håndtere henholdsvis utgående og innkommende e -post).
Før du begynner å konfigurere Postfix, det ville være verdt og godt å ta en titt på man -sidene her, og legger spesiell vekt på delen med tittelen "Informasjon for nye Postfix -brukere“. Hvis du gjør det, vil du finne det lettere å følge med denne opplæringen.
Med få ord, bør du vite at det er to konfigurasjonsfiler for Postfix:
I /etc/postfix/main.cf
, finn (eller legg til, om nødvendig) følgende linjer og sørg for at de samsvarer med verdiene som er angitt nedenfor:
main.cf
append_dot_mydomain = nei. biff = nei. config_directory = /etc /postfix. dovecot_destination_recipient_limit = 1. message_size_limit = 4194304. readme_directory = nei. 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 = ja. virtual_transport = dovecot. smtpd_sasl_type = dovecot. smtpd_sasl_path = private/auth.
De tre neste innstillingene er av spesiell betydning. I filene som er angitt med gult, vil vi konfigurere Postfix tilgang til Domains_tbl, Users_tbl, og Alias_tbl bord:
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
Vær oppmerksom på at du kan velge forskjellige filnavn ovenfor, så lenge du sørger for å opprette dem og sette inn følgende innhold i dem. I hvert tilfelle bytt ut Ditt passord med passordet du valgte for dba bruker i Del 1, eller du kan også bruke MariaDB root legitimasjon for bruker og passord nedenfor.
Sørg også for at du bruker nøyaktig de samme navnene på e -postserverdatabasen og tabellene som er opprettet i Del 1.
I /etc/postfix/mariadb-vdomains.cf
:
mariadb-vdomains.cf
bruker = dba. password = YourPassword. verter = 127.0.0.1. dbname = EmailServer_db. query = SELECT 1 FRA Domains_tbl WHERE DomainName = '%s'
I /etc/postfix/mariadb-vusers.cf
:
mariadb-vusers.cf
bruker = dba. password = YourPassword. verter = 127.0.0.1. dbname = EmailServer_db. query = SELECT 1 FRA Users_tbl WHERE Email = '%s'
I /etc/postfix/mariadb-valias.cf
:
mariadb-valias.cf
bruker = dba. password = YourPassword. verter = 127.0.0.1. dbname = EmailServer_db. query = SELECT Destination FROM Alias_tbl WHERE Source = '%s'
Til slutt, ikke glem å endre tillatelsene til disse filene til 640:
# chmod 640 /etc/postfix/mariadb-vdomains.cf. # chmod 640 /etc/postfix/mariadb-vusers.cf. # chmod 640 /etc/postfix/mariadb-valias.cf.
Og eierskapet til brukeren rot og gruppe 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.
For å aktivere sikre tilkoblinger må vi sørge for at følgende innstillinger ikke er kommentert (eller lagt til om nødvendig) i /etc/postfix/master.cf
:
master.cf
innsending 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 = nei -o smtpd_recipient_restrictions = permit_sasl_authenticated, avslå -o milter_macro_daemon_name = ORIGINATING. henting unix n - n 60 1 henting. opprydding unix n - n - 0 opprydding. qmgr unix n - n 300 1 qmgr. tlsmgr unix - - n 1000? 1 tlsmgr. skrive unix - - n - - trivial -omskrive. sprett unix - - n - 0 sprett. utsett unix - - n - 0 sprett. trace unix - - n - 0 sprett. verifiser unix - - n - 1 bekreft. flush unix n - n 1000? 0 skylling. proxymap unix - - n - - proxymap. proxywrite unix - - n - 1 proxymap. smtp unix - - n - - smtp. relé unix - - n - - smtp showq unix n - n - - showq. feil unix - - n - - feil. prøv på nytt unix - - n - - feil. kast unix - - n - - kast. lokal unix - n n - - lokal. #virtual unix - n n - - virtuelt. lmtp unix - - n - - lmtp. ambolt unix - - n - 1 ambolt. scache unix - - n - 1 scache.
Merk: Innrykket i linjene som begynner med -o
alternativet er kritisk; ellers returnerer postfix check en feil:
Før du lagrer endringer, må du legge til følgende linjer nederst i filen:
master.cf
dovecot unix - n n - - pipe flagg = DRhu bruker = vmail: vmail argv =/usr/libexec/dovecot/deliver -f $ {sender} -d $ {mottaker}
På dette tidspunktet er det viktig å sjekke om Postfix har tilgang til databasetabellene og domenene, kontoene og aliaset vi opprettet i Del 1.
For å gjøre det, bruker vi postkart kommando, et verktøy for å teste kommunikasjon med tabellene Postfix vil slå opp under drift, men først og fremst må vi starte postfix på nytt:
# systemctl postfix start på nytt. # postmap -q linuxnewz.com mysql: /etc/postfix/mariadb-vdomains.cf. # postmap -q someotherdomain.com mysql: /etc/postfix/mariadb-vdomains.cf. # postmap -q [e -postbeskyttet] mysql: /etc/postfix/mariadb-vusers.cf. # postmap -q [e -postbeskyttet] mysql: /etc/postfix/mariadb-vusers.cf. # postmap -q [e -postbeskyttet] mysql: /etc/postfix/mariadb-vusers.cf. # postmap -q [e -postbeskyttet] mysql: /etc/postfix/mariadb-valias.cf.
På bildet nedenfor kan vi se at for eksisterende poster i databasen, a 1 blir returnert. Ellers vises ingenting tilbake til skjermen. Når det gjelder alias -kontrollen, må du merke deg at den faktiske e -postkontoen som aliaset er kartlagt til, returneres:
Vær oppmerksom på at vi er IKKE Når vi bekrefter legitimasjonen som er angitt for hver e -postkonto, tester vi bare Postfix 'evne til å oppdage disse postene i databasen.
Så hvis du får en annen utgang enn ovenfor, må du kontrollere at du bruker et gyldig bruker- / passordpar mariadb-vdomains.cf, mariadb-vusers.cf, og mariadb-valias.cf (eller hva du velger å kalle disse filene).
Som en IMAP / POP3 server, gir Dovecot en måte for brukere gjennom en Mail brukeragent (MUA, eller også kjent som klient), for eksempel Thunderbird eller Outlook, for å nevne noen eksempler for å få tilgang til e -posten deres.
For å begynne, la oss opprette en bruker og en gruppe for å håndtere e -post (vi trenger dette ettersom e -postkontoene våre ikke er tilknyttet en systembruker). Du kan bruke en annen UID og GID (annet enn 5000 som vi gjør nedenfor) så lenge den ikke er i bruk og er et høyt tall:
# groupadd -g 5000 vmail # useradd -g vmail -u 5000 vmail -d /home /vmail -m.
Innstillingene for Dovecot er delt over flere konfigurasjonsfiler (sørg for at følgende linjer er ukommenterte og / eller rediger dem for å matche innstillingene angitt nedenfor).
I /etc/dovecot/dovecot.conf
:
dovecot.cf
! include_try /usr/share/dovecot/protocols.d/*.protocol. protokoller = imap pop3 lmtp.! inkludere konf.d/*. konf.! include_try local.conf.
I /etc/dovecot/conf.d/10-auth.conf
(bare aktiver autentisering via SQL og la andre godkjenningsmetoder kommenteres):
10-auth.conf
disable_plaintext_auth = ja. auth_mechanisms = vanlig pålogging.! inkludere auth-sql.conf.ext.
I /etc/dovecot/conf.d/auth-sql.conf.ext
(Vær oppmerksom på at vi lagrer e -post i en katalog som heter dittdomene.com innsiden /home/vmail, som du må lage hvis den ikke eksisterer. I vårt tilfelle gjorde vi det mkdir /home/vmail/linuxnewz.com for å administrere e -post for det domenet):
auth-sql.conf.ext
passdb {driver = sql args = /etc/dovecot/dovecot-sql.conf.ext. } userdb {driver = statisk args = uid = vmail gid = vmail home =/home/vmail/%d/%n/Maildir. }
Individuelle innbokser for brukerkontoer opprettes når e -postmeldinger for slike kontoer først mottas.
I /etc/dovecot/conf.d/10-mail.conf
:
10-mail.conf
mail_location = maildir:/home/vmail/%d/%n/Maildir. navneplass innboks {innboks = ja. } mail_privileged_group = mail. mbox_write_locks = fcntl.
I /etc/dovecot/conf.d/10-master.conf
:
10-master.konf
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 {} }
I /etc/dovecot/conf.d/10-ssl.conf
(bytt ut sertifikatet og nøkkelbanene hvis du planlegger å bruke et sertifikat signert av en CA):
10-ssl.konf
ssl = påkrevd. ssl_cert =I
/etc/dovecot/dovecot-sql.conf.ext
skriv inn databaseinformasjonen din og legitimasjonen til den administrative brukeren som ble opprettet i Del 1.Viktig: hvis passordet ditt inneholder en stjerne
(#)
, må du legge ved tilkoblingsstrengen som angitt i eksemplet nedenfor:dovecot-sql.conf.ext
driver = mysql. connect = "host = 127.0.0.1 dbname = EmailServer_db user = dba password = PassWith#Here" default_pass_scheme = SHA512-CRYPT. password_query = VELG E -post som bruker, passord FRA Users_tbl WHERE E -post = '%u';I tillegg kan du konfigurere logging for at Dovecot skal være atskilt fra Postfix in
/etc/dovecot/conf.d/10-logging.conf
:log_path = /var/log/dovecot.log.Til slutt må du kontrollere at Dovecot -loggen er tilgjengelig for brukeren dukeseng:
# chown vmail: dovecot /var/log/dovecot.log. # chmod 660 /var/log/dovecot.log.Verifiser og reparer Postifix -konfigurasjon og aktiver SMTP, POP3 og IMAP i brannmur
Hvis du tilfeldigvis støter på problemer mens du konfigurerer Postfix og / eller Dovecot, i stedet for å sende inn alle av konfigurasjonsfilene for å be om hjelp, kan du få et konfigurasjonssammendrag (bare ukommenterte linjer) med:
# postconf –n # Sammendrag for /etc/postfix/main.cf. # postconf –M # Sammendrag for /etc/postfix/master.cf. # doveconf –n # Sammendrag av alle konfigurasjonsfilene for Dovecot.I tillegg må du kontrollere at e -postinnboksene er lesbare for vmail bare:
# chown –R vmail: vmail /home /vmail.Konfigurasjonsfiler bør også være lesbare av vmail og dukeseng brukere:
# chown -R vmail: dovecot /etc /dovecot # chmod -R o -rwx /etc /dovecotTil slutt, sørg for at du aktiverer SMTP, POP3, og IMAP gjennom brannmuren:
# brannmur-cmd-add-port = 143/tcp. # brannmur-cmd-add-port = 143/tcp-permanent. # brannmur-cmd-add-port = 110/tcp. # brannmur-cmd-add-port = 110/tcp-permanent. # firewall-cmd --add-port = 587/tcp. # firewall-cmd --add-port = 587/tcp-permanent.Konfigurer Thunderbird som en e -postklient for Postfix
Etter å ha sikret tilgang via brannmuren for portene som brukes i e -postkommunikasjon, er det på tide å konfigurere en e -postklient. Ved hjelp av [e -postbeskyttet] og tilhørende passord, sammen med mail.linuxnewz.com som IMAP (eller POP3) og SMTP -server er vi klare til å begynne å sende og motta e -post til og fra en slik konto:
Du kan trygt se bort fra advarselen som vises fordi du bruker et sertifikat som ikke er signert av en klarert tredjeparts CA:
La oss lage en kort test -e -post og klikk Send:
Når du blir bedt om å godta det selvsignerte sertifikatet for den utgående serveren, må du bekrefte det tidligere som før:
Til slutt går du til e -postadressen for å se om du har mottatt e -posten som nettopp ble sendt. Svar i så fall på det og se om det blir levert tilbake til innboksen for kilde -e -posten (ellers kan du se Postfix -loggen på /var/log/maillog eller Dovecot -loggen på /var/log/dovecot.log for feilsøkingsinformasjon):
Du har nå en fungerende Postfix og Dovecot e -postserver og kan begynne å sende og motta e -post.
Sammendrag
I denne artikkelen har vi forklart hvordan du konfigurerer Postfix og Dovecot til å håndtere e -posttrafikk på din Linux -server. Hvis noe ikke fungerer som angitt i denne artikkelen, må du ta deg tid til å sjekke Postfix og Dovecot dokumentasjon.
Vær oppmerksom på at selv om det ikke er lett å sette opp en Postfix -postserver, er det en givende opplevelse for hver systemadministrator.
Hvis du etter at du har gått gjennom dokumentene, fortsatt sliter med Postfix og / eller Dovecot, send oss gjerne et notat ved hjelp av kommentarfeltet nedenfor, så hjelper vi deg gjerne (ikke glem å laste opp Postfix og Dovecot -konfigurasjonen som hentet til en online lagringstjeneste ved hjelp av postkonf og doveconf som beskrevet i denne artikkelen).