Debian 9-da Postfiks we Webmail bilen doly poçta serwerini guruň


Bu gollanma, Debian 9 goýberilişinde Postfix bilen doly poçta serwerini nädip gurmalydygyny we sazlamalydygyny görkezer. Şeýle hem, IMAP protokoly arkaly hatlary almak we ýazmak üçin Dovecot ulanyp, hasap poçta gutularyny nädip sazlamalydygyny öz içine alar. Ulanyjylar poçta dolandyrmak üçin “Rainloop Webmail” interfeýsini poçta ulanyjy agenti hökmünde ulanarlar.

  1. Debian 9 minimal gurnama
  2. Tor interfeýsi üçin düzülen statiki IP adresi
  3. aerli ýa-da köpçülige hasaba alnan domen ady.

Bu gollanmada diňe/etc/host faýly arkaly düzülen poçta serwerini gurmak üçin şahsy domen hasaby ulanarys, DNS çözgüdi bilen baglanyşykly DNS serweri bolmazdan.

1-nji ädim: Debian-da Postfiks poçta serweri üçin başlangyç konfigurasiýalar

1. Birinji ädimde, kök aýratynlyklary bolan ýa-da gönüden-göni kök ulanyjy bilen hasaby bilen enjamyňyza giriň we aşakdaky buýrugy bermek bilen Debian ulgamyňyzyň iň soňky howpsuzlyk programmalary we programma üpjünçiligi we paket goýberişleri bilen täzelenendigine göz ýetiriň.

# apt-get update 
# apt-get upgrade 

2. Indiki ädimde aşakdaky buýrugy bermek bilen ulgam dolandyryşy üçin ulanyljak aşakdaky programma üpjünçilik paketlerini guruň.

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

3. Ondan soň, halaýan tekst redaktoryňyz bilen redaktirlemek üçin /etc/host.conf faýly açyň we DNS çözgüdi başda host faýlyny okamak üçin faýlyň başynda aşakdaky setiri goşuň.

order hosts,bind
multi on

4. Ondan soň, enjamyňyzy FQDN guruň we domen adyňyzy we ulgamyňyzy FQDN/etc/host faýlyna goşuň. Aşakdaky skrinshotda görkezilişi ýaly domeniň we FQDN-iň adyny çözmek üçin ulgam IP adresiňizi ulanyň.

Şoňa görä IP adresi we domeni çalyşyň. Ondan soň, host adyny dogry ulanmak üçin enjamy täzeden açyň.

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

5. Gaýtadan açanyňyzdan soň, aşakdaky buýruklar seriýasyny bermek bilen, host adynyň dogry düzülendigini ýa-da ýokdugyny barlaň. Domen ady, FQDN, host ady we ulgamyň IP adresi host ady buýrugy bilen yzyna gaýtarylmaly.

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

6. Şeýle hem, domeniň aşakdaky buýruklary bermek bilen ýerli soraglara dogry jogap berýändigini barlaň. Domeniň toruňyzdaky beýleki ulgamlar tarapyndan berlen uzakdaky talaplara gaýtalanyp bilmejekdigine göz ýetiriň, sebäbi DNS serwerini ulanmaýarys.

Şeýle-de bolsa, domen adyny her/etc/host faýlyna el bilen goşsaňyz, domen beýleki ulgamlardan jogap bermeli. Şeýle hem,/etc/host faýlyna goşulan domen üçin DNS çözgüdi gazmak buýruklary arkaly işlemejekdigine göz ýetiriň.

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

2-nji ädim: Debian-da Postfiks poçta serwerini guruň

7. Poçta serweriniň kadaly işlemegi üçin zerur programma üpjünçiliginiň iň möhüm bölegi MTA agentidir. MTA serwer-müşderi arhitekturasynda gurlan programma üpjünçiligi, poçta serwerleriniň arasynda poçta geçirmek üçin jogapkärdir.

Bu gollanmada poçta geçiriş agenti hökmünde Postfiksi ulanarys. Resmi ammarlardan Debian-da postfiks gurmak üçin aşakdaky buýrugy ýerine ýetiriň.

# apt-get install postfix

