Weboldal keresés

Telepítsen egy komplett levelezőkiszolgálót Postfix és Webmail segítségével a Debian 9 rendszerben


Ez az oktatóanyag végigvezeti Önt, hogyan telepíthet és konfigurálhat egy teljes levelezőszervert a Postfix segítségével a Debian 9 kiadásban. Azt is ismerteti, hogyan kell konfigurálni a fiókok postaládáit a Dovecot használatával az IMAP protokollon keresztüli levelek lekérése és összeállítása érdekében. A felhasználók a Rainloop Webmail felületet használják levelezési felhasználói ügynökként a levelek kezelésére.

Követelmények

  1. Debian 9 minimális telepítés
  2. A hálózati interfészhez konfigurált statikus IP-cím
  3. Helyi vagy nyilvánosan bejegyzett domain név.

Ebben az oktatóanyagban privát domain fiókot fogunk használni a levelezőszerver beállításához, amelyet csak az /etc/hosts fájlon keresztül konfigurálunk, anélkül, hogy a DNS-feloldás kezelésében részt vevő DNS-kiszolgálók vennének részt.

1. lépés: A Postfix Mail Server kezdeti beállításai a Debian rendszeren

1. Első lépésben jelentkezzen be a gépére root jogosultságokkal rendelkező fiókkal vagy közvetlenül a root felhasználóval, és győződjön meg arról, hogy a Debian rendszer naprakész a legújabb biztonsági javításokkal, szoftver- és csomagkiadásokkal , a következő parancs kiadásával.

apt-get update 
apt-get upgrade 

2. A következő lépésben telepítse a rendszeradminisztrációhoz használt következő szoftvercsomagokat a következő parancs kiadásával.

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

3. Ezután nyissa meg az /etc/host.conf fájlt szerkesztéshez kedvenc szövegszerkesztőjével, és adja hozzá a következő sort a fájl elejéhez a DNS-feloldás érdekében először olvassa el a hosts fájlt.

order hosts,bind
multi on

4. Ezután állítsa be a gép FQDN-jét, és adja hozzá a domain nevét és a rendszer FQDN-jét az /etc/hosts fájlhoz. Használja a rendszer IP-címét a tartomány és az FQDN nevének feloldásához az alábbi képernyőképen látható módon.

Cserélje le az IP-címet és a tartományt ennek megfelelően. Ezután indítsa újra a gépet a gazdagépnév megfelelő alkalmazásához.

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

5. Az újraindítás után ellenőrizze, hogy a gazdanév megfelelően van-e konfigurálva az alábbi parancsok kibocsátásával. A hostname parancsnak vissza kell adnia a tartománynevet, az FQDN-t, a gazdagép nevét és a rendszer IP-címét.

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

6. Ezenkívül ellenőrizze, hogy a tartomány helyesen válaszol-e a helyi lekérdezésekre az alábbi parancsok kiadásával. Ügyeljen arra, hogy a domain nem játssza le újra a hálózat más rendszerei által kiadott távoli lekérdezéseket, mert nem használunk DNS-kiszolgálót.

A tartománynak azonban válaszolnia kell más rendszerekről, ha manuálisan adja hozzá a tartománynevet az egyes /etc/hosts fájlokhoz. Ne feledje továbbá, hogy az /etc/hosts fájlhoz hozzáadott domain DNS-feloldása nem működik host, nslookup vagy dig parancsokkal.

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

2. lépés: Telepítse a Postfix Mail Servert a Debianra

7. A levelezőszerver megfelelő működéséhez szükséges legfontosabb szoftver az MTA ügynök. Az MTA egy szerver-kliens architektúrába épített szoftver, amely a levelezőszerverek közötti levéltovábbításért felelős.

Ebben az útmutatóban a Postfix-et használjuk levéltovábbítási ügynökként. A postfix telepítéséhez a Debian hivatalos tárolókból hajtsa végre a következő parancsot.

apt-get install postfix

