Instalirajte kompletan poslužitelj pošte s Postfixom i Webmailom u Debianu 9


Ovaj vodič će vas voditi o tome kako instalirati i konfigurirati kompletan poslužitelj pošte s Postfixom u Debian 9 izdanju. Također će pokriti kako konfigurirati poštanske sandučiće računa koristeći Dovecot da biste dohvatili i sastavili poruke putem IMAP protokola. Korisnici će koristiti Rainloop Webmail interfejs kao korisnički agent za poštu za obradu pošte.

Zahtjevi

  1. Debian 9 Minimalna instalacija
  2. Statička IP adresa konfigurirana za mrežni interfejs
  3. Lokalni ili javni registrirani naziv domene.

U ovom vodiču ćemo koristiti nalog privatne domene za podešavanje servera pošte konfigurisan samo putem datoteke /etc/hosts, bez ikakvog DNS servera koji je uključen u rješavanje DNS-a.

Korak 1: Početne konfiguracije za Postfix poslužitelj pošte na Debianu

1. U prvom koraku, prijavite se na svoj stroj s računom s root privilegijama ili direktno s root korisnikom i provjerite je li vaš Debian sistem ažuriran s najnovijim sigurnosnim zakrpama i izdanjima softvera i paketa , izdavanjem sljedeće naredbe.

apt-get update 
apt-get upgrade 

2. U sljedećem koraku instalirajte sljedeće softverske pakete koji će se koristiti za administraciju sistema, izdavanjem sljedeće naredbe.

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

3. Zatim otvorite datoteku /etc/host.conf za uređivanje sa vašim omiljenim uređivačem teksta i dodajte sljedeći red na početak datoteke kako bi DNS rezolucija bila prvo pročitajte hosts fajl.

order hosts,bind
multi on

4. Zatim podesite FQDN na vašem računaru i dodajte ime vašeg domena i sistemski FQDN u datoteku /etc/hosts. Koristite svoju sistemsku IP adresu da biste riješili ime domene i FQDN kao što je prikazano na snimku ekrana ispod.

Zamijenite IP adresu i domenu u skladu s tim. Nakon toga, ponovo pokrenite stroj kako biste pravilno primijenili ime hosta.

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

5. Nakon ponovnog pokretanja, provjerite da li je ime hosta ispravno konfigurirano izdavanjem sljedeće serije naredbi. Ime domene, FQDN, ime hosta i IP adresa sistema treba da se vrati naredbom hostname.

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

6. Također, testirajte da li domena ispravno odgovara na lokalne upite izdavanjem naredbi ispod. Imajte na umu da domen neće reproducirati na udaljene upite koje izdaju drugi sistemi u vašoj mreži, jer ne koristimo DNS server.

Međutim, domen bi trebao odgovoriti od drugih sistema ako ručno dodate naziv domene u svaki njihov /etc/hosts fajl. Također, imajte na umu da DNS rezolucija za domenu dodanu u datoteku /etc/hosts neće raditi putem naredbi host, nslookup ili dig.

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

Korak 2: Instalirajte Postfix Mail Server na Debian

7. Najvažniji dio softvera koji je potreban da bi mail server ispravno funkcionirao je MTA agent. MTA je softver izgrađen u arhitekturi server-klijent, koji je odgovoran za prijenos pošte između servera pošte.

U ovom vodiču koristit ćemo Postfix kao agenta za prijenos pošte. Za instaliranje postfixa u Debianu iz službenih spremišta izvedite sljedeću naredbu.

apt-get install postfix

8. Tokom procesa instalacije Postfixa biće vam postavljen niz pitanja. Na prvom upitu odaberite opciju Internet Site kao opći tip za Postfix konfiguraciju i pritisnite tipku [enter] da nastavite, a zatim dodajte ime svoje domene u ime sistemske pošte, kao ilustrovano na sledećim snimcima ekrana.

Korak 3: Konfigurirajte Postfix Mail Server na Debianu

9. Zatim napravite sigurnosnu kopiju glavne konfiguracijske datoteke Postfix-a i konfigurirajte Postfix za svoju domenu korištenjem sljedećih naredbi.

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

Sada konfigurirajte Postfix konfiguraciju u datoteci main.cf kao što 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

Zamijenite varijable myhostname, mydomain i mynetworks da odgovaraju vašim vlastitim konfiguracijama.

Možete pokrenuti naredbu postconf -n kako biste izbrisali Postfix glavnu konfiguracijsku datoteku i provjerili eventualne greške, kao što je prikazano na slici ispod.

postconf -n

10. Nakon što sve konfiguracije budu postavljene, ponovo pokrenite Postfix demon da biste primijenili promjene i provjerili da li je usluga pokrenuta tako što ćete provjeriti da li je Postfix glavna usluga vezana za port 25 pokretanjem netstata komanda.

systemctl restart postfix
systemctl status postfix
netstat -tlpn

Korak 3: Testirajte Postfix Mail Server na Debianu

11. Da biste testirali da li postfix može podnijeti prijenos pošte, prvo instalirajte mailutils paket tako što ćete pokrenuti sljedeću naredbu.

apt-get install mailutils

12. Zatim, koristeći uslužni program mail komandne linije, pošaljite e-poštu na root račun i provjerite da li je pošta uspješno poslana izdavanjem donje naredbe kako biste provjerili red pošte i naveli sadržaj korijenskog računa home Maildir direktorij.

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