8. “Postfix” -i gurnamak prosesinde size birnäçe sorag berler. Ilkinji haýyşda, Postfiks konfigurasiýasynyň umumy görnüşi hökmünde Internet Saýty opsiýasyny saýlaň we dowam etmek üçin [enter] düwmesini basyň we aşakdaky ekran suratlarynda görkezilişi ýaly domen adyňyzy ulgam poçta adyna goşuň.

3-nji ädim: Debian-da Postfiks poçta serwerini sazlaň

9. Ondan soň, “Postfix” esasy konfigurasiýa faýlyny ätiýaçlaň we aşakdaky buýruklary ulanyp, domeniňiz üçin “Postfix” -i düzüň.

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

Indi Postfix konfigurasiýasyny görkezilişi ýaly main.cf faýlynda düzüň.

# 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

Myhostname, mydomain we mynetworks üýtgeýjilerini öz konfigurasiýalaryňyza gabat getiriň.

Postfix esasy konfigurasiýa faýlyny taşlamak we aşakdaky skrinshotda görkezilişi ýaly ahyrky ýalňyşlyklary barlamak üçin postconf -n buýrugyny işledip bilersiňiz.

# postconf -n

10. allhli konfigurasiýalar ýerine ýetirilenden soň, üýtgeşmeleri ulanmak we Postfix baş hyzmatynyň netstat buýrugy bilen 25-nji portda hökmanydygyny ýa-da ýokdugyny barlamak üçin Postfix daemonyny täzeden açyň.

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

3-nji ädim: Debian-da Postfiks poçta serwerini synagdan geçiriň

11. Postfiksiň poçta geçirişini dolandyryp biljekdigini ýa-da ýokdugyny barlamak üçin ilki bilen aşakdaky buýrugy işledip poçta poçta bukjasyny guruň.

# apt-get install mailutils

12. Ondan soň, poçta buýruk setiriniň peýdalylygyny ulanyp, kök hasabyna poçta iberiň we poçta nobatyny barlamak we köküň öýi Maildir katalogynyň mazmunyny sanawlamak üçin aşakdaky buýrugy bermek arkaly poçta üstünlikli iberilendigini barlaň.

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

13. Şeýle hem, aşakdaky buýrugy bermek bilen poçta gündeliginiň faýlynyň mazmunyny barlamak arkaly poçta postfiks hyzmaty tarapyndan poçta bilen nähili işlenendigini barlap bilersiňiz.

# tailf /var/log/mail.log

4-nji ädim: Debian-da Dovecot IMAP-y guruň we sazlaň

14. e-poçta habarlaryny ýerli alyjynyň poçta gutusyna ibermek üçin şu gollanmada ulanjak poçta iberiş agentimiz Dovecot IMAP. IMAP 143 we 993 (SSL) portlarynda işleýän protokol bolup, birnäçe e-poçta müşderisiniň üsti bilen hatlary okamak, pozmak ýa-da geçirmek üçin jogapkärdir.

IMAP teswirnamasy, her habaryň bir nusgasynyň serwerde saklanýandygyna we ulanyjylara serwerde birnäçe katalog döretmäge we e-poçtalary tertiplemek üçin hatlary bu kataloglara geçirmäge mümkinçilik bermek üçin sinhronizasiýany ulanýar.

POP3 teswirnamasynda beýle däl. POP3 protokoly ulanyjylara poçtaňyzy tertiplemek üçin serwerde birnäçe katalog döretmäge mümkinçilik bermez. Poçta dolandyrmak üçin diňe poçta bukjasy bar.

Dovecot ýadro serwerini we Dovecot IMAP paketini Debian-a gurmak üçin aşakdaky buýrugy ýerine ýetiriň.

# apt install dovecot-core dovecot-imapd

15. “Dovecot” ulgamyňyzda gurlansoň, redaktirlemek üçin aşakdaky kepderi faýllaryny açyň we aşakdaky üýtgeşmeleri giriziň. Ilki bilen /etc/dovecot/dovecot.conf faýly açyň, aşakdaky setiri gözläň we açyň:

listen = *, ::

16. Ondan soň aşakdaky setirleri redaktirlemek we tapmak we aşakdaky böleklere meňzeş görnüşde üýtgetmek üçin /etc/dovecot/conf.d/10-auth.conf açyň.

disable_plaintext_auth = no
auth_mechanisms = plain login

