Stavba nového mailserveru, část první

14. února 2008 v 19:38 | PaulMan |  Počítadla
Pokusím se zdokumentovat skládání nového poštovního serveru.

Sestavení kompletního mailserveru není triviální záležitost a aspoň za sebe můžu říci, že jsem zatím pokaždé postupoval krapet jinak a (snad) lépe, než při předchozím pokusu. Popíšu zde, jak jsem postupoval teď nedávno, když jsem instaloval nový mailserver pro jednu nejmenovanou štiku českého internetu :)
Požadavky, které nový mailserver měl splňovat:
  • správa několika domén
  • POP3 i IMAP4 přístup k poště
  • SASL pro možnost využití SMTP nezávisle na poloze uživatele
  • SSL/TLS šifrování při přijímání i posílání pošty
  • podpora hromadných aliasů
  • zabudovaný procesní filtr
  • protispamová ochrana, greylisting

Co strčit pod kapotu?

První volba, od které se odvíjí vše další, je MTA. Tady jsem nestrávil moc času planým přemýšlením. Když vezmu MTA, se kterými už mám nějaké zkušenosti, tak: Sendmail je nechutný dinosaurus, který měl už dávno umřít na evoluci. Exim je Sendmail, na který někdo nanesl trochu make-upu. Qmail je opravdu dobrý, ale už jsem měl mnoho možností poznat jeho "nekonvenčnost" v praxi. Vpodstatě ho považuju za polotovar, ze kterého schopný informatik se znalostí jazyka C dokáže funkční MTA vyrobit. Merak nebo Kerio coby komerční produkty ani nezmiňuju. Ba ne, moderní doba zná jenom jeden dobrý, funkční a dobře nastavitelný MTA: Postfix.
Požadavek na současnou správu více domén pak automaticky velel použít MTA s podporou virtuálních uživatelů. V mém případě tedy Postfix využívající MySQL databázi; mám s tímhle uspořádáním dobré zkušenosti, takže jsem neměl důvod zkoušet něco jiného.
Další volba se týkala serverových programů pro práci s poštou. Původně jsem chtěl využít situace a naučit se pracovat s Dovecotem, ale nakonec jsem neměl dost trpělivosti prokousat se přes počáteční obtíže a vrátil jsem se k programům z rodiny Courier, které už jsem dříve a úspěšně instaloval.

Od koho se inspirovat?

Jakmile jsem měl jasno v tom, jaké komponenty použiju, přišel čas podívat se na web. Nemá cenu vynalézat znovu kolo; návody, jak sestavit mailserver z nejrůznějších součástí, se internet jenom hemží. Některé jsou skvělé, některé horší, některé k ničemu. Pár jsem jich už vyzkoušel a mám díky nim celkem dobrý přehled ve způsobech, jak by se mailserver stavět neměl :) V tomto případě jsem vycházel z velice dobře (a česky, to může být pro někoho velká výhoda) napsaného návodu na stránkách Zdeňka Burdy - i když je psaný už před nějakou dobou a tedy mírně neaktuální, byl mi dobrým pomocníkem.
Tedy do práce. Měl jsem k dispozici standardní stroj se systémem Debian 4.0. Začátek mého snažení tedy spočíval (po update a upgrade) v instalaci balíků. Potřeboval jsem balíky postfix, postfix-mysql, courier-base, courier-imap, courier-imap-ssl, courier-pop, courier-pop-ssl, courier-authdaemon, courier-authlib, courier-authlib-mysql, courier-maildrop, sasl2-bin, libsasl2, libsasl2-modules, libpam-runtime, libpam-modules, libpam-mysql, spamassassin, spamc. Tyto balíky jsem neinstaloval najednou - a pak jsem se minimálně jednou plácal v kroužení okolo chyby způsobené chybějícím balíkem. To se stává.
Systém závislostí už se postaral o souběžnou instalaci dalších komponent, hlavně MySQL serveru.
Pozn. Pokud byste si chtěli nainstalovat mailserver s podporou virtuálních uživatelů v MySQL a dopřát si přitom pohodlí klikacího nástroje, máte buď možnost nastavit si databázi na přístup uživatele z jiného počítače, kde máte PHPMyAdmin, nebo si tento můžete nainstalovat přímo na stroji s mailserverem. Systém závislostí vám ovšem samozřejmě nainstaluje celý webserver Apache spolu s interpretem PHP a příslušným modulem. Tak rozvažte, dáte-li přednost pohodlí při nastavování MySQL databáze, nebo minimalismu konfigurace.
Pokračování tohoto článku příště.

Nový komentář

Přihlásit se
  Ještě nemáte vlastní web? Můžete si jej zdarma založit na Blog.cz.