Namestite popoln poštni strežnik s Postfixom in spletno pošto v Debian 9


Ta vadnica vas bo vodila, kako namestiti in konfigurirati celoten poštni strežnik s funkcijo Postfix v izdaji Debian 9. Zajema tudi, kako konfigurirati nabiralnike računov z Dovecotom za pridobivanje in sestavljanje sporočil po protokolu IMAP. Uporabniki bodo uporabljali vmesnik Rainloop Webmail kot poštni uporabniški agent za obravnavo pošte.

  1. Minimalna namestitev Debian 9
  2. Statični naslov IP, konfiguriran za omrežni vmesnik
  3. Lokalno ali javno registrirano ime domene.

V tej vadnici bomo za nastavitev poštnega strežnika, ki je konfiguriran samo prek datoteke /etc /hosts, uporabili račun zasebne domene, ne da bi pri obravnavanju ločljivosti DNS sodeloval strežnik DNS.

1. korak: Začetne konfiguracije za poštni strežnik Postfix v Debianu

1. V prvem koraku se prijavite v svoj računalnik z računom s korenskimi pravicami ali neposredno s korenskim uporabnikom in se prepričajte, da je vaš sistem Debian posodobljen z najnovejšimi varnostnimi popravki ter različicami programske opreme in paketov, tako da izdate naslednji ukaz.

# apt-get update 
# apt-get upgrade 

2. V naslednjem koraku namestite naslednje programske pakete, ki bodo uporabljeni za administracijo sistema, tako da izdate naslednji ukaz.

# apt-get install curl net-tools bash-completion wget lsof nano

3. Nato odprite datoteko /etc/host.conf za urejanje s svojim najljubšim urejevalnikom besedil in dodajte naslednjo vrstico na začetku datoteke, da bo ločljivost DNS najprej prebrala datoteko hosts.

order hosts,bind
multi on

4. Nato nastavite FQDN svojega stroja in dodajte ime domene in sistemski FQDN v datoteko /etc /hosts. S sistemskim naslovom IP razrešite ime domene in FQDN, kot je prikazano na spodnjem posnetku zaslona.

Ustrezno zamenjajte naslov IP in domeno. Nato znova zaženite napravo, da boste pravilno uporabili ime gostitelja.

# hostnamectl set-hostname mail.linux-console.net
# echo "192.168.0.102 linux-console.net mail.linux-console.net" >> /etc/hosts
# init 6

5. Po ponovnem zagonu preverite, ali je ime gostitelja pravilno konfigurirano, tako da izdate naslednjo serijo ukazov. Ime domene, FQDN, ime gostitelja in naslov IP sistema je treba vrniti z ukazom hostname.

# hostname
# hostname -s
# hostname -f
# hostname -A
# hostname -i
# cat /etc/hostname 

6. Preizkusite tudi, ali domena pravilno odgovarja na lokalne poizvedbe, tako da izdate spodnje ukaze. Zavedajte se, da se domena ne bo predvajala na oddaljene poizvedbe drugih sistemov v vašem omrežju, ker ne uporabljamo strežnika DNS.

Vendar pa mora domena odgovoriti iz drugih sistemov, če ročno dodate ime domene v vsako njihovo datoteko /etc /hosts. Upoštevajte tudi, da ločljivost DNS za domeno, dodano v datoteko /etc /hosts, ne bo delovala z ukazi dig.

# getent ahosts mail.linux-console.net
# ping linux-console.net
# ping mail.linux-console.net

2. korak: Namestite Postfix Mail Server v Debian

7. Najpomembnejša programska oprema, ki je potrebna za pravilno delovanje poštnega strežnika, je agent MTA. MTA je programska oprema, vgrajena v arhitekturo odjemalec-strežnik, ki je odgovorna za prenos pošte med poštnimi strežniki.

V tem priročniku bomo uporabili Postfix kot agenta za prenos pošte. Če želite namestiti postfix v Debian iz uradnih skladišč, izvedite naslednji ukaz.

# apt-get install postfix

8. Med postopkom namestitve programa Postfix vam bodo zastavili vrsto vprašanj. Ob prvem pozivu izberite možnost Spletno mesto kot splošno vrsto za konfiguracijo Postfix in pritisnite tipko [enter] za nadaljevanje, nato pa ime svoje domene dodajte imenu sistemske pošte, kot je prikazano na naslednjih posnetkih zaslona.

3. korak: Konfigurirajte Postfix Mail Server v Debianu

