Įdiekite pilną pašto serverį su Postfix ir Webmail Debian 9


Ši mokymo programa padės jums įdiegti ir sukonfigūruoti visą pašto serverį su Postfix Debian 9 leidime. Taip pat bus aprašyta, kaip sukonfigūruoti paskyrų pašto dėžutes naudojant Dovecot, kad būtų galima gauti ir rašyti laiškus naudojant IMAP protokolą. Naudotojai naudos Rainloop Webmail sąsają kaip el. pašto vartotojo agentą paštui tvarkyti.

Reikalavimai

  1. Minimalus Debian 9 diegimas
  2. Statinis IP adresas, sukonfigūruotas tinklo sąsajai
  3. Vietinis arba viešas registruotas domeno vardas.

Šioje mokymo programoje naudosime privataus domeno paskyrą pašto serverio sąrankai, sukonfigūruotą tik per failą /etc/hosts, be jokio DNS serverio, dalyvaujančio tvarkant DNS sprendimą.

1 veiksmas: pradinės „Postfix“ pašto serverio „Debian“ konfigūracijos

1. Pirmiausia prisijunkite prie kompiuterio naudodami root teises arba tiesiogiai su root naudotoju ir įsitikinkite, kad jūsų Debian sistemoje yra naujausi saugos pataisos ir programinės įrangos bei paketų leidimai. , išleisdami šią komandą.

apt-get update 
apt-get upgrade 

2. Atlikdami kitą veiksmą, įdiekite šiuos programinės įrangos paketus, kurie bus naudojami sistemos administravimui, išduodami šią komandą.

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

3. Tada atidarykite failą /etc/host.conf, kad galėtumėte redaguoti naudodami savo mėgstamą teksto rengyklę, ir failo pradžioje pridėkite šią eilutę, kad DNS skyra būtų pirmiausia perskaitykite hosts failą.

order hosts,bind
multi on

4. Tada nustatykite įrenginio FQDN ir pridėkite domeno pavadinimą bei sistemos FQDN prie failo /etc/hosts. Naudokite savo sistemos IP adresą, kad nustatytumėte domeno pavadinimą ir FQDN, kaip parodyta toliau esančioje ekrano kopijoje.

Atitinkamai pakeiskite IP adresą ir domeną. Po to iš naujo paleiskite įrenginį, kad tinkamai pritaikytumėte pagrindinio kompiuterio pavadinimą.

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

5. Paleidę iš naujo patikrinkite, ar prieglobos serverio pavadinimas buvo tinkamai sukonfigūruotas, išduodami toliau nurodytas komandas. Domeno pavadinimas, FQDN, pagrindinio kompiuterio pavadinimas ir sistemos IP adresas turi būti grąžinti naudojant hostname komandą.

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

6. Taip pat patikrinkite, ar domenas teisingai atsako į vietines užklausas, išduodami toliau pateiktas komandas. Atminkite, kad domenas nebus atkuriamas nuotolinėms užklausoms, kurias pateikia kitos jūsų tinklo sistemos, nes nenaudojame DNS serverio.

Tačiau domenas turėtų atsakyti iš kitų sistemų, jei domeno pavadinimą rankiniu būdu pridėsite prie kiekvieno jų failo /etc/hosts. Taip pat atminkite, kad domeno, pridėto prie failo /etc/hosts, DNS skyra neveiks naudojant host, nslookup arba dig komandas.

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

2 veiksmas: „Debian“ įdiekite „Postfix Mail Server“.

7. Svarbiausia programinės įrangos dalis, reikalinga, kad pašto serveris tinkamai veiktų, yra MTA agentas. MTA yra programinė įranga, sukurta serverio-kliento architektūroje, atsakinga už laiškų perdavimą tarp pašto serverių.

Šiame vadove kaip pašto siuntimo agentą naudosime Postfix. Norėdami įdiegti postfix Debian'e iš oficialių saugyklų, vykdykite šią komandą.

apt-get install postfix

8. Diegiant Postfix jums bus užduota keletas klausimų. Pirmajame raginime pasirinkite parinktį Interneto svetainė kaip bendrą Postfix konfigūracijos tipą ir paspauskite [enter] klavišą, kad tęstumėte, tada pridėkite savo domeno pavadinimą prie sistemos el. pašto pavadinimo, kaip iliustruotas šiose ekrano kopijose.

