Asenna täydellinen postipalvelin, jossa on Postfix ja Webmail, Debian 9: een
Tämä opetusohjelma opastaa sinua asentamaan ja määrittämään kokonaisen sähköpostipalvelimen Postfix-ohjelmalla Debian 9 -julkaisussa. Siinä käsitellään myös sitä, miten tilien postilaatikot määritetään Dovecot-sovelluksella sähköpostien hakemiseksi ja kirjoittamiseksi IMAP-protokollan kautta. Käyttäjät käyttävät Rainloop Webmail -rajapintaa postin käyttäjäagenttina postin käsittelyyn.
- Debian 9: n vähäinen asennus
- Staattinen IP-osoite, joka on määritetty verkkoliittymälle
- Paikallinen tai julkisesti rekisteröity verkkotunnus.
Tässä opetusohjelmassa käytämme yksityistä verkkotunnustiliä sähköpostipalvelimen asetuksiin, jotka on määritetty vain/etc/hosts-tiedoston kautta, ilman DNS-palvelinta, joka käsittelisi DNS-tarkkuutta.
Vaihe 1: Postfix-postipalvelimen alustavat määritykset Debianissa
1. Kirjaudu sisään ensimmäisessä vaiheessa koneellesi pääkäyttäjätilillä tai suoraan pääkäyttäjän kanssa ja varmista, että Debian-järjestelmäsi on ajan tasalla uusimmista tietoturvakorjauksista sekä ohjelmistoista ja paketeista julkaisemalla seuraavan komennon.
# apt-get update # apt-get upgrade
2. Asenna seuraavassa vaiheessa seuraavat järjestelmän hallintaan käytettävät ohjelmistopaketit antamalla seuraava komento.
# apt-get install curl net-tools bash-completion wget lsof nano
3. Seuraavaksi avaa /etc/host.conf-tiedosto muokkausta varten suosikkitekstieditorilla ja lisää seuraava rivi tiedoston alkuun, jotta DNS-tarkkuus lukee ensin isäntätiedoston.
order hosts,bind multi on
4. Määritä seuraavaksi koneesi FQDN ja lisää verkkotunnuksesi ja järjestelmän FQDN/etc/hosts-tiedostoon. Käytä järjestelmän IP-osoitetta ratkaistaksesi verkkotunnuksen ja FQDN: n nimen alla olevan kuvakaappauksen mukaisesti.
Korvaa IP-osoite ja toimialue vastaavasti. Käynnistä kone sitten uudestaan, jotta isäntänimi voidaan käyttää oikein.
# hostnamectl set-hostname mail.linux-console.net # echo "192.168.0.102 linux-console.net mail.linux-console.net" >> /etc/hosts # init 6
5. Tarkista uudelleenkäynnistyksen jälkeen, onko isäntänimi määritetty oikein antamalla seuraavat komentosarjat. Verkkotunnus, FQDN, isäntänimi ja järjestelmän IP-osoite tulee palauttaa isäntäkomennolla.
# hostname # hostname -s # hostname -f # hostname -A # hostname -i # cat /etc/hostname
6. Testaa myös, vastaako toimialue oikein paikallisiin kyselyihin antamalla alla olevat komennot. Huomaa, että verkkotunnus ei toista verkon muiden järjestelmien lähettämiä etäkyselyjä, koska emme käytä DNS-palvelinta.
Verkkotunnuksen tulisi kuitenkin vastata muista järjestelmistä, jos lisäät toimialueen nimen manuaalisesti kuhunkin/etc/hosts-tiedostoon. Huomaa myös, että/etc/hosts-tiedostoon lisätyn verkkotunnuksen DNS-tarkkuus ei toimi kaivakomennoilla.
# getent ahosts mail.linux-console.net # ping linux-console.net # ping mail.linux-console.net
Vaihe 2: Asenna Postfix Mail Server Debianiin
7. Tärkein ohjelmisto, jota tarvitaan sähköpostipalvelimen moitteettomaan toimintaan, on MTA-agentti. MTA on palvelin-asiakasarkkitehtuuriin rakennettu ohjelmisto, joka vastaa postinsiirrosta postipalvelinten välillä.
Tässä oppaassa käytämme Postfixia postinsiirtoagenttina. Asenna postfix Debianiin virallisista arkistoista suorittamalla seuraava komento.
# apt-get install postfix
8. Postfixin asennuksen aikana sinulle kysytään joukko kysymyksiä. Valitse ensimmäisestä kehotteesta Internet-sivustovaihtoehto Postfix-kokoonpanon yleiseksi tyypiksi ja jatka painamalla [enter] -näppäintä ja lisää sitten verkkotunnuksesi järjestelmän sähköpostiosoitteeseen seuraavien kuvakaappausten mukaisesti.
Vaihe 3: Määritä Postfix-postipalvelin Debianissa
9. Seuraavaksi varmuuskopioi Postfixin pääasetustiedosto ja määritä Postfix toimialueellesi seuraavilla komennoilla.
# cp /etc/postfix/main.cf{,.backup} # nano /etc/postfix/main.cf
Määritä nyt Postfix-määritykset main.cf-tiedostossa kuvan osoittamalla tavalla.
# 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
Korvaa myhostname, mydomain ja mynetworks -muuttujat vastaamaan omia kokoonpanojasi.
Voit suorittaa postconf -n -komennon Postfix-päämääritystiedoston tyhjentämiseksi ja mahdollisten virheiden tarkistamiseksi, kuten alla olevassa kuvakaappauksessa näkyy.
# postconf -n
10. Kun kaikki kokoonpanot ovat paikallaan, käynnistä Postfix-daemon uudelleen ja ota muutokset käyttöön ja tarkista, toimiiko palvelu tarkistamalla, sitooko Postfix-pääpalvelu porttia 25 suorittamalla netstat-komennon.
# systemctl restart postfix # systemctl status postfix # netstat -tlpn
Vaihe 3: Testaa Postfix-postipalvelinta Debianissa
11. Jotta voit testata, pystyykö postfix käsittelemään postinsiirtoa, asenna ensin mailutils-paketti suorittamalla seuraava komento.
# apt-get install mailutils
12. Seuraavaksi, lähetä sähköposti komentorivin apuohjelman avulla, lähetä sähköposti juuritilille ja tarkista, lähetetäänkö posti onnistuneesti lähettämällä alla oleva komento, jotta voit tarkistaa postijonon ja luetella juuren koti-Maildir-hakemiston sisällön.
# echo "mail body"| mail -s "test mail" root # mailq # mail # ls Maildir/ # ls Maildir/new/ # cat Maildir/new/[TAB]
13. Voit myös tarkistaa, millä tavoin postia käsiteltiin postfix-palvelulla, tarkastamalla postilokitiedoston sisältö antamalla seuraava komento.
# tailf /var/log/mail.log
Vaihe 4: Asenna ja määritä Dovecot IMAP Debianiin
14. Postinjakeluagentti, jota käytämme tässä oppaassa lähettämään sähköpostiviestejä paikallisen vastaanottajan postilaatikoihin, on Dovecot IMAP. IMAP on protokolla, joka toimii 143- ja 993 (SSL) -portteilla ja joka on vastuussa sähköpostin lukemisesta, poistamisesta tai siirtämisestä useille sähköpostiohjelmille.
IMAP-protokolla käyttää myös synkronointia varmistaakseen, että kopio jokaisesta viestistä tallennetaan palvelimelle, ja antaa käyttäjille mahdollisuuden luoda palvelimelle useita hakemistoja ja siirtää sähköpostia tähän hakemistoon sähköpostien lajittelemiseksi.
Näin ei ole POP3-protokollan kanssa. POP3-protokolla ei salli käyttäjien luoda palvelimelle useita hakemistoja lajittelemaan postisi. Sinulla on postilaatikon kansio vain postin hallintaan.
Asenna Dovecot-ydinpalvelin ja Dovecot IMAP -paketti Debianiin suorittamalla seuraava komento.
# apt install dovecot-core dovecot-imapd
15. Kun Dovecot on asennettu järjestelmään, avaa alla olevat dovecot-tiedostot muokkausta varten ja tee seuraavat muutokset. Avaa ensin /etc/dovecot/dovecot.conf -tiedosto, etsi ja poista seuraava rivi:
listen = *, ::
16. Avaa seuraavaksi /etc/dovecot/conf.d/10-auth.conf muokkausta varten ja etsi ja muuta alla olevat rivit näyttämään alla olevasta otteesta.
disable_plaintext_auth = no auth_mechanisms = plain login
17. Avaa /etc/dovecot/conf.d/10-mail.conf -tiedosto ja lisää seuraava rivi käyttääksesi Maildir-sijaintia Mbox-muodon sijaan sähköpostien tallentamiseen.
mail_location = maildir:~/Maildir
18. Viimeinen muokattava tiedosto on /etc/dovecot/conf.d/10-master.conf. Täällä etsi Postfix smtp-auth-lohko ja tee seuraava muutos:
# Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix }
19. Kun olet tehnyt kaikki yllä olevat muutokset, käynnistä Dovecot-demoni uudelleen vastaamaan muutoksia, tarkista sen tila ja varmista, että Dovecot sitoo porttia 143 antamalla alla olevat komennot.
# systemctl restart dovecot.service # systemctl status dovecot.service # netstat -tlpn
20. Testaa, toimiiko postipalvelin oikein, lisäämällä uusi käyttäjätili järjestelmään ja muodosta yhteys SMTP-palvelimeen ja lähetä uusi viesti uudelle lisätylle käyttäjälle telnet- tai netcat-komennon avulla alla olevien otteiden mukaisesti.
# adduser matie # nc localhost 25 # ehlo localhost mail from: root rcpt to: matie data subject: test Mail body . quit
21. Tarkista, onko posti saapunut uuteen käyttäjän postilaatikkoon, lisäämällä käyttäjän kotihakemiston sisältö alla olevan kuvakaappauksen mukaisesti.
# ls /home/test_mail/Maildir/new/
22. Voit myös muodostaa yhteyden käyttäjän postilaatikkoon komentoriviltä IMAP-protokollan kautta, kuten alla olevassa otteessa näkyy. Uuden postin pitäisi näkyä käyttäjän postilaatikossa.
# nc localhost 143 x1 LOGIN matie user_password x2 LIST "" "*" x3 SELECT Inbox x4 LOGOUT
Vaihe 5: Asenna ja määritä Webmail Debianissa
23. Käyttäjät hallitsevat sähköpostejaan Rainloop Webmail -asiakasohjelman kautta. Ennen kuin asennat Rainloop-sähköposti-käyttäjäagentin, asenna ensin Apache HTTP -palvelin ja seuraavat Rainloopin edellyttämät PHP-moduulit antamalla seuraava komento.
# apt install apache2 php7.0 libapache2-mod-php7.0 php7.0-curl php7.0-xml
24. Kun Apache-verkkopalvelin on asennettu, vaihda hakemistopolku tiedostoon/var/www/html/hakemisto, poista index.html-tiedosto ja anna seuraava komento Rainloop Webmailin asentamiseksi.
# cd /var/www/html/ # rm index.html # curl -sL https://repository.rainloop.net/installer.php | php
25. Kun Rainloop Webmail -asiakasohjelma on asennettu järjestelmään, siirry toimialueen IP-osoitteeseen ja kirjaudu Rainloop-järjestelmänvalvojan web-käyttöliittymään seuraavilla oletustiedoilla:
http://192.168.0.102/?admin User: admin Password: 12345
26. Siirry Domains-valikkoon, paina Add Domain -painiketta ja lisää verkkotunnuksesi asetukset alla olevan kuvakaappauksen mukaisesti.
27. Kun olet lisännyt verkkotunnuksen asetukset, kirjaudu ulos Ranloop-järjestelmänvalvojan käyttöliittymästä ja osoita selain IP-osoitteeseesi, jotta voit kirjautua sisään sähköpostiohjelmaan sähköpostitilillä.
Kun olet kirjautunut onnistuneesti Rainloop-webmailiin, sinun pitäisi nähdä aiemmin komentoriviltä lähetetty sähköposti Saapuneet-kansioon.
http://192.168.0.102 User: [email Pass: the matie password
27. Voit lisätä uuden käyttäjän ongelman useradd -komennon -m
-lipulla käyttäjän kotihakemiston luomiseksi. Varmista kuitenkin ensin, että määrität jokaiselle käyttäjälle Maildir-polun muuttujan seuraavalla komennolla.
# echo 'export MAIL=$HOME/Maildir' >> /etc/profile # useradd -m user3 # passwd user3
28. Jos haluat ohjata kaikki juuren sähköpostit tiettyyn paikalliseen sähköpostitiliin järjestelmästä, suorita alla olevat komennot. Kaikki juuritilille uudelleenohjatut tai lähetetyt sähköpostit välitetään sähköpostin käyttäjälle alla olevan kuvan mukaisesti.
# echo "root: test_mail" >> /etc/aliases # newaliases
Siinä kaikki! Olet asentanut ja konfiguroinut postipalvelimen tiloihisi onnistuneesti, jotta paikalliset käyttäjät voivat kommunikoida sähköpostin kautta. Tämän tyyppisiä postimääritelmiä ei kuitenkaan ole suojattu millään tavalla, ja on suositeltavaa ottaa käyttöön vain pienet kokoonpanot järjestelmissä ja verkoissa täysin hallinnassasi.