Vyhledávání na webu

Nainstalujte kompletní poštovní server s Postfixem a webovou poštou v Debianu 9


Tento tutoriál vás provede instalací a konfigurací kompletního poštovního serveru s Postfixem ve verzi Debian 9. Také se bude zabývat tím, jak nakonfigurovat poštovní schránky účtů pomocí Dovecot za účelem načítání a psaní e-mailů prostřednictvím protokolu IMAP. Uživatelé budou používat rozhraní Rainloop Webmail jako poštovního uživatelského agenta pro zpracování pošty.

Požadavky

  1. Minimální instalace Debianu 9
  2. Statická adresa IP nakonfigurovaná pro síťové rozhraní
  3. Místní nebo veřejné registrované doménové jméno.

V tomto tutoriálu použijeme účet privátní domény pro nastavení poštovního serveru nakonfigurovaného pouze pomocí souboru /etc/hosts, aniž by se do překladu DNS zapojoval jakýkoli server DNS.

Krok 1: Počáteční konfigurace poštovního serveru Postfix v Debianu

1. V prvním kroku se přihlaste ke svému počítači pomocí účtu s právy root nebo přímo s uživatelem root a ujistěte se, že váš systém Debian je aktuální s nejnovějšími bezpečnostními záplatami a verzemi softwaru a balíčků , zadáním následujícího příkazu.

apt-get update 
apt-get upgrade 

2. V dalším kroku nainstalujte následující softwarové balíčky, které budou použity pro správu systému, zadáním následujícího příkazu.

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

3. Dále otevřete soubor /etc/host.conf pro úpravy pomocí vašeho oblíbeného textového editoru a přidejte na začátek souboru následující řádek, aby se rozlišení DNS nejprve si přečtěte soubor hosts.

order hosts,bind
multi on

4. Dále nastavte FQDN vašeho počítače a přidejte název vaší domény a váš systémový FQDN do souboru /etc/hosts. Použijte svou systémovou IP adresu k překladu názvu domény a FQDN, jak je znázorněno na níže uvedeném snímku obrazovky.

Podle toho nahraďte IP adresu a doménu. Poté restartujte počítač, aby bylo možné správně použít název hostitele.

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

5. Po restartu ověřte, zda byl hostname správně nakonfigurován zadáním následující řady příkazů. Název domény, FQDN, název hostitele a adresa IP systému by měly být vráceny příkazem hostname.

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

6. Vydáním níže uvedených příkazů také vyzkoušejte, zda doména správně odpovídá na místní dotazy. Uvědomte si, že doména nebude přehrávat vzdálené dotazy zadané jinými systémy ve vaší síti, protože nepoužíváme server DNS.

Doména by však měla odpovědět z jiných systémů, pokud ručně přidáte název domény do každého z jejich souborů /etc/hosts. Mějte také na paměti, že překlad DNS pro doménu přidanou do souboru /etc/hosts nebude fungovat pomocí příkazů host, nslookup nebo dig.

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

Krok 2: Nainstalujte Postfix Mail Server na Debian

7. Nejdůležitějším softwarem potřebným pro správné fungování poštovního serveru je agent MTA. MTA je software postavený na architektuře server-klient, který je zodpovědný za přenos pošty mezi poštovními servery.

V této příručce budeme jako agenta pro přenos pošty používat Postfix. Chcete-li nainstalovat postfix v Debianu z oficiálních repozitářů, spusťte následující příkaz.

apt-get install postfix

8. Během procesu instalace Postfix budete dotázáni na řadu otázek. Na první výzvě vyberte možnost Internet Site jako obecný typ pro konfiguraci Postfixu a pokračujte stisknutím klávesy [enter] a poté přidejte název své domény k názvu systémové pošty, jako znázorněno na následujících snímcích obrazovky.

Krok 3: Nakonfigurujte poštovní server Postfix v Debianu

9. Dále zálohujte hlavní konfigurační soubor Postfixu a nakonfigurujte Postfix pro vaši doménu pomocí následujících příkazů.

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

Nyní nakonfigurujte konfiguraci Postfixu v souboru main.cf podle obrázku.

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

Nahraďte proměnné myhostname, mydomain a mynetworks tak, aby odpovídaly vašim vlastním konfiguracím.

Můžete spustit příkaz postconf -n, abyste vypsali hlavní konfigurační soubor Postfixu a zkontrolovali případné chyby, jak ukazuje níže uvedený snímek obrazovky.

postconf -n

10. Po dokončení všech konfigurací restartujte démona Postfixu, abyste aplikovali změny, a ověřte, zda služba běží tím, že zkontrolujete, zda se hlavní služba Postfixu váže na port 25 spuštěním netstat příkaz.

systemctl restart postfix
systemctl status postfix
netstat -tlpn

Krok 3: Otestujte Postfix Mail Server na Debianu

11. Chcete-li otestovat, zda postfix zvládne přenos pošty, nejprve nainstalujte balíček mailutils spuštěním následujícího příkazu.

apt-get install mailutils

12. Dále pomocí nástroje příkazového řádku pošty odešlete poštu na účet root a zkontrolujte, zda byla pošta úspěšně přenesena, zadáním níže uvedeného příkazu, abyste mohli zkontrolovat frontu pošty a uvést obsah kořenového účtu domovský adresář Maildir.

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

13. Můžete také ověřit, jakým způsobem byla pošta zpracována službou postfix, zkontrolováním obsahu souboru protokolu pošty zadáním následujícího příkazu.