9. Nato varnostno kopirajte glavno konfiguracijsko datoteko Postfix in z naslednjimi ukazi konfigurirajte Postfix za svojo domeno.

# cp /etc/postfix/main.cf{,.backup}
# nano /etc/postfix/main.cf

Zdaj konfigurirajte konfiguracijo Postfix v datoteki main.cf, kot je prikazano.

# See /usr/share/postfix/main.cf.dist for a commented, more complete version

smtpd_banner = $myhostname ESMTP
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
readme_directory = no

# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
# fresh installs.
compatibility_level = 2

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mail.debian.lan

mydomain = debian.lan

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

#myorigin = /etc/mailname
myorigin = $mydomain

mydestination = $myhostname, $mydomain, localhost.$mydomain, localhost
relayhost = 
mynetworks = 127.0.0.0/8, 192.168.1.0/24
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
#inet_protocols = all
inet_protocols = ipv4

home_mailbox = Maildir/

# SMTP-Auth settings
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

Zamenjajte spremenljivke myhostname, mydomain in mynetworks tako, da ustrezajo vašim konfiguracijam.

Ukaz postconf -n lahko zaženete, da odstranite glavno konfiguracijsko datoteko Postfix in preverite morebitne napake, kot je prikazano na spodnjem posnetku zaslona.

# postconf -n

10. Ko so vse konfiguracije vzpostavljene, znova zaženite demon Postfix, da uporabite spremembe in preverite, ali se storitev izvaja, tako da z ukazom netstat preverite, ali je glavna storitev Postfix vezana na vrata 25.

# systemctl restart postfix
# systemctl status postfix
# netstat -tlpn

3. korak: Preizkusite poštni strežnik Postfix v Debianu

11. Če želite preveriti, ali postfix lahko prenese prenos pošte, najprej namestite paket mailutils tako, da zaženete naslednji ukaz.

# apt-get install mailutils

12. Nato s pripomočkom za ukazno vrstico mail pošljite pošto v korenski račun in preverite, ali je bila pošta uspešno poslana, tako da izdate spodnji ukaz, da preverite poštno čakalno vrsto in navedete vsebino korenskega domačega imenika Maildir.

# echo "mail body"| mail -s "test mail" root
# mailq
# mail
# ls Maildir/
# ls Maildir/new/
# cat Maildir/new/[TAB]

13. Prav tako lahko preverite, na kakšen način je pošta delovala s storitvijo postfix, tako da pregledate vsebino datoteke dnevnika pošte z izdajo naslednjega ukaza.

# tailf /var/log/mail.log

4. korak: Namestite in konfigurirajte Dovecot IMAP v Debianu

14. Zastopnik za dostavo pošte, ki ga bomo v tem priročniku uporabljali za pošiljanje e-poštnih sporočil v nabiralnike lokalnega prejemnika, je Dovecot IMAP. IMAP je protokol, ki deluje na vratih 143 in 993 (SSL), ki je odgovoren za branje, brisanje ali premikanje sporočil v več e -poštnih odjemalcih.

Protokol IMAP uporablja tudi sinhronizacijo za zagotovitev, da je kopija vsakega sporočila shranjena na strežniku in uporabnikom omogoča ustvarjanje več imenikov na strežniku in premikanje sporočil v te imenike za razvrščanje e-poštnih sporočil.

To ne velja za protokol POP3. Protokol POP3 uporabnikom ne dovoljuje ustvarjanja več imenikov na strežniku za razvrščanje pošte. Za upravljanje pošte imate samo mapo »Prejeto«.

Za namestitev jedrnega strežnika Dovecot in paketa IMAP Dovecot v Debian izvedite naslednji ukaz.

# apt install dovecot-core dovecot-imapd

15. Ko je Dovecot nameščen v vašem sistemu, odprite spodnje datoteke dovecot za urejanje in naredite naslednje spremembe. Najprej odprite datoteko /etc/dovecot/dovecot.conf, poiščite in razkomentirajte naslednjo vrstico:

listen = *, ::

16. Nato odprite /etc/dovecot/conf.d/10-auth.conf za urejanje ter poiščite in spremenite spodnje vrstice tako, da bodo videti v spodnjem odlomku.

disable_plaintext_auth = no
auth_mechanisms = plain login

17. Odprite /etc/dovecot/conf.d/10-mail.conf datoteko in dodajte naslednjo vrstico, da uporabite lokacijo Maildir namesto oblike Mbox za shranjevanje e-pošte.

mail_location = maildir:~/Maildir