8. A Postfix telepítési folyamata során kérdéseket kell feltenni. Az első promptban válassza ki az Internet Site opciót a Postfix konfiguráció általános típusaként, majd nyomja meg az [enter] billentyűt a folytatáshoz, majd adja hozzá a domain nevét a rendszer levelezési nevéhez, mint a következő képernyőképeken látható.

3. lépés: A Postfix Mail Server konfigurálása a Debian rendszeren

9. Ezután készítsen biztonsági másolatot a Postfix fő konfigurációs fájljáról, és állítsa be a Postfixet a domainhez a következő parancsok segítségével.

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

Most állítsa be a Postfix konfigurációt a main.cf fájlban az ábra szerint.

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

Cserélje le a myhostname, mydomain és mynetworks változókat, hogy megfeleljenek saját konfigurációinak.

A postconf -n parancs futtatásával kiírhatja a Postfix fő konfigurációs fájlját, és ellenőrizheti az esetleges hibákat, amint az az alábbi képernyőképen látható.

postconf -n

10. Miután minden konfiguráció a helyén van, indítsa újra a Postfix démont a változtatások alkalmazásához, és ellenőrizze, hogy a szolgáltatás fut-e. Ehhez ellenőrizze, hogy a Postfix főszolgáltatás kötődik-e a 25-ös porthoz a netstat futtatásával. parancs.

systemctl restart postfix
systemctl status postfix
netstat -tlpn

3. lépés: A Postfix Mail Server tesztelése a Debian rendszeren

11. Annak teszteléséhez, hogy a Postfix képes-e kezelni a levéltovábbítást, először telepítse a mailutils csomagot a következő parancs futtatásával.

apt-get install mailutils

12. Ezután a mail parancssori segédprogrammal küldjön egy levelet a root fióknak, és ellenőrizze, hogy a levelek továbbítása sikeres volt-e az alábbi paranccsal, hogy ellenőrizze a levelezőlistát, és listázza ki a root fiók tartalmát. home Maildir könyvtár.

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

13. Azt is ellenőrizheti, hogy a postfix szolgáltatás milyen módon kezelte a leveleket, ha megvizsgálja a naplófájl tartalmát a következő parancs kiadásával.

tailf /var/log/mail.log

4. lépés: Telepítse és konfigurálja a Dovecot IMAP-ot a Debian rendszeren

14. Ebben az útmutatóban az e-mail üzenetek helyi címzett postaládájába történő kézbesítésére használt levélkézbesítési ügynök a Dovecot IMAP. Az IMAP egy olyan protokoll, amely 143 és 993 (SSL) portokon fut, és amely felelős az olvasásért, törlésért vagy levelek mozgatása több e-mail kliens között.

Az IMAP-protokoll szinkronizálást is használ annak biztosítására, hogy minden üzenet egy példányát elmentse a kiszolgálón, és lehetővé teszi a felhasználók számára, hogy több könyvtárat hozzanak létre a kiszolgálón, és e-maileket helyezzenek át ebbe a könyvtárba az e-mailek rendezéséhez.

Ez nem így van a POP3 protokoll esetében. A POP3 protokoll nem teszi lehetővé a felhasználók számára, hogy több könyvtárat hozzanak létre a szerveren a levelek rendezéséhez. Csak a beérkezett üzenetek mappája van a levelek kezeléséhez.

A Dovecot magkiszolgáló és a Dovecot IMAP csomag Debianra történő telepítéséhez hajtsa végre a következő parancsot.

apt install dovecot-core dovecot-imapd

15. Miután a Dovecot telepítése megtörtént a rendszerben, nyissa meg az alábbi dovecot fájlokat szerkesztésre, és hajtsa végre a következő módosításokat. Először nyissa meg az /etc/dovecot/dovecot.conf fájlt, keressen, és törölje a megjegyzéseket a következő sorból:

listen = *, ::

16. Ezután nyissa meg a /etc/dovecot/conf.d/10-auth.conf fájlt szerkesztéshez, és keresse meg és módosítsa az alábbi sorokat, hogy úgy nézzenek ki, mint az alábbi kivonatban.

disable_plaintext_auth = no
auth_mechanisms = plain login

