Vytvoreni mail serveru

<small>Z PVwiki</small>

V tomto návodě se pokusím napsat jak si udělat vlastní mailový server na platformě Linux. V mém případě se jedná o systém Debian GNU/Linux. Obecný postup bude shodný pro všechny distribuce.

Samozřejmě aby vše fungovalo jak má musí existovat MX záznam na dns serveru.

V první řadě si nainstalujeme potřebné balíčky Postfix a Dovecot.

apt-get install postfix dovecot-common


Kde jsou jaké konfigurační soubory:

 seznam domén                       /etc/postfix/vdomains
 seznam adres                       /etc/postfix/vmailboxes
 seznam aliasů                      /etc/postfix/valiases
 konfigurační soubor Postfix        /etc/postfix/main.cf
 konfigurační soubor Dovecot        /etc/dovecot/dovecot.conf
 adresář pro uložení pošty          /var/spool/mail
 log činnosti Postfixu i Dovecotu   /var/log/mail


Konfigurace SMTP serveru

Domény jsou uloženy v /etc/postfix/vdomains

 mojedomena1.cz      mojedomena1.cz
 mojedomena2.eu      mojedomena2

Do prvního sloupce zadáváme název naší domény a do druhého libovolný text něco tam bít ale musí.

Po jakékoli změně vždy zadáme příkaz:

 postmap /etc/postfix/vdomains

Pomocí tohoto příkazu vytvoříme textovou databázi ze které pak čte postfix.

Po příkazu postmap není třeba restartovat postfix.

Jsou dva způsoby jak ukládat poštu buď pomocí mailbox (všechna pošta uložena v jednom souboru) nebo mailbox (každá správa v samostatném souboru)

Seznam všech poštovních adres je uložen v /etc/postfix/vmailboxes

Tvar pro maildir:

 josef@mojedomena1.eu    josef@mojedomena1.eu/
 emil@mojedomena2.eu     emil@mojedomena2.eu/

Tvar pro maibox:

 josef@mojedomena1.eu    josef@mojedomena1.eu
 emil@mojedomena2.eu     emil@mojedomena2.eu

V prvním sloupci je uvedena mailová adresa a druhém kam se má pošta ukládat u mailboxu soubor a u maildir adresář.

A Znovu po každé změně musíme provést postmap.

 postmap /etc/postfix/vmailboxes

Poštovní aliasy (přezdívky) jsou v souboru /etc/postfix/valiases:

 honza@mojedomena1.eu     josef@mojedomena1.eu
 beda@mojedomena2.eu     emil@mojedomena2.eu, emil@jinam.cz

V prvním sloupci je mailová adresa pro která bude přesměrována na adresy v druhém sloupci.

A znovu se musí požít příkaz postmap.

 postmap /etc/postfix/valiases

Do stávajícího konfiguračního souboru Postfixu /etc/postfix/main.cf je nutné přidat:

 virtual_transport = virtual
 virtual_minimum_uid = 51
 virtual_uid_maps = static:51
 virtual_gid_maps = static:51
 virtual_mailbox_base = /var/spool/mail
 virtual_mailbox_domains = hash:/etc/postfix/vdomains
 virtual_mailbox_maps = hash:/etc/postfix/vmailboxes
 virtual_alias_maps = hash:/etc/postfix/valiases

UID a GID Postfixu zjistíte v /etc/passwd

Po jakékoliv změně v konfiguračním souboru je nutné vždy znovu načíst konfiguraci pro Postfix:

 /etc/init.d/postfix reload


IMAP a POP3 server

Nejprve vytvoříme soubor /etc/dovecot/passwd, kde jsou uložena hesla pro jednotlivé virtuální uživatele.

 josef@mojedomena1.eu:{CRYPT}BCv7THiBNBses
 emil@mojedomena2.eu:{CRYPT}BCs7HHjINBses

V prvním sloupci je název schránky (totéž, co je ve druhém sloupci souboru vmailboxes). Druhý sloupec, oddělený dvojtečkou, obsahuje typ kódování (uzavřený ve složených závorkách) a zakódované heslo. Soubor musí končit prázdným řádkem.

Heslo ve formátu CRYPT získáme pomocí:

 honzapv:~# /usr/sbin/dovecotpw -s crypt
 Enter new password:
 Retype new password:
 {CRYPT}BCv7THiBNBses
 honzapv:~#

Minimální konfigurační soubor Dovecotu /etc/dovecot/dovecot.conf pak vypadá například takto:

 protocols = pop3 imap
 ssl_disable = yes
 disable_plaintext_auth = no
 mail_location = maildir:/var/spool/mail/%u
 pop3_uidl_format = %08Xu%08Xv
 first_valid_uid = 51
 first_valid_gid = 51
 last_valid_uid = 51
 last_valid_gid = 51
 auth_verbose = yes
 auth default {
   mechanisms = plain
   passdb passwd-file {
     args = /etc/dovecot/passwd
   }
   userdb static {
     args = uid=51 gid=51
   }
 }

Případně upravíme pro maibox řádek mail_location na:

 mail_location = mbox::INBOX=/var/spool/mail/%u:INDEX=MEMORY

UID a GID Postfixu zjistíte v /etc/passwd

Na závěr restartujeme Dovecot:

 /etc/init.d/dovecot reload


Převzato s Linuxzone.cz a upraveno pro použití v Debian GNU/Linux.

Externí odkazy

Osobní nástroje