3 veiksmas: sukonfigūruokite „Postfix“ pašto serverį „Debian“.

9. Tada sukurkite atsarginę Postfix konfigūracijos failo atsarginę kopiją ir sukonfigūruokite Postfix savo domenui naudodami šias komandas.

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

Dabar sukonfigūruokite Postfix konfigūraciją main.cf faile, kaip parodyta.

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

Pakeiskite kintamuosius mano prieglobos pavadinimas, mano domenas ir mano tinklai, kad atitiktų jūsų konfigūracijas.

Galite paleisti komandą postconf -n, kad iškeltumėte pagrindinį Postfix konfigūracijos failą ir patikrintumėte galimas klaidas, kaip parodyta toliau esančioje ekrano kopijoje.

postconf -n

10. Kai visos konfigūracijos bus nustatytos, iš naujo paleiskite „Postfix“ demoną, kad pritaikytumėte pakeitimus ir patikrintumėte, ar paslauga veikia, patikrindami, ar pagrindinė „Postfix“ paslauga yra susieta su 25 prievadu, paleisdami „netstat“ komandą.

systemctl restart postfix
systemctl status postfix
netstat -tlpn

3 veiksmas: išbandykite „Postfix“ pašto serverį „Debian“.

11. Norėdami patikrinti, ar „postfix“ gali apdoroti laiškų perdavimą, pirmiausia įdiekite mailutils paketą vykdydami šią komandą.

apt-get install mailutils

12. Tada, naudodami pašto komandų eilutės įrankį, išsiųskite laišką į pagrindinę paskyrą ir patikrinkite, ar laiškas buvo sėkmingai perduotas, išduodami toliau pateiktą komandą, kad patikrintumėte pašto eilę ir nurodytumėte šakninės paskyros turinį. namų Maildir katalogas.

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

13. Taip pat galite patikrinti, kokiu būdu paštą apdorojo „postfix“ paslauga, patikrinę pašto žurnalo failo turinį, išduodami šią komandą.

tailf /var/log/mail.log

4 veiksmas: įdiekite ir sukonfigūruokite Dovecot IMAP „Debian“.

14. Pašto pristatymo agentas, kurį naudosime šiame vadove, norėdami pristatyti el. pašto pranešimus į vietinio gavėjo pašto dėžutes, yra Dovecot IMAP. IMAP yra protokolas, veikiantis 143 ir 993 (SSL) prievaduose, atsakingas už skaitymą, trynimą arba laiškų perkėlimas į kelias el. pašto programas.

IMAP protokolas taip pat naudoja sinchronizavimą, siekdamas užtikrinti, kad kiekvieno pranešimo kopija būtų išsaugota serveryje ir leidžia vartotojams sukurti kelis katalogus serveryje ir perkelti laiškus į šiuos katalogus, kad būtų galima rūšiuoti el.

Tai netinka POP3 protokolui. POP3 protokolas neleis naudotojams sukurti kelių katalogų serveryje, kad būtų galima rūšiuoti paštą. Paštui tvarkyti turite tik aplanką Gautieji.

Norėdami įdiegti Dovecot pagrindinį serverį ir Dovecot IMAP paketą Debian'e, vykdykite šią komandą.

apt install dovecot-core dovecot-imapd

15. Kai „Dovecot“ bus įdiegtas jūsų sistemoje, atidarykite toliau pateiktus „dovecot“ failus, kad galėtumėte redaguoti, ir atlikite šiuos pakeitimus. Pirmiausia atidarykite failą /etc/dovecot/dovecot.conf, ieškokite šios eilutės ir panaikinkite komentarą:

listen = *, ::

16. Tada atidarykite /etc/dovecot/conf.d/10-auth.conf, kad galėtumėte redaguoti, suraskite ir pakeiskite toliau pateiktas eilutes, kad atrodytų taip, kaip toliau pateiktoje ištraukoje.

disable_plaintext_auth = no
auth_mechanisms = plain login