tailf /var/log/mail.log

Krok 4: Nainstalujte a nakonfigurujte Dovecot IMAP na Debianu

14. Agent pro doručování pošty, kterého budeme v této příručce používat k doručování e-mailových zpráv do poštovních schránek místního příjemce, je Dovecot IMAP. IMAP je protokol běžící na 143 a 993 (SSL) portech, který zodpovídá za čtení, mazání nebo přesouvání pošty přes více e-mailových klientů.

Protokol IMAP také používá synchronizaci, aby bylo zajištěno, že kopie každé zprávy bude uložena na serveru a umožňuje uživatelům vytvářet více adresářů na serveru a přesouvat e-maily do těchto adresářů za účelem třídění e-mailů.

To není případ protokolu POP3. Protokol POP3 neumožňuje uživatelům vytvářet na serveru více adresářů pro třídění pošty. Ke správě pošty máte pouze složku doručené pošty.

Chcete-li nainstalovat hlavní server Dovecot a balíček Dovecot IMAP na Debian, proveďte následující příkaz.

apt install dovecot-core dovecot-imapd

15. Po instalaci Dovecotu do vašeho systému otevřete níže uvedené soubory holubníku pro úpravy a proveďte následující změny. Nejprve otevřete soubor /etc/dovecot/dovecot.conf, vyhledejte a odkomentujte následující řádek:

listen = *, ::

16. Dále otevřete /etc/dovecot/conf.d/10-auth.conf pro úpravy a vyhledejte a změňte řádky níže tak, aby vypadaly jako v úryvku níže.

disable_plaintext_auth = no
auth_mechanisms = plain login

17. Otevřete soubor /etc/dovecot/conf.d/10-mail.conf a přidejte následující řádek, abyste místo umístění použili umístění Maildir Formát Mbox pro ukládání e-mailů.

mail_location = maildir:~/Maildir

18. Poslední soubor k úpravě je /etc/dovecot/conf.d/10-master.conf. Zde vyhledejte blok Postfixu smtp-auth a proveďte následující změnu:

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

19. Po provedení všech výše uvedených změn restartujte démona Dovecot, aby se změny projevily, zkontrolujte jeho stav a ověřte, zda se Dovecot váže na port 143, zadáním níže uvedených příkazů.

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

20. Otestujte, zda poštovní server funguje správně přidáním nového uživatelského účtu do systému a pomocí příkazu telnet nebo netcat se připojte k SMTP a odešlete nový e-mail novému přidanému uživateli, jak je znázorněno na níže uvedených výňatcích.

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

21. Zkontrolujte, zda pošta dorazila do poštovní schránky nového uživatele, uvedením obsahu domovského adresáře uživatele, jak je znázorněno na níže uvedeném snímku obrazovky.

ls /home/test_mail/Maildir/new/

22. K poštovní schránce uživatele se také můžete připojit z příkazového řádku prostřednictvím protokolu IMAP, jak je znázorněno na níže uvedeném úryvku. Nová pošta by měla být uvedena ve složce Doručená pošta uživatele.

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

Krok 5: Nainstalujte a nakonfigurujte webovou poštu v Debianu

23. Uživatelé budou spravovat své e-maily prostřednictvím klienta Rainloop Webmail. Před instalací poštovního uživatelského agenta Rainloop nejprve nainstalujte server Apache HTTP a následující moduly PHP vyžadované Rainloop zadáním následujícího příkazu.

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

24. Po instalaci webového serveru Apache změňte cestu k adresáři na adresář /var/www/html/, odstraňte soubor index.html a zadejte následující příkaz, abyste mohli nainstalovat Rainloop Webmail.

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

25. Po instalaci klienta Rainloop Webmail do systému přejděte na IP adresu vaší domény a přihlaste se do webového rozhraní správce Rainloop s následujícími výchozími přihlašovacími údaji:

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

26. Přejděte do nabídky Domény, stiskněte tlačítko Přidat doménu a přidejte nastavení názvu domény, jak je znázorněno na níže uvedeném snímku obrazovky.

27. Po dokončení přidávání nastavení domény se odhlaste z administrátorského rozhraní Ranloop a nasměrujte prohlížeč na svou IP adresu, abyste se mohli přihlásit do webového poštovního klienta pomocí e-mailového účtu.

Po úspěšném přihlášení k webové poště Rainloop byste měli vidět e-mail odeslaný dříve z příkazového řádku do složky Doručená pošta.

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

27. Chcete-li přidat nový problém uživatele, použijte příkaz useradd s příznakem -m za účelem vytvoření domovského adresáře uživatele. Nejprve se však ujistěte, že jste pomocí následujícího příkazu nakonfigurovali proměnnou cesty Maildir pro každého uživatele.

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

28. Pokud chcete ze systému přesměrovat všechny e-maily uživatele root na konkrétní místní poštovní účet, spusťte níže uvedené příkazy. Všechny e-maily přesměrované nebo určené na účet root budou předány vašemu uživateli pošty, jak je znázorněno na obrázku níže.

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

To je vše! Úspěšně jste nainstalovali a nakonfigurovali poštovní server ve vašem areálu, aby místní uživatelé mohli komunikovat prostřednictvím e-mailů. Tento typ konfigurace pošty však není nijak zabezpečen a je vhodné jej nasadit pouze pro malá nastavení v systémech a sítích pod vaší plnou kontrolou.