17. /etc/dovecot/conf.d/10-mail.conf faýly açyň we e-poçtalary saklamak üçin Mbox formatynyň ýerine Maildir ýerleşýän ýerini ulanmak üçin aşakdaky setiri goşuň.

mail_location = maildir:~/Maildir

18. Redaktirlemeli iň soňky faýl /etc/dovecot/conf.d/10-master.conf. Bu ýerde Postfix smtp-auth blokyny gözläň we aşakdaky üýtgeşmeleri giriziň:

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

19. aboveokardaky üýtgeşmeleriň hemmesini edeniňizden soň, üýtgeşmeleri görkezmek, ýagdaýyny barlamak we Dovecot-yň 143-nji portda hökmanydygyny ýa-da ýokdugyny anyklamak üçin Dovecot daemonyny täzeden açyň.

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

20. Poçta serweriniň sistema täze ulanyjy hasaby goşmak bilen dogry işleýändigini ýa-da SMTP serwerine birikmek we aşakdaky böleklerde görkezilişi ýaly täze goşulan ulanyja täze poçta ibermek üçin telnet ýa-da netcat buýrugyny ulanyp barlaň.

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

21. Aşakdaky skrinshotda görkezilişi ýaly, ulanyjynyň öý bukjasynyň mazmunyny görkezip, täze ulanyjy poçta gutusyna poçta gelendigini ýa-da ýokdugyny barlaň.

# ls /home/test_mail/Maildir/new/

22. Şeýle hem, aşakdaky bölekde görkezilişi ýaly, IMAP protokoly arkaly buýruk setirinden ulanyjynyň poçta gutusyna birigip bilersiňiz. Täze poçta ulanyjynyň bukjasynda görkezilmelidir.

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

5-nji ädim: Web sahypasyny Debian-da guruň we sazlaň

23. Ulanyjylar e-poçtalaryny “Rainloop Webmail” müşderisi arkaly dolandyrarlar. “Rainloop” poçta ulanyjy agentini gurmazdan ozal, aşakdaky buýrugy bermek bilen ilki bilen Apache HTTP serwerini we Rainloop tarapyndan talap edilýän aşakdaky PHP modullaryny guruň.

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

24. Apache web serweri gurlandan soň, katalog ýoluny/var/www/html/bukjasyna üýtgediň, index.html faýly aýyryň we Rainloop Webmail gurmak üçin aşakdaky buýrugy beriň.

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

25. “Rainloop Webmail” müşderisi ulgamda gurlansoň, domen IP adresiňize geçiň we aşakdaky deslapky şahsyýetnamalary bilen “Rainloop” administrator web interfeýsine giriň:

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

26. Domenler menýusyna geçiň, Domen goşmak düwmesine basyň we aşakdaky skrinshotda görkezilişi ýaly domen adyňyzyň sazlamalaryny goşuň.

27. Domen sazlamalaryňyzy goşanyňyzdan soň, Ranloop administrator interfeýsinden çykyň we e-poçta hasaby bilen web poçta müşderisine girmek üçin brauzeri IP adresiňize görkeziň.

“Rainloop” web sahypasyna üstünlikli gireniňizden soň, buýruk setirinden Gelýän bukjanyňyza iberilen e-poçta görmeli.

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

27. Ulanyjynyň öý bukjasyny döretmek üçin -m baýdagy bilen useradd buýrugyny goşmak. Emma, ilki bilen aşakdaky buýruk bilen her ulanyjy üçin Maildir ýol üýtgeýjisini düzýändigiňize göz ýetiriň.

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

28. roothli kök e-poçtalaryny ulgamdan belli bir ýerli poçta hasabyna gönükdirmek isleseňiz, aşakdaky buýruklary işlediň. Kök hasaby ugrukdyrylan ýa-da ugrukdyrylan ähli hatlar aşakdaky suratda görkezilişi ýaly poçta ulanyjyňyza iberiler.

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

Bu hemmesi! Userserli ulanyjylaryň e-poçta arkaly habarlaşmagy üçin jaýyňyzda poçta serwerini üstünlikli gurnadyňyz we düzdüňiz. Şeýle-de bolsa, poçta konfigurasiýasynyň bu görnüşi hiç hili ygtybarly däl we diňe doly gözegçilik astyndaky ulgamlarda we torlarda kiçi gurnamalar üçin ýerleşdirilmegi maslahat berilýär.