18. Zadnja datoteka za urejanje je /etc/dovecot/conf.d/10-master.conf. Tu poiščite blok Postfix smtp-auth in naredite naslednjo spremembo:

# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
  mode = 0666
  user = postfix
  group = postfix
 }

19. Ko izvedete vse zgornje spremembe, znova zaženite demon Dovecot, da odraža spremembe, preverite njegovo stanje in preverite, ali je Dovecot vezan na vrata 143, tako da izdate spodnje ukaze.

# systemctl restart dovecot.service 
# systemctl status dovecot.service 
# netstat -tlpn

20. Preverite, ali poštni strežnik deluje pravilno, tako da v sistem dodate nov uporabniški račun in se z ukazom telnet ali netcat povežete s strežnikom SMTP in pošljete novo pošto novemu dodanemu uporabniku, kot je prikazano v spodnjih odlomkih.

# adduser matie
# nc localhost 25
# ehlo localhost
mail from: root
rcpt to: matie
data
subject: test
Mail body
.
quit

21. Preverite, ali je pošta prispela v nabiralnik novega uporabnika, tako da navedete vsebino domačega imenika uporabnika, kot je prikazano na spodnjem posnetku zaslona.

# ls /home/test_mail/Maildir/new/

22. Prav tako se lahko povežete z nabiralnikom uporabnika iz ukazne vrstice prek protokola IMAP, kot je prikazano v spodnjem izvlečku. Nova pošta mora biti navedena v mapi »Prejeto« uporabnika.

# nc localhost 143
x1 LOGIN matie user_password
x2 LIST "" "*"
x3 SELECT Inbox
x4 LOGOUT

5. korak: Namestite in konfigurirajte spletno pošto v Debianu

23. Uporabniki bodo upravljali svoja e -poštna sporočila prek odjemalca Rainloop Webmail. Preden namestite poštnega uporabniškega agenta Rainloop, najprej namestite strežnik Apache HTTP in naslednje module PHP, ki jih potrebuje Rainloop, tako da izdate naslednji ukaz.

# apt install apache2 php7.0 libapache2-mod-php7.0 php7.0-curl php7.0-xml

24. Ko je spletni strežnik Apache nameščen, spremenite pot imenika v/var/www/html/imenik, odstranite datoteko index.html in izdajte naslednji ukaz, da namestite Rainloop Webmail.

# cd /var/www/html/
# rm index.html 
# curl -sL https://repository.rainloop.net/installer.php | php

25. Ko je odjemalec Rainloop Webmail nameščen v sistemu, se pomaknite na naslov IP svoje domene in se prijavite v skrbniški spletni vmesnik Rainloop z naslednjimi privzetimi poverilnicami:

http://192.168.0.102/?admin
User: admin
Password: 12345

26. Pomaknite se do menija Domene, pritisnite gumb Dodaj domeno in dodajte nastavitve imena domene, kot je prikazano na spodnjem posnetku zaslona.

27. Ko dokončate dodajanje nastavitev domene, se odjavite iz skrbniškega vmesnika Ranloop in brskalnik usmerite na vaš IP naslov, da se prijavite v odjemalca spletne pošte z e-poštnim računom.

Ko ste uspešno prijavljeni v spletno pošto Rainloop, bi morali v mapo »Prejeto« videti e -poštno sporočilo, poslano prej iz ukazne vrstice.

http://192.168.0.102
User: [email 
Pass: the matie password

27. Če želite dodati novo uporabniško težavo, uporabite ukazradd z zastavo -m , da ustvarite domači imenik uporabnika. Najprej pa za vsakega uporabnika konfigurirajte spremenljivko poti Maildir z naslednjim ukazom.

# echo 'export MAIL=$HOME/Maildir' >> /etc/profile
# useradd -m user3
# passwd user3

28. Če želite preusmeriti vso korensko e -pošto na določen lokalni poštni račun iz sistema, zaženite spodnje ukaze. Vsa sporočila, preusmerjena ali namenjena korenskemu računu, bodo posredovana vašemu uporabniku pošte, kot je prikazano na spodnji sliki.

# echo "root: test_mail" >> /etc/aliases
# newaliases

To je vse! Uspešno ste namestili in konfigurirali poštni strežnik v svojih prostorih, da lahko lokalni uporabniki komunicirajo po e-pošti. Vendar ta vrsta konfiguracije pošte ni na noben način zavarovana in priporočljivo je, da jo uporabite le za majhne nastavitve v sistemih in omrežjih pod vašim popolnim nadzorom.