Sakinisha Seva Kamili ya Barua na Postfix na Webmail katika Debian 9


Mafunzo haya yatakuongoza jinsi ya kusakinisha na kusanidi seva kamili ya barua na Postfix katika toleo la Debian 9. Pia itashughulikia jinsi ya kusanidi visanduku vya barua vya akaunti kwa kutumia Dovecot ili kupata na kutunga barua kupitia itifaki ya IMAP. Watumiaji watatumia kiolesura cha Rainloop Webmail kama wakala wa mtumiaji wa barua kushughulikia barua.

  1. Usakinishaji Mdogo wa Debian 9
  2. Anwani tuli ya IP iliyosanidiwa kwa kiolesura cha mtandao
  3. Jina la ndani au la kikoa lililosajiliwa na umma.

Katika somo hili tutatumia akaunti ya kikoa cha kibinafsi kwa usanidi wa seva ya barua iliyosanidiwa kupitia /etc/hosts faili pekee, bila seva yoyote ya DNS inayohusika katika kushughulikia azimio la DNS.

Hatua ya 1: Mipangilio ya Awali ya Seva ya Barua ya Postfix kwenye Debian

1. Katika hatua ya kwanza, ingia kwenye mashine yako ukitumia akaunti iliyo na haki za mizizi au moja kwa moja na mtumiaji wa mizizi na uhakikishe kuwa mfumo wako wa Debian umesasishwa na matoleo ya hivi punde ya usalama na matoleo ya programu na vifurushi, kwa kutoa amri ifuatayo.

# apt-get update 
# apt-get upgrade 

2. Katika hatua inayofuata sakinisha vifurushi vifuatavyo vya programu ambavyo vitatumika kwa utawala wa mfumo, kwa kutoa amri ifuatayo.

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

3. Kisha, fungua /etc/host.conf faili kwa ajili ya kuhaririwa na kihariri chako cha maandishi unachopenda na uongeze mstari ufuatao mwanzoni mwa faili ili azimio la DNS lisome faili ya majeshi kwanza.

order hosts,bind
multi on

4. Kisha, sanidi mashine yako ya FQDN na uongeze jina la kikoa chako na mfumo wako wa FQDN kwenye faili /etc/hosts. Tumia anwani ya IP ya mfumo wako kutatua jina la kikoa na FQDN kama inavyoonyeshwa kwenye picha ya skrini iliyo hapa chini.

Badilisha anwani ya IP na kikoa ipasavyo. Baadaye, fungua upya mashine ili kutumia jina la mwenyeji vizuri.

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

5. Baada ya kuwasha upya, thibitisha ikiwa jina la mpangishaji limesanidiwa kwa usahihi kwa kutoa mfululizo wa amri zifuatazo. Jina la kikoa, FQDN, jina la mwenyeji na anwani ya IP ya mfumo inapaswa kurejeshwa kwa amri ya jina la mpangishaji.

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

6. Pia, jaribu ikiwa kikoa kinajibu maswali ya karibu kwa usahihi kwa kutoa amri zilizo hapa chini. Fahamu kuwa kikoa hakitacheza tena kwa hoja za mbali zinazotolewa na mifumo mingine katika mtandao wako, kwa sababu hatutumii seva ya DNS.

Walakini, kikoa kinapaswa kujibu kutoka kwa mifumo mingine ikiwa utaongeza jina la kikoa kwa kila faili yao ya /etc/hosts. Pia, fahamu kuwa azimio la DNS la kikoa kilichoongezwa kwa faili ya /etc/hosts haitafanya kazi kupitia amri za kuchimba.

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

Hatua ya 2: Sakinisha Seva ya Barua ya Postfix kwenye Debian

7. Kipande muhimu zaidi cha programu kinachohitajika kwa seva ya barua kufanya kazi vizuri ni wakala wa MTA. MTA ni programu iliyojengwa katika usanifu wa mteja wa seva, ambayo inawajibika kwa uhamisho wa barua kati ya seva za barua.

Katika mwongozo huu tutatumia Postfix kama wakala wa kuhamisha barua. Ili kusakinisha postfix katika Debian kutoka kwa hazina rasmi tekeleza amri ifuatayo.

# apt-get install postfix

8. Wakati wa mchakato wa usakinishaji wa Postfix utaulizwa mfululizo wa maswali. Katika kidokezo cha kwanza, chagua chaguo la Tovuti ya Mtandao kama aina ya jumla ya usanidi wa Postfix na ubonyeze kitufe cha [ingiza] ili kuendelea na kisha uongeze jina la kikoa chako kwa jina la barua ya mfumo, kama inavyoonyeshwa kwenye picha za skrini zifuatazo.