17. Nyissa meg az /etc/dovecot/conf.d/10-mail.conf fájlt, és adja hozzá a következő sort a Maildir hely használatához ahelyett Mbox formátumban tárolhatja az e-maileket.

mail_location = maildir:~/Maildir

18. Az utolsó szerkeszteni kívánt fájl a következő: /etc/dovecot/conf.d/10-master.conf. Itt keresse meg a Postfix smtp-auth blokkot, és hajtsa végre a következő módosítást:

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

19. Miután elvégezte a fenti módosításokat, indítsa újra a Dovecot démont, hogy tükrözze a változásokat, ellenőrizze az állapotát, és ellenőrizze, hogy a Dovecot kötődik-e a 143-as porthoz, az alábbi parancsok kiadásával.

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

20. Tesztelje, hogy a levelezőszerver megfelelően működik-e új felhasználói fiók hozzáadásával a rendszerhez, és a telnet vagy a netcat paranccsal csatlakozzon a SMTP-kiszolgálót, és küldjön egy új levelet az új hozzáadott felhasználónak az alábbi szemelvények szerint.

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

21. Ellenőrizze, hogy a levél megérkezett-e az új felhasználói postafiókba. Ehhez adja meg a felhasználó kezdőkönyvtárának tartalmát az alábbi képernyőképen látható módon.

ls /home/test_mail/Maildir/new/

22. Ezenkívül parancssorból is csatlakozhat a felhasználó postafiókjához IMAP protokollon keresztül, az alábbi kivonat szerint. Az új leveleknek szerepelniük kell a felhasználó Beérkezett üzenetek mappájában.

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

5. lépés: Telepítse és konfigurálja a Webmailt a Debianban

23. A felhasználók a Rainloop Webmail kliensen keresztül kezelhetik e-maileiket. A Rainloop mail felhasználói ügynök telepítése előtt először telepítse az Apache HTTP szervert és a Rainloop által igényelt következő PHP modulokat a következő parancs kiadásával.

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

24. Az Apache webszerver telepítése után módosítsa a könyvtár elérési útját /var/www/html/ könyvtárra, és távolítsa el az index.html fájlt és adja ki a következő parancsot a Rainloop Webmail telepítéséhez.

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

25. Miután a Rainloop Webmail kliens telepítve lett a rendszerben, navigáljon a domain IP-címére, és jelentkezzen be a Rainloop adminisztrátori webes felületére a következő alapértelmezett hitelesítő adatokkal:

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

26. Lépjen a Domainek menübe, nyomja meg a Domain hozzáadása gombot, és adja meg a domain név beállításait az alábbi képernyőképen látható módon.

27. Miután befejezte a domainbeállítások hozzáadását, jelentkezzen ki a Ranloop adminisztrációs felületéről, és mutasson a böngészőben az Ön IP-címére, hogy e-mail fiókkal jelentkezzen be a webmail kliensbe.

Miután sikeresen bejelentkezett a Rainloop webmailbe, látnia kell a parancssorból korábban küldött e-mailt a Beérkezett üzenetek mappájában.

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

27. Új felhasználói probléma hozzáadása useradd parancshoz -m kapcsolóval a felhasználói kezdőkönyvtár létrehozása érdekében. De először győződjön meg arról, hogy minden felhasználó számára beállította a Maildir elérési út változóját a következő paranccsal.

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

28. Ha át szeretné irányítani a root összes e-mailjét egy adott helyi e-mail fiókba a rendszerből, futtassa az alábbi parancsokat. Az alábbi képen látható módon minden root fiókba átirányított vagy címzett levelet továbbítunk az Ön levelező felhasználójának.

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

Ez minden! Sikeresen telepített és konfigurált egy levelezőkiszolgálót a telephelyén, hogy a helyi felhasználók e-mailben kommunikáljanak egymással. Az ilyen típusú levelezési konfiguráció azonban semmilyen módon nem védett, és csak az Ön teljes irányítása alatt álló rendszerekben és hálózatokban célszerű csak kis telepítésekhez telepíteni.