PSK3-20

Název školy: Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3
Autor: Ing. Marek Nožka
Anotace: Instalace a nastavení poštovního serveru Postfix
Vzdělávací oblast: Informační a komunikační technologie
Předmět: Počítačové sítě a komunikační technika (PSK)
Tematická oblast: Operační systém Linux/Unix
Výsledky vzdělávání: Žák provede instalaci a základní nastavení poštovního serveru Postfix
Klíčová slova: Linux, Unix, Postfix, SMTP, poštovní server
Druh učebního materiálu: Online návod pro samostatnou práci
Typ vzdělávání: Střední vzdělávání, 4. ročník, technické lyceum
Ověřeno: VOŠ a SPŠE Olomouc; Třída: 4L
Zdroj: Vlastní poznámky, Vilém Vychodil: Linux Příručka českého uživatele

Malý poštovní server I

Instalace

Programů, které fungují jako tzv. Mail Transfer Agent je celá řada. Jeden s nejlepších a nejvíce nasazovaných je Postfix.

# aptitude install postfix bsd-mailx

Postfix ale nestačí. Ten se postará pouze o odeslání zprávy pomocí protokolu SMTP, o příjem zprávy od jiného MTA a uložení zprávy do lokální e-mailové schránky.

Aby si uživatel mohl zprávu přečíst, potřebuje si ze své poštovní schránky zprávu nějak vybrat. K tomu slouží protokoly POP3 a IMAP4. V našem případě se o komunikaci pomocí těchto protokolů bude starat program Dovecot.

# aptitude install dovecot-imapd dovecot-pop3d

Základní nastavení programu Postfix

Konfigurace se provádí v souborech /etc/postfix/main.cf a /etc/postfix/master.cf. master.cf definuje vnitřní strukturu Postfixu, proto do něj nebudeme zasahovat. Veškerá nastavení budeme provádět v main.cf

myhostname = nozka.lab.spseol.cz
mydomain = $myhostname
myorigin = $mydomain

mydestination = localhost, $mydomain

alias_maps = hash:/etc/aliases
alias_database = $alias_maps

mynetworks = 172.16.0.0/16 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

home_mailbox = Maildir/

### 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
myhostname
plné hostitelské jméno počítače na kterém Postfix běží
mydomain
doména, ve které se nachází počítač na kterém Postfix běží
myorigin
doména, kterou Postfix přiřadí odesilateli, který nemá v adrese část za zavináčem.
mydestination
je seznam domén, pro které bude Postfix akceptovat příchozí zprávy
mynetworks
je to seznam IP adres s sítí, pro které mi Postfix dovolí odeslat zprávy do domén neuvedených v mydestination.
home_mailbox
je adresář v domovském adresáři uživatele, který bude sloužit jako e-mailová schránka. Je důležité i / na konci. Pokud tam je jsou zprávy ukládány ve formátu Maildir, pokud tam není jsou zprávy ukládány do formátu MBOX.

Další hodnoty můžeme ponechat tak, jak byly přednastaveny.

Po uložení konfigurace je třeba ji znovu načíst:

# service postfix reload

případně

# service postfix restart

Schránka

Každý máme na našem serveru vytvořený nějaký uživatelský účet. Ten bude zapsán před zavináčem. Například já mám vytvořen uživatelský účet marek a ten bude mít adresu marek@nozka.lab.spseol.cz.

Pokud uživatelský účet chcete vytvořit můžete použít příkaz adduser.

# adduser franta

Kontrola funkčnosti

# tail /var/log/mail.log

# tree /home/marek/Maildir

Aliases

Postfix umožňuje nastavit tzv. aliasy v souboru /etc/aliases.

# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root

# pošta do schránky root se přesměruje do schránky marek
root: marek

# schránka tux se přesměruje do schránky marek
# a zároveň se přepošle na adresu jinej@ggmaail.com
tux: marek, jinej@ggmaail.com

`--> stáhnout

Slouží k tomu volba alias_maps v souboru /etc/postfix/main.cf.

alias_maps = hash:/etc/aliases

Poštovní server ale tento soubor nepoužívá přímo. To by bylo příliš pomalé. Před použitím poštovním serverem je nutné ho "zkompilovat" do formy databázového souboru (na disku má potom příponu .db). K tomu slouží příkaz postalias a newaliases. My budeme používat ten druhý. Nejprve v main.cf nastavíme, kterých souborů si má program všímat…

alias_database = $alias_maps

… a potom při každé změně v /etc/alias provedeme rebuild databáze.

# newaliases

Nastavení programu Dovecot

Nastavení se provádí v souboru /etc/dovecot/dovecot.conf.

K výchozímu nastavení budeme přidávat velice málo. Nejdůležitější je asi toto:

protocols = imap imaps pop3 pop3s

disable_plaintext_auth = no

mail_location = maildir:~/Maildir

mail_privileged_group = mail

protocol imap {
}

protocol pop3 {
    pop3_uidl_format = %08Xu%08Xv
}

protocol managesieve {
}
auth default {
    mechanisms = plain
    passdb pam {
    }
    userdb passwd {
    }
    user = root
}
dict {
}
plugin {
}

Vše je ve výchozí konfiguraci. Jen je třeba nastavit mail_location, aby Dovecot věděl, kde má hledat poštovní schránky. Volba disable_plaintext_auth představuje jisté bezpečnostní riziko, ale pro testování se hodí. Umožňuje totiž aby se uživatelé hlásili i bez použití šifrování.

WebMail

Jeden z kvalitních kvalitních OpenSource webmailů je SquirrelMail.

# aptitude install squirrelmail

Po instalaci je třeba jej propojit s webovým serverem. Náš oblíbený Debian už má vše nachystáno, takže stačí udělat jeden symlink.

# ln -s  /etc/squirrelmail/apache.conf /etc/apache2/sites-enabled/squirrelmail

Abychom komunikaci s WebMailem zabezpečili pomocí SSL/TLS přidáme do konfigurace Apache mod_ssl.

# cd /etc/apache2/mods-enabled
# ln -s ../mods-available/ssl.load 
# ln -s ../mods-available/ssl.conf    

# cd /etc/apache2/sites-enabled 
# ln -s ../sites-available/default-ssl

Konfigurační soubory jsou hezky předchystány a v první chvíli není potřebné nic měnit. Ale pokud chcete přijít věcem na kloub a naučit se víc než kopírovat příkazy je vhodné je přinejmenším otevřít a podívat se, co v nich je.

Nezapomeňte znovu načíst konfiguraci webového serveru -- dělali jsme tam přece změny!


Odkazy