Hatua ya 3: Sanidi Seva ya Barua ya Postfix kwenye Debian

9. Kisha, chelezo faili kuu ya usanidi ya Postfix na usanidi Postfix kwa kikoa chako kwa kutumia amri zifuatazo.

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

Sasa sanidi usanidi wa Postfix katika faili kuu.cf kama inavyoonyeshwa.

# 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

Badilisha jina la mwenyeji, kikoa na vigeu vya mynetworks ili kuendana na usanidi wako mwenyewe.

Unaweza kuendesha postconf -n amri ili kutupa faili kuu ya usanidi ya Postfix na uangalie makosa ya baadaye, kama inavyoonyeshwa kwenye picha ya skrini iliyo hapa chini.

# postconf -n

10. Baada ya usanidi wote kuwekwa, anzisha upya daemoni ya Postfix ili kutekeleza mabadiliko na uthibitishe ikiwa huduma inaendeshwa kwa kukagua ikiwa huduma kuu ya Postfix inashurutishwa kwenye mlango wa 25 kwa kutekeleza amri ya netstat.

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

Hatua ya 3: Jaribu Seva ya Barua ya Postfix kwenye Debian

11. Ili kujaribu kama postfix inaweza kushughulikia uhamishaji wa barua, kwanza sakinisha kifurushi cha barua pepe kwa kutekeleza amri ifuatayo.

# apt-get install mailutils

12. Kisha, ukitumia matumizi ya mstari wa amri ya barua, tuma barua kwa akaunti ya mizizi na uangalie ikiwa barua pepe ilitumwa kwa ufanisi kwa kutoa amri iliyo hapa chini ili kuangalia foleni ya barua na kuorodhesha maudhui ya saraka ya nyumbani ya Maildir ya mizizi.

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

13. Unaweza pia kuthibitisha ni kwa namna gani barua hiyo ilishughulikiwa na huduma ya postfix kwa kukagua maudhui ya faili ya kumbukumbu ya barua kwa kutoa amri ifuatayo.

# tailf /var/log/mail.log

Hatua ya 4: Sakinisha na Usanidi Dovecot IMAP kwenye Debian

14. Wakala wa uwasilishaji barua ambaye tutamtumia katika mwongozo huu kuwasilisha ujumbe wa barua pepe kwa visanduku vya barua vya mpokeaji wa ndani ni Dovecot IMAP. IMAP ni itifaki inayotumia bandari 143 na 993 (SSL), ambayo inawajibika kusoma, kufuta au kuhamisha barua pepe kwa wateja wengi wa barua pepe.

Itifaki ya IMAP pia hutumia ulandanishi ili kuhakikisha kuwa nakala ya kila ujumbe imehifadhiwa kwenye seva na inaruhusu watumiaji kuunda saraka nyingi kwenye seva na kuhamisha barua pepe kwenye saraka hizi ili kupanga barua pepe.

Hii sivyo ilivyo kwa itifaki ya POP3. Itifaki ya POP3 haitaruhusu watumiaji kuunda saraka nyingi kwenye seva ili kupanga barua zako. Una folda ya kikasha cha kudhibiti barua pekee.

Ili kusakinisha seva ya msingi ya Dovecot na kifurushi cha Dovecot IMAP kwenye Debian tekeleza amri ifuatayo.

# apt install dovecot-core dovecot-imapd

15. Baada ya Dovecot kusakinishwa katika mfumo wako, fungua faili za dovecot zilizo hapa chini kwa kuhaririwa na ufanye mabadiliko yafuatayo. Kwanza, fungua /etc/dovecot/dovecot.conf faili, tafuta na uondoe maoni kwenye mstari ufuatao:

listen = *, ::

16. Kisha, fungua /etc/dovecot/conf.d/10-auth.conf kwa kuhariri na kutafuta na kubadilisha mistari iliyo hapa chini ionekane kama katika dondoo lililo hapa chini.

disable_plaintext_auth = no
auth_mechanisms = plain login

17. Fungua faili ya /etc/dovecot/conf.d/10-mail.conf na uongeze laini ifuatayo ili kutumia eneo la Maildir badala ya umbizo la Mbox kuhifadhi barua pepe.

mail_location = maildir:~/Maildir