13. Također možete provjeriti na koji način je postfix servis obradio poštu tako što ćete pregledati sadržaj datoteke dnevnika pošte izdavanjem sljedeće naredbe.

tailf /var/log/mail.log

Korak 4: Instalirajte i konfigurirajte Dovecot IMAP na Debianu

14. Agent za isporuku pošte koji ćemo koristiti u ovom vodiču za isporuku e-poruka u poštanske sandučiće lokalnog primaoca je Dovecot IMAP. IMAP je protokol koji radi na 143 i 993 (SSL) portovima, koji je odgovoran za čitanje, brisanje ili premeštanje pošte preko više klijenata e-pošte.

IMAP protokol također koristi sinhronizaciju kako bi osigurao da se kopija svake poruke sačuva na serveru i omogućava korisnicima da kreiraju više direktorija na serveru i premještaju poštu u ove direktorije kako bi sortirali e-poštu.

Ovo nije slučaj sa POP3 protokolom. Protokol POP3 neće dozvoliti korisnicima da kreiraju više direktorija na serveru kako bi sortirali vašu poštu. Za upravljanje poštom imate samo folder prijemnog sandučeta.

Da instalirate Dovecot core server i Dovecot IMAP paket na Debian, izvedite sljedeću naredbu.

apt install dovecot-core dovecot-imapd

15. Nakon što je Dovecot instaliran u vaš sistem, otvorite dovecot datoteke za uređivanje i napravite sljedeće promjene. Prvo otvorite datoteku /etc/dovecot/dovecot.conf, pretražite i dekomentirajte sljedeći red:

listen = *, ::

16. Zatim otvorite /etc/dovecot/conf.d/10-auth.conf za uređivanje i locirajte i promijenite redove ispod da izgledaju kao u donjem izvodu.

disable_plaintext_auth = no
auth_mechanisms = plain login

17. Otvorite datoteku /etc/dovecot/conf.d/10-mail.conf i dodajte sljedeći red da koristite lokaciju Maildir umjesto Mbox format za pohranu e-pošte.

mail_location = maildir:~/Maildir

18. Posljednji fajl za uređivanje je /etc/dovecot/conf.d/10-master.conf. Ovdje potražite Postfix smtp-auth blok i napravite sljedeću promjenu:

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

19. Nakon što izvršite sve gore navedene promjene, ponovo pokrenite Dovecot demon da prikaže promjene, provjerite njegov status i provjerite da li je Dovecot vezan na portu 143, izdavanjem naredbi ispod.

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

20. Testirajte da li server e-pošte radi ispravno dodavanjem novog korisničkog naloga u sistem i koristite naredbu telnet ili netcat za povezivanje na SMTP server i pošaljite novu poštu novom dodanom korisniku, kao što je ilustrovano u odlomcima ispod.

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

21. Provjerite da li je pošta stigla u poštansko sanduče novog korisnika tako što ćete navesti sadržaj korisničkog kućnog direktorija kao što je prikazano na snimku ekrana ispod.

ls /home/test_mail/Maildir/new/

22. Također, možete se povezati sa korisničkim sandučetom iz komandne linije putem IMAP protokola, kao što je prikazano u donjem izvodu. Nova pošta bi trebala biti navedena u inboxu korisnika.

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

Korak 5: Instalirajte i konfigurirajte Webmail u Debianu

23. Korisnici će upravljati svojim emailovima putem klijenta Rainloop Webmail. Prije instaliranja Rainloop mail korisničkog agenta, prvo instalirajte Apache HTTP server i sljedeće PHP module koje zahtijeva Rainloop, izdavanjem sljedeće naredbe.

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

24. Nakon što je Apache web server instaliran, promijenite putanju direktorija u /var/www/html/ direktorij, uklonite datoteku index.html i izdajte sljedeću naredbu da biste instalirali Rainloop Webmail.

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

25. Nakon što je Rainloop Webmail klijent instaliran u sistem, idite na IP adresu vaše domene i prijavite se na Rainloop admin web interfejs sa sljedećim zadanim akreditivima:

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

26. Idite na meni Domene, pritisnite dugme Dodaj domenu i dodajte postavke imena vaše domene kao što je prikazano na slici ispod.

27. Nakon što završite sa dodavanjem postavki vaše domene, odjavite se iz Ranloop administratorskog interfejsa i usmjerite pretraživač na svoju IP adresu kako biste se prijavili na klijent web pošte s računom e-pošte.

Nakon što ste se uspješno prijavili na Rainloop webmail, trebali biste vidjeti e-poštu poslanu ranije iz komandne linije u vašu mapu Inbox.

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

27. Za dodavanje novog korisničkog problema useradd naredbu sa -m zastavicom kako bi se kreirao početni direktorij korisnika. Ali prvo provjerite jeste li konfigurirali varijablu putanje Maildir za svakog korisnika sljedećom naredbom.

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

28. Ako želite da preusmjerite svu rootovu e-poštu na određeni lokalni nalog e-pošte sa sistema, pokrenite donje naredbe. Svi mailovi preusmjereni ili namijenjeni root računu bit će proslijeđeni vašem mail korisniku kao što je prikazano na donjoj slici.

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

To je sve! Uspješno ste instalirali i konfigurirali mail server u svojim prostorijama kako bi lokalni korisnici mogli komunicirati putem e-pošte. Međutim, ova vrsta konfiguracije pošte nije osigurana ni na koji način i preporučljivo je da se implementira samo za male postavke u sistemima i mrežama pod vašom punom kontrolom.