17. Atidarykite /etc/dovecot/conf.d/10-mail.conf failą ir pridėkite šią eilutę, kad vietoje Maildir būtų naudojama vieta Mbox formatu el. laiškams saugoti.

mail_location = maildir:~/Maildir

18. Paskutinis redaguotinas failas yra /etc/dovecot/conf.d/10-master.conf. Čia ieškokite Postfix smtp-auth bloko ir atlikite šiuos pakeitimus:

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

19. Atlikę visus anksčiau nurodytus pakeitimus, iš naujo paleiskite Dovecot demoną, kad atspindėtų pakeitimus, patikrinkite jo būseną ir patikrinkite, ar Dovecot yra susietas su prievadu 143, išduodami toliau pateiktas komandas.

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

20. Patikrinkite, ar pašto serveris veikia tinkamai, pridėdami naują vartotojo abonementą prie sistemos ir naudokite komandą telnet arba netcat, kad prisijungtumėte prie SMTP serverį ir išsiųskite naują laišką naujam pridėtam vartotojui, kaip parodyta toliau pateiktose ištraukose.

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

21. Patikrinkite, ar laiškas atkeliavo į naujojo vartotojo pašto dėžutę, įtraukdami į vartotojo namų katalogo turinį, kaip parodyta toliau esančioje ekrano kopijoje.

ls /home/test_mail/Maildir/new/

22. Taip pat galite prisijungti prie vartotojo pašto dėžutės iš komandinės eilutės naudodami IMAP protokolą, kaip parodyta toliau pateiktoje ištraukoje. Naujas laiškas turi būti pateiktas vartotojo gautuosiuose.

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

5 veiksmas: įdiekite ir sukonfigūruokite žiniatinklio paštą „Debian“.

23. Naudotojai el. laiškus tvarkys naudodami Rainloop Webmail programą. Prieš diegdami Rainloop pašto vartotojo agentą, pirmiausia įdiekite Apache HTTP serverį ir šiuos PHP modulius, reikalingus Rainloop, išduodami šią komandą.

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

24. Įdiegę „Apache“ žiniatinklio serverį pakeiskite katalogo kelią į /var/www/html/ katalogą, pašalinkite failą index.html ir išduokite šią komandą, kad įdiegtumėte Rainloop Webmail.

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

25. Sistemoje įdiegę Rainloop Webmail klientą, eikite į savo domeno IP adresą ir prisijunkite prie Rainloop administratoriaus žiniatinklio sąsajos naudodami šiuos numatytuosius kredencialus:

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

26. Eikite į meniu Domenai, paspauskite mygtuką Pridėti domeną ir pridėkite domeno pavadinimo nustatymus, kaip parodyta toliau esančioje ekrano kopijoje.

27. Baigę pridėti domeno nustatymus, atsijunkite nuo „Ranloop“ administratoriaus sąsajos ir nukreipkite naršyklę į savo IP adresą, kad prisijungtumėte prie žiniatinklio pašto programos naudodami el. pašto paskyrą.

Sėkmingai prisijungę prie Rainloop žiniatinklio pašto, aplanke Gautieji turėtumėte matyti el. laišką, išsiųstą iš komandinės eilutės.

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

27. Norėdami pridėti naują vartotojo problemą, komandą useradd su vėliavėle -m, kad būtų sukurtas vartotojo namų katalogas. Tačiau pirmiausia įsitikinkite, kad sukonfigūravote „Maildir“ kelio kintamąjį kiekvienam vartotojui naudodami šią komandą.

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

28. Jei norite peradresuoti visus šakninio el. laiškus į konkrečią vietinę pašto paskyrą iš sistemos, vykdykite toliau pateiktas komandas. Visi laiškai, peradresuoti arba skirti į pagrindinę paskyrą, bus persiųsti jūsų pašto vartotojui, kaip parodyta toliau pateiktame paveikslėlyje.

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

Tai viskas! Jūs sėkmingai įdiegėte ir sukonfigūravote pašto serverį savo patalpose, kad vietiniai vartotojai galėtų bendrauti el. paštu. Tačiau tokio tipo pašto konfigūracija nėra niekaip apsaugota, todėl patartina ją naudoti tik mažoms sąrankoms sistemose ir tinkluose, kuriuos visiškai kontroliuojate.