Debian 9 instalējiet pilnu pasta serveri ar Postfix un Webmail
Šī apmācība palīdzēs jums instalēt un konfigurēt pilnu pasta serveri ar Postfix Debian 9 laidienā. Tas aptvers arī to, kā konfigurēt kontu pastkastes, izmantojot Dovecot, lai izgūtu un sastādītu vēstules, izmantojot IMAP protokolu. Lietotāji izmantos Rainloop Webmail saskarni kā pasta lietotāju aģentu, lai apstrādātu pastu.
- Debian 9 minimālā instalēšana
- statiska IP adrese, kas konfigurēta tīkla saskarnei
- vietējs vai publiski reģistrēts domēna vārds.
Šajā apmācībā mēs izmantosim privātu domēna kontu pasta servera iestatīšanai, kas konfigurēts tikai ar/etc/hosts failu, bez DNS servera, kas iesaistīts DNS izšķirtspējas apstrādē.
1. solis: Sākotnējās Postfix pasta servera konfigurācijas pakalpojumā Debian
1. Pirmajā solī piesakieties savā datorā ar kontu ar root tiesībām vai tieši ar root lietotāju un pārliecinieties, vai jūsu Debian sistēma ir atjaunināta ar jaunākajiem drošības ielāpiem, programmatūras un pakotņu laidieniem, izsniedzot šādu komandu.
# apt-get update # apt-get upgrade
2. Nākamajā solī instalējiet šādas programmatūras paketes, kas tiks izmantotas sistēmas administrēšanai, izsniedzot šādu komandu.
# apt-get install curl net-tools bash-completion wget lsof nano
3. Pēc tam atveriet /etc/host.conf failu rediģēšanai ar iecienītāko teksta redaktoru un faila sākumā pievienojiet šādu rindu, lai DNS izšķirtspēja vispirms varētu nolasīt resursdatora failu.
order hosts,bind multi on
4. Pēc tam iestatiet iekārtas FQDN un pievienojiet savu domēna vārdu un sistēmas FQDN failam/etc/hosts. Izmantojiet savas sistēmas IP adresi, lai atrisinātu domēna un FQDN nosaukumu, kā parādīts zemāk redzamajā ekrānuzņēmumā.
Attiecīgi nomainiet IP adresi un domēnu. Pēc tam restartējiet mašīnu, lai pareizi lietotu resursdatora nosaukumu.
# hostnamectl set-hostname mail.linux-console.net # echo "192.168.0.102 linux-console.net mail.linux-console.net" >> /etc/hosts # init 6
5. Pēc pārstartēšanas pārbaudiet, vai resursdatora nosaukums ir pareizi konfigurēts, izsniedzot šādas komandu sērijas. Domēna nosaukums, FQDN, resursdatora nosaukums un sistēmas IP adrese jāatgriež ar komandu hostname.
# hostname # hostname -s # hostname -f # hostname -A # hostname -i # cat /etc/hostname
6. Pārbaudiet arī to, vai domēns pareizi atbild uz vietējiem jautājumiem, izsniedzot tālāk norādītās komandas. Ņemiet vērā, ka domēns neatkārtosies uz attāliem vaicājumiem, kurus izsniedz citas jūsu tīkla sistēmas, jo mēs neizmantojam DNS serveri.
Tomēr domēnam vajadzētu atbildēt no citām sistēmām, ja manuāli pievienojat domēna nosaukumu katram no viņu failiem/etc/hosts. Turklāt ņemiet vērā, ka domēna, kas pievienots failam/etc/hosts, DNS izšķirtspēja nedarbosies, izmantojot dig komandas.
# getent ahosts mail.linux-console.net # ping linux-console.net # ping mail.linux-console.net
2. darbība: instalējiet Postfix pasta serveri vietnē Debian
7. Vissvarīgākā programmatūra, kas nepieciešama pasta servera pareizai darbībai, ir MTA aģents. MTA ir servera-klienta arhitektūrā iebūvēta programmatūra, kas ir atbildīga par pasta pārsūtīšanu starp pasta serveriem.
Šajā rokasgrāmatā mēs izmantosim Postfix kā pasta pārsūtīšanas aģentu. Lai instalētu Postfix Debian no oficiālajiem krātuvēm, izpildiet šādu komandu.
# apt-get install postfix
8. Postfix instalēšanas laikā jums tiks uzdoti vairāki jautājumi. Pirmajā uzvednē kā vispārīgu Postfix konfigurācijas veidu atlasiet opciju Interneta vietne un nospiediet taustiņu [Enter], lai turpinātu, un pēc tam pievienojiet sava domēna vārdu sistēmas pasta nosaukumam, kā parādīts turpmākajos ekrānuzņēmumos.
3. darbība: konfigurējiet Postfix pasta serveri pakalpojumā Debian
9. Pēc tam dublējiet Postfix galveno konfigurācijas failu un konfigurējiet Postfix savam domēnam, izmantojot šādas komandas.
# cp /etc/postfix/main.cf{,.backup} # nano /etc/postfix/main.cf
Tagad konfigurējiet Postfix konfigurāciju failā main.cf, kā parādīts.
# 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
Nomainiet mainīgos myhostname, mydomain un mynetworks, lai tie atbilstu jūsu pašu konfigurācijām.
Varat palaist komandu postconf -n, lai izgāztu Postfix galveno konfigurācijas failu un pārbaudītu iespējamās kļūdas, kā parādīts zemāk esošajā ekrānuzņēmumā.
# postconf -n
10. Kad visas konfigurācijas ir ieviestas, restartējiet Postfix dēmonu, lai lietotu izmaiņas un pārbaudītu, vai pakalpojums darbojas, pārbaudot, vai Postfix galvenais pakalpojums ir saistošs 25. portam, palaižot komandu netstat.
# systemctl restart postfix # systemctl status postfix # netstat -tlpn
3. darbība: pārbaudiet Postfix pasta serveri vietnē Debian
11. Lai pārbaudītu, vai postfix spēj apstrādāt pasta pārsūtīšanu, vispirms instalējiet mailutils pakotni, izpildot šādu komandu.
# apt-get install mailutils
12. Pēc tam, izmantojot pasta komandrindas utilītu, nosūtiet e-pastu uz saknes kontu un pārbaudiet, vai pasts ir veiksmīgi nosūtīts, izsniedzot tālāk norādīto komandu, lai pārbaudītu pasta rindu un uzskaitītu saknes mājas Maildir direktorija saturu.
# echo "mail body"| mail -s "test mail" root # mailq # mail # ls Maildir/ # ls Maildir/new/ # cat Maildir/new/[TAB]
13. Varat arī pārbaudīt, kādā veidā pasts tika apstrādāts ar postfix pakalpojumu, pārbaudot pasta žurnāla faila saturu, izdodot šādu komandu.
# tailf /var/log/mail.log
4. darbība: instalējiet un konfigurējiet Dovecot IMAP vietnē Debian
14. Pasta piegādes aģents, kuru mēs izmantosim šajā ceļvedī, lai piegādātu e-pasta ziņojumus vietējā saņēmēja pastkastēs, ir Dovecot IMAP. IMAP ir protokols, kas darbojas 143 un 993 (SSL) portos, un tas ir atbildīgs par e-pastu lasīšanu, dzēšanu vai pārvietošanu vairākos e-pasta klientos.
IMAP protokols izmanto arī sinhronizāciju, lai pārliecinātos, ka katra ziņojuma kopija tiek saglabāta serverī, un ļauj lietotājiem serverī izveidot vairākus direktorijus un pārvietot vēstules uz šiem direktorijiem, lai kārtotu e-pastus.
POP3 protokola gadījumā tas nav. POP3 protokols neļaus lietotājiem serverī izveidot vairākus direktorijus, lai kārtotu jūsu vēstules. Lai pārvaldītu pastu, jums ir tikai iesūtnes mape.
Lai Debian instalētu Dovecot galveno serveri un Dovecot IMAP pakotni, izpildiet šo komandu.
# apt install dovecot-core dovecot-imapd
15. Pēc tam, kad Dovecot ir instalēts jūsu sistēmā, rediģēšanai atveriet zemāk redzamos dovecot failus un veiciet šādas izmaiņas. Vispirms atveriet failu /etc/dovecot/dovecot.conf, meklējiet un noņemiet komentāru šajā rindā:
listen = *, ::
16. Pēc tam rediģēšanai atveriet /etc/dovecot/conf.d/10-auth.conf un atrodiet un mainiet zemāk redzamās rindas, lai tās izskatītos zemāk esošajā fragmentā.
disable_plaintext_auth = no auth_mechanisms = plain login
17. Atveriet failu /etc/dovecot/conf.d/10-mail.conf un pievienojiet šo rindu, lai e-pastu glabāšanai Mbox formāta vietā izmantotu Maildir atrašanās vietu.
mail_location = maildir:~/Maildir
18. Pēdējais rediģējamais fails ir /etc/dovecot/conf.d/10-master.conf. Šeit meklējiet bloku Postfix smtp-auth un veiciet šādas izmaiņas:
# Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix }
19. Pēc visu iepriekš minēto izmaiņu veikšanas restartējiet Dovecot dēmonu, lai atspoguļotu izmaiņas, pārbaudītu tā statusu un pārbaudītu, vai Dovecot ir saistošs 143. portam, izsniedzot tālāk norādītās komandas.
# systemctl restart dovecot.service # systemctl status dovecot.service # netstat -tlpn
20. Pārbaudiet, vai pasta serveris darbojas pareizi, pievienojot sistēmai jaunu lietotāja kontu, un izmantojiet komandu telnet vai netcat, lai izveidotu savienojumu ar SMTP serveri un nosūtītu jaunu pastu jaunam pievienotajam lietotājam, kā parādīts zemāk esošajos fragmentos.
# adduser matie # nc localhost 25 # ehlo localhost mail from: root rcpt to: matie data subject: test Mail body . quit
21. Pārbaudiet, vai pasts ir nonācis jaunajā lietotāja pastkastē, norādot lietotāja mājas direktorija saturu, kā parādīts zemāk esošajā ekrānuzņēmumā.
# ls /home/test_mail/Maildir/new/
22. Jūs varat arī izveidot savienojumu ar lietotāja pastkasti no komandrindas, izmantojot IMAP protokolu, kā parādīts zemāk esošajā fragmentā. Jaunajam pastam jābūt norādītam lietotāja iesūtnē.
# nc localhost 143 x1 LOGIN matie user_password x2 LIST "" "*" x3 SELECT Inbox x4 LOGOUT
5. darbība: Instalējiet un konfigurējiet Webmail pakalpojumā Debian
23. Lietotāji pārvaldīs savus e-pastus, izmantojot Rainloop Webmail klientu. Pirms Rainloop pasta lietotāja aģenta instalēšanas vispirms instalējiet Apache HTTP serveri un šādus PHP moduļus, kas nepieciešami Rainloop, izsniedzot šādu komandu.
# apt install apache2 php7.0 libapache2-mod-php7.0 php7.0-curl php7.0-xml
24. Pēc Apache tīmekļa servera instalēšanas nomainiet direktorijas ceļu uz/var/www/html/directory, noņemiet failu index.html un izdodiet šādu komandu, lai instalētu Rainloop Webmail.
# cd /var/www/html/ # rm index.html # curl -sL https://repository.rainloop.net/installer.php | php
25. Kad Rainloop Webmail klients ir instalēts sistēmā, dodieties uz sava domēna IP adresi un piesakieties Rainloop administratora tīmekļa saskarnē, izmantojot šādus noklusējuma akreditācijas datus:
http://192.168.0.102/?admin User: admin Password: 12345
26. Pārejiet uz izvēlni Domēni, nospiediet pogu Pievienot domēnu un pievienojiet sava domēna vārda iestatījumus, kā parādīts zemāk esošajā ekrānuzņēmumā.
27. Kad esat pabeidzis pievienot savus domēna iestatījumus, izrakstieties no Ranloop administratora saskarnes un norādiet pārlūkprogrammai uz savu IP adresi, lai pieteiktos tīmekļa pasta klientā ar e-pasta kontu.
Kad esat veiksmīgi pieteicies Rainloop tīmekļa pastā, mapē Iesūtne jums vajadzētu redzēt e-pastu, kas iepriekš tika nosūtīts no komandrindas.
http://192.168.0.102 User: [email Pass: the matie password
27. Lai izveidotu lietotāja mājas direktoriju, pievienojiet jaunu lietotāja izdošanas komandu useradd ar karodziņu -m
. Bet vispirms pārliecinieties, ka esat konfigurējis Maildir ceļa mainīgo katram lietotājam ar šādu komandu.
# echo 'export MAIL=$HOME/Maildir' >> /etc/profile # useradd -m user3 # passwd user3
28. Ja vēlaties visas saknes e-pasta adreses no sistēmas novirzīt uz noteiktu vietējo pasta kontu, izpildiet tālāk norādītās komandas. Visas vēstules, kas novirzītas uz root kontu, tiks pārsūtītas jūsu pasta lietotājam, kā parādīts zemāk esošajā attēlā.
# echo "root: test_mail" >> /etc/aliases # newaliases
Tas ir viss! Jūs esat veiksmīgi instalējis un konfigurējis pasta serveri savās telpās, lai vietējie lietotāji varētu sazināties pa e-pastu. Tomēr šāda veida pasta konfigurācija nav nodrošināta nekādā veidā, un ieteicams to izvietot tikai nelieliem iestatījumiem sistēmās un tīklos, kurus pilnībā kontrolējat.