18. Faili ya mwisho ya kuhariri ni /etc/dovecot/conf.d/10-master.conf. Hapa tafuta Postfix smtp-auth block na ufanye mabadiliko yafuatayo:

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

19. Baada ya kufanya mabadiliko yote yaliyo hapo juu, anzisha upya daemon ya Dovecot ili kuonyesha mabadiliko, angalia hali yake na uthibitishe ikiwa Dovecot inashurutishwa kwenye port 143, kwa kutoa amri zilizo hapa chini.

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

20. Jaribu kama seva ya barua inaendesha ipasavyo kwa kuongeza akaunti mpya ya mtumiaji kwenye mfumo na utumie telnet au netcat amri kuunganisha kwenye seva ya SMTP na kutuma barua mpya kwa mtumiaji mpya aliyeongezwa, kama inavyoonyeshwa kwenye nukuu hapa chini.

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

21. Angalia ikiwa barua imefika kwa kisanduku cha barua cha mtumiaji mpya kwa kuorodhesha maudhui ya saraka ya nyumbani ya mtumiaji kama inavyoonyeshwa kwenye picha ya skrini iliyo hapa chini.

# ls /home/test_mail/Maildir/new/

22. Pia, unaweza kuunganisha kwenye kisanduku cha barua cha mtumiaji kutoka kwa mstari wa amri kupitia itifaki ya IMAP, kama inavyoonyeshwa katika dondoo hapa chini. Barua mpya inapaswa kuorodheshwa kwenye Kikasha cha mtumiaji.

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

Hatua ya 5: Sakinisha na Usanidi Barua pepe ya Wavuti katika Debian

23. Watumiaji watadhibiti barua pepe zao kupitia mteja wa Rainloop Webmail. Kabla ya kusakinisha wakala wa mtumiaji wa barua ya Rainloop, kwanza sakinisha seva ya Apache HTTP na moduli zifuatazo za PHP zinazohitajika na Rainloop, kwa kutoa amri ifuatayo.

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

24. Baada ya seva ya wavuti ya Apache kusakinishwa, badilisha njia ya saraka hadi /var/www/html/ saraka, ondoa faili ya index.html na toa amri ifuatayo ili kusakinisha Rainloop Webmail.

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

25. Baada ya mteja wa Rainloop Webmail kusakinishwa kwenye mfumo, nenda kwenye anwani ya IP ya kikoa chako na uingie kwenye kiolesura cha msimamizi wa wavuti cha Rainloop kwa vitambulisho chaguomsingi vifuatavyo:

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

26. Nenda kwenye menyu ya Vikoa, bonyeza kitufe cha Ongeza Kikoa na uongeze mipangilio ya jina la kikoa chako kama inavyoonyeshwa kwenye picha ya skrini iliyo hapa chini.

27. Baada ya kumaliza kuongeza mipangilio ya kikoa chako, ondoka kwenye kiolesura cha msimamizi wa Ranloop na uelekeze kivinjari kwenye anwani yako ya IP ili uingie kwa mteja wa barua pepe kwa kutumia akaunti ya barua pepe.

Baada ya kufanikiwa kuingia kwenye barua pepe ya Rainloop unapaswa kuona barua pepe iliyotumwa mapema kutoka kwa safu ya amri hadi kwenye folda ya Kikasha chako.

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

27. Kuongeza toleo jipya la mtumiaji amri ya useradd na alama ya -m ili kuunda saraka ya nyumbani ya mtumiaji. Lakini, kwanza hakikisha umesanidi utofauti wa njia ya Maildir kwa kila mtumiaji aliye na amri ifuatayo.

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

28. Ikiwa ungependa kuelekeza barua pepe zote za mizizi kwenye akaunti mahususi ya barua pepe kutoka kwa mfumo, endesha amri zilizo hapa chini. Barua zote zilizoelekezwa kwingine au zinazotumwa kwa akaunti ya msingi zitatumwa kwa mtumiaji wako wa barua kama inavyoonyeshwa kwenye picha iliyo hapa chini.

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

Ni hayo tu! Umefaulu kusakinisha na kusanidi seva ya barua katika eneo lako ili watumiaji wa ndani kuwasiliana kupitia barua pepe. Hata hivyo, aina hii ya usanidi wa barua haijalindwa kwa njia yoyote ile na inashauriwa kutumwa kwa usanidi mdogo tu katika mifumo na mitandao iliyo chini ya udhibiti wako kamili.