abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 01:44 | Zajímavý projekt

Kampaň na podporu chytrého telefonu Librem 5, jenž by měl respektovat bezpečnost, svobodu a soukromí uživatelů, úspěšně skončila. Bylo vybráno více než 2,1 milionu dolarů, tj. cíl kampaně byl splněn na více než 141 %. Objednáno bylo cca 3 000 telefonů. Telefon Librem 5 by měl být k dispozici v lednu 2019.

Ladislav Hagara | Komentářů: 4
včera 21:11 | Komunita

Ke zhlédnutí jsou videozáznamy přednášek z konferencí All Systems Go! (media.ccc.de) a GStreamer Conference 2017 (ubicast.tv) konaných o víkendu 21. a 22. října. All Systems Go! v Berlíně a GStreamer Conference 2017 v Praze.

Ladislav Hagara | Komentářů: 0
včera 20:33 | Komunita

MojeFedora.cz informuje (en), že Fedora 27 přináší snadný přístup k Red Hat Enteprise Linuxu. Virtualizační nástroj Boxy nyní umožňuje jednoduše stáhnout a nainstalovat Red Hat Enterprise Linux, který je pro vývojáře zdarma. Vytvořit lze neomezené množství virtuálních mašin s RHEL.

Ladislav Hagara | Komentářů: 3
včera 19:00 | Komunita

Konsorcium Linux Foundation oficiálně představilo licence pro komunitní otevřená data Community Data License Agreement (CDLA). První licence je copyleftová CDLA-Sharing a druhá permisivní CDLA-Permissive. Odpovědi na často kladené otázky ve FAQ.

Ladislav Hagara | Komentářů: 0
včera 13:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 145. pražský sraz, který proběhne ve čtvrtek 26. října od 18:00 hodin v karlínském Pivovarském klubu. Najdete jej kousek od metra Florenc na adrese Křižíkova 17, Praha 8. Jedná se o poslední sraz před konferencí OpenAlt 2017, jež proběhne o víkendu 4. a 5. listopadu 2017 na FIT VUT v Brně. Běží registrace účastníků.

Ladislav Hagara | Komentářů: 0
včera 06:00 | Zajímavý software

Byla vydána verze 0.56 open source platformy Home Assistant (GitHub) pro monitorování a řízení inteligentní domácnosti naprogramované v programovacím jazyce Python verze 3 a bežící také například na Raspberry Pi. Pro vyzkoušení je k dispozici demo [reddit].

Ladislav Hagara | Komentářů: 0
22.10. 16:55 | Nová verze

Byla vydána verze 1.0 klienta F-Droid určeného pro instalaci aplikací do Androidu ze softwarového repozitáře F-Droid (Wikipedie), alternativy k Google Play, nabízející pouze svobodný a otevřený software. Podrobnosti v přehledu změn [Hacker News].

Ladislav Hagara | Komentářů: 9
22.10. 00:55 | Nová verze

Po téměř 13 měsících vývoje od verze 0.11.0 byla vydána verze 0.12.0 hardwarově nenáročného desktopového prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklého sloučením projektů Razor-qt a LXDE. Přehled novinek v příspěvku na blogu.

Ladislav Hagara | Komentářů: 11
21.10. 12:33 | Zajímavý software

Článek ne Medium představuje nejnovější stabilní verzi 2.0 svobodné decentralizované mikroblogovací platformy a sociální sítě podobné Twitteru Mastodon (Wikipedie). Detailní přehled novinek na GitHubu [Hacker News].

Ladislav Hagara | Komentářů: 0
21.10. 06:00 | Komunita

V Praze na půdě Elektrotechnické fakulty ČVUT dnes probíhá RT-Summit 2017 – setkání vývojářů linuxového jádra a uživatelů jeho real-time verze označované jako preempt-rt. Přednášky lze sledovat online na YouTube.

Ladislav Hagara | Komentářů: 0
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (10%)
 (1%)
 (0%)
 (1%)
 (75%)
 (12%)
Celkem 250 hlasů
 Komentářů: 8, poslední 22.10. 23:02
    Rozcestník

    Stavíme poštovní server – 3 (instalace, základní konfigurace Postfixu)

    30. 10. 2009 | Lukáš Jelínek | Sítě | 34588×

    Po přečtení prvních dvou („představovacích“) dílů seriálu již každý mohl získat určitý obrázek, co jsou programy Postfix a Dovecot a proč je použít pro stavbu poštovního serveru. Proto je čas pustit se do práce.

    Obsah

    Odkud, a co vlastně?

    link

    Důležitou otázkou při uvažování o instalaci nějakého programu vždy bývá, kde tento program vzít a případně kterou verzi použít. Nejinak je tomu i v tomto případě. I pokud zůstaneme jen u GNU/Linuxu (přestože lze Postfix a Dovecot provozovat i na jiných systémech), existuje široká škála různých distribucí. Proto nemusí být tak úplně jednoduché rychle najít nejvhodnější cestu.

    Každopádně vždy zůstává možnost stáhnout si zdrojové kódy té či oné verze některého z programů a zkompilovat si je. Takové řešení má ale samozřejmě (kromě nesporných výhod – například možnosti přesně si program nakonfigurovat pro kompilaci) některé nepříjemné vlastnosti. Asi nejvýznamnější je nutnost kompilovat vždy, když vyjde nová verze. Uživatelé Gentoo se v tomto okamžiku mohou smát, nicméně nainstalovat automaticky či poloautomaticky aktualizované balíky je obvykle rychlejší a jednodušší než stahovat zdrojové kódy, konfigurovat kompilaci, kompilovat a instalovat.

    Proto je výhodné, pokud jsou pro danou distribuci k dispozici připravené binární balíčky. Mohou být buď přímo v oficiálním repozitáři, nebo nějakém repozitáři komunitním či spravovaném nějakým dobrovolníkem. Vždy je ale potřeba zvážit, zda jde o dostatečně spolehlivý zdroj a zda jsou balíčky náležitě připravovány. Je pochopitelně rozdíl, zda jde o server na pokusy, nebo o důležitou komponentu placených hostingových služeb. Ve druhém případě musí být přístup výrazně konzervativnější, i za cenu použití starší verze, případně změny distribuce.

    Získání programu Postfix

    link

    Program Postfix je na tom z hlediska verzí v zásadě výborně. Protože je vyvíjen velmi dlouho a neméně dlouho jsou k dispozici stabilní verze, v novějších verzích přibývají nové funkce jen pomalu a mít třeba rok nebo dva roky starou řadu verzí (ve smyslu 2.5 oproti 2.6) obvykle není problém. Není proto většinou potřeba sahat k méně stabilním čerstvým verzím, pokud to není skutečně nutné nebo není cílem provádět experimenty.

    V drtivé většině distribucí stačí proto jednoduše využít balíčky, které jsou tam k dispozici. Například Debian Lenny aktuálně nabízí řadu 2.5, totéž platí v případě distribucí openSUSE 11.1 nebo Fedora 11. Tato řada plně vyhoví téměř ve všech případech (hlavní změnou v řadě 2.6 je totiž přímá podpora běhu více instancí na stejném stroji, což obvykle není potřeba). Na distribucích jako Red Hat Enterprise Linux 5 bývají k dispozici pouze verze řady 2.3, ale i ty plně vyhoví, pokud nebude potřeba používat některé kontroly hlaviček či obsahu nebo některé z dalších funkcí, které přibyly v pozdějších verzích.

    Balíček typicky mívá název postfix. Pozor na to, že mnohdy obsahuje pouze základní funkcionalitu, zatímco doplňky (např. datové zdroje, včetně různých databází) a dokumentace jsou v samostatných balíčcích. Může být tedy potřeba nainstalovat kupříkladu ještě balíčky postfix-pcre (Perl-kompatibilní regulární výrazy), postfix-ldap (přístup ke zdrojům LDAP) a postfix-doc (dokumentace).

    Získání programu Dovecot

    link

    V případě programu Dovecot je to o něco komplikovanější. Protože nové verze (s mohutným rozšiřováním funkcionality) vznikají v poměrně rychlém tempu, distribuce bohužel zaostávají. Například Debian Lenny obsahuje jen staré verze 1.0, totéž různé enterprise distribuce. V některých distribucích (např. openSUSE 11.1) je řada 1.1, jen výjimečně (což je třeba případ Fedory 11) jsou obsaženy verze 1.2.

    Nyní záleží na tom, co má přednost. Zda je to stabilita, nebo škála funkcí. Řady verzí se totiž liší vskutku drasticky. Nejstabilnější je samozřejmě verze 1.0, ta je ovšem funkčně poměrně chudá a má i potíže se standardem protokolu IMAP (ty mají jiné IMAP servery také, není to však dobrý argument). Řadu 1.1 lze již považovat za dobře odladěnou a vhodnou pro ostré nasazení. Tato řada podporuje drtivou většinu potřebné funkcionality, proto komu nevadí absence specialit typu plnohodnotné podpory IMAP ACL, neudělá s těmito verzemi chybu. Řada 1.2 je ještě relativně syrová (i když s ní v praxi nejsou problémy) a hlavně není příliš přítomna v distribucích.

    Co z toho plyne? Záleží-li na stabilitě, je dobrou volbou 1.1, mají-li přednost nové věci, je tu 1.2. Ošemetné je to však s balíčky – ty totiž zejména pro 1.2, ale i pro 1.1 chybí. Jak z toho ven? Především lze, pokud neexistují nějaká jiná omezení, vhodně zvolit distribuci. Další možností je najít spolehlivý repozitář, kde jsou balíčky k dispozici. Případně lze také kompilovat ze zdrojových kódů, i když je lepší se tomu vyhýbat.

    První kroky s programem Postfix

    link

    Program Postfix je tedy nainstalován v systému – ale co dál? Teď je potřeba ho nakonfigurovat. Výchozí konfigurace je většinou taková, že je Postfix schopen odesílat poštu, kterou nějakým způsobem obdrží. Potíž je v tom, že takové výchozí nastavení nemusí být vždy vhodné. Proto nezbývá, než se ponořit do konfigurace a vyladit ji tak, aby program fungoval dle představ.

    Následující postup bude předpokládat Postfix verze 2.5.5 a samozřejmě ryze ruční konfiguraci. Existují různé grafické nástroje, které konfiguraci usnadňují, nicméně i tak je dobré důkladně pochopit, co se to vlastně nastavuje.

    Soubor master.cf

    link

    V prvním dílu seriálu najdete obrázek, který ukazuje, jak vypadá architektura systému Postfix. Důležitou roli tam hraje komponenta master, která spouští další součásti systému. Tato komponenta je řízena souborem master.cf, umístěným – stejně jako většina konfiguračních souborů pro Postfix – typicky v adresáři /etc/postfix. Po instalaci může vypadat například takto:

    # ==========================================================================
    # service type  private unpriv  chroot  wakeup  maxproc command + args
    #               (yes)   (yes)   (yes)   (never) (100)
    # ==========================================================================
    smtp      inet  n       –       –       –       –       smtpd
    pickup    fifo  n       –       –       60      1       pickup
    cleanup   unix  n       –       –       –       0       cleanup
    qmgr      fifo  n       –       n       300     1       qmgr
    tlsmgr    unix  –       –       –       1000?   1       tlsmgr
    rewrite   unix  –       –       –       –       –       trivial-rewrite
    bounce    unix  –       –       –       –       0       bounce
    defer     unix  –       –       –       –       0       bounce
    trace     unix  –       –       –       –       0       bounce
    verify    unix  –       –       –       –       1       verify
    flush     unix  n       –       –       1000?   0       flush
    proxymap  unix  –       –       n       –       –       proxymap
    proxywrite unix –       –       n       –       1       proxymap
    smtp      unix  –       –       –       –       –       smtp
    relay     unix  –       –       –       –       –       smtp
      -o smtp_fallback_relay=
    showq     unix  n       –       –       –       –       showq
    error     unix  –       –       –       –       –       error
    retry     unix  –       –       –       –       –       error
    discard   unix  –       –       –       –       –       discard
    local     unix  –       n       n       –       –       local
    virtual   unix  –       n       n       –       –       virtual
    lmtp      unix  –       –       –       –       –       lmtp
    anvil     unix  –       –       –       –       1       anvil
    scache    unix  –       –       –       –       1       scache
    

    Každý řádek (samozřejmě kromě těch, které začínají křížkem, to jsou komentáře) definuje jednu službu. Služba je „logický objekt“, tedy souhrn určitých činností - bez ohledu na to, jak jsou zajišťovány. Pro každou službu je zde definováno chování. Je dobré mu důkladně porozumět, protože jedině tak se dá potom určovat, jak bude celý systém globálně vypadat.

    V prvním sloupci je vždy název služby. Většinou jde o prostý název, v některých případech (viz dále) se k němu ale přidávají další informace. Ve druhém sloupci je typ služby – říká, jakým způsobem služba komunikuje s okolím.

    Internetové služby mají typ inet. Název služby pak odpovídá portu, na kterém služba naslouchá (viz /etc/services). Má-li naslouchat na jiném portu, je potřeba uvést jeho číslo (třeba 10025). Při potřebě použít konkrétní adresu (počítač jich má víc) se tato předřadí před port, čili bude to třeba 192.168.1.100:smtp nebo 192.168.1.100:10025.

    Dalším typem služeb je unix, tedy komunikující přes místní (unixový) socket. Název služby je pak názvem souboru socketu, resp. cestou relativně k adresáři poštovní fronty. Jak si můžete všimnout, většina služeb ve výše uvedeném souboru komunikuje touto cestou. Od Postfixu verze 2.5 existuje ještě další varianta tohoto typu: pass. Přes unixový socket se však předává deskriptor otevřeného souboru. Dalším lokálním způsobem komunikace je pojmenovaná roura (FIFO), mající typ fifo – význam názvu služby je stejný jako v předchozím případě.

    Nyní následuje pět sloupců, které ovládají chování služby. Je-li konkrétní hodnota nahrazena spojovníkem („-“), použije se výchozí hodnota. Hodnota v celkově třetím sloupci říká, zda jde o soukromou službu poštovního systému – soukromá služba je taková, která nekomunikuje s okolním světem (mimo poštovní systém). Čtvrtý sloupec udává, zda má služba běžet jako privilegovaná (s právy roota; ostatní služby běží s právy uživatele, který je nastaven jako vlastník poštovního systému).

    Další sloupec určuje, zda spouštět službu v prostředí chroot. Většina služeb může takto běžet, někdy se od toho ale upouští, protože to může přinášet nepříjemné komplikace. Šestý sloupec definuje periodu probouzení služby. K čemu je to dobré? Například služba pickup se zabývá sbíráním zpráv vložených do adresáře maildrop (příkaz pro místní odesílání nesmí být závislý na tom, jestli zrovna běží poštovní systém). Sice běžně dostává notifikace o nových zprávách, nicméně někdy takovou notifikaci dostat nemusí. Proto je služba periodicky probouzena a kontroluje stav adresáře. Pokud se za časovou hodnotu (v sekundách) vloží otazník, služba bude probouzena až po jejím prvním použití.

    Dále už zbývá jen maximální počet procesů, který smí pro danou službu běžet. Standardně je u většiny služeb nastaven na hodnotu 100. Nula značí neomezený počet. Některé služby musí mít tento počet nastaven na hodnotu 1 – to je v případech, že by se více procesů mezi sebou „pralo“ nebo je jednoduše zbytečné mít takových procesů víc než jeden.

    To by bylo ohledně chování služeb vše. V úplně posledním sloupci je příkaz, kterým se služba spouští. Někdy je pro více služeb stejný příkaz (viz např. bouncedefer), jindy je potřeba ještě přidat parametry příkazu. Ty se dávají odsazené na následující řádek, jak je vidět z výše uvedeného příkladu.

    Uvedený soubor obsahuje jen služby realizované pomocí programů Postfixu, ale obecně je mohou zajišťovat i jiné programy. Takto se například „zapřáhne“ doručovací agent (LDA) z programu Dovecot nebo různé filtry pro kontrolu zpráv. Ukáže se to v pravý čas.

    Soubor master.cf teď nechme nějakou dobu spát, ten výše uvedený pro začátek postačí. Nyní přichází čas pro hlavní konfiguraci, tedy pro soubor main.cf.

    Hlavní konfigurace programu Postfix

    link

    Do souboru master.cf se sahá málokdy – obvykle jen v případě, že se přidává, odstraňuje nebo mění nějaká služba. Téměř všechno ostatní se nastavuje v souboru main.cf, umístěném opět typicky v /etc/postfix.

    Podívejme se nyní na to, jak by vypadala konfigurace (a také proč by tak vypadala) pro poštovní systém, který pouze předává poštu jinému serveru, tedy sám ji nedoručuje. Zprávy bude dostávat jen lokálně, a to jak pomocí řetězce (sendmail-)postdrop-maildrop-pickup, tak přes internetový socket. Jde prostě o to, aby šla z daného stroje libovolným běžným způsobem odesílat pošta.

    myhostname = postak.moje.domena
    myorigin = $mydomain
    
    inet_interfaces = loopback-only
    relayhost = [nejaky.relay.server]
    
    biff = no
    

    Konfigurace by mohla být ještě o něco jednodušší, nicméně není od věci si něco nastavit jinak, než jak je to ve výchozím stavu. Hodnota myhostname definuje jmennou adresu počítače. Touto adresou se bude například hlásit serveru, na který bude předávat zprávy. Adresa navíc poslouží i pro určení domény – prostě se automaticky odřízne první část (postak) a zůstane doména. Pokud bychom to chtěli nastavit jinak, šel by přidat parametr mydomain:

    mydomain = nejaka.jina.domena
    

    Doména je důležitým parametrem, který se využívá pro řadu účelů (ještě o tom bude nejednou řeč). Tak, jako lze přidat parametr mydomain, lze naopak vynechat parametr myhostname, v takovém případě se název počítače zjistí pomocí funkce gethostname(), což ale nemusí být vždy optimální. Parametr mydomain slouží například pro případy, kdy je příjemce určen jen uživatelským jménem, bez domény (například některé programy posílají zprávy uživateli root – běžně by to skončilo ve schránce místního uživatele, to ale v této konfiguraci není žádoucí).

    S tím souvisí ještě jeden parametr – myorigin. Ten se použije v případě, že odesílatel použije jako svoji adresu pouze název uživatele, bez domény. Výchozí hodnota odpovídá parametru myhostname, což obvykle není to, co by člověk chtěl. Proto je ve výše uvedeném příkladu nastavena na hodnotu parametru mydomain.

    Drobná vsuvka: Pro definici hodnot různých parametrů lze používat jiné definované parametry. Název parametru se uvede znakem dolaru ($).

    Další dva konfigurační parametry přímo souvisí s tím, k čemu se bude poštovní systém používat. Parametr inet_interfaces říká, na kterých síťových rozhraních bude server naslouchat. Výchozí stav je takový, že naslouchá na všech. Protože to ale není potřeba (resp. je to naopak nežádoucí – cílem je přijímat poštu jen z místních zdrojů), ponechají se jen lokální rozhraní. Použití hodnoty loopback-only má (oproti přímé definici rozhraní) tu výhodu, že naprosto nezávisí na aktuální konfiguraci síťování (IPv4, IPv6, maska pro lokální adresy apod.).

    Parametr relayhost říká, kam se bude pošta předávat. Použitý formát určuje přímo jmennou adresu serveru. Lze samozřejmě použít i IP adresu. Odstraní-li se hranaté závorky, bude Postfix adresu chápat jako poštovní doménu a bude tedy provádět DNS dotazy na MX záznamy. Takový způsob je výhodný v situaci, kdy se konkrétní adresa serveru, na nějž se zprávy předávají, může měnit, případně je serverů více a mají případně různé priority.

    Tím jsou důležitá nastavení vyčerpána, zbývá ještě jedno nedůležité. Je to biff, který předefinovává výchozí nastavení. Program biff se používá pro konzolovou notifikaci příchozích zpráv do lokálních schránek. Protože se lokální schránky nebudou používat, biff postrádá smysl.

    Další nastavení

    link

    Tato několikařádková konfigurace dostatečně připraví Postfix k tomu, aby hladce předával přijímanou poštu někam dál. Někdo by mohl mít ale ještě další požadavky. Podívejme se na některé z nich.

    message_size_limit = 20480000
    

    Výchozí limit velikosti zpráv je 10 240 kB. To se může někomu zdát málo, proto bude chtít limit zvýšit. To lze snadno provést parametrem message_size_limit. Pozor ale, že kterýkoli server na další cestě může mít přísnější požadavky. Zprávy, které tady hladce projdou, tak mohou narazit později třeba zbytečně zatěžovat internetové připojení. Je lépe držet se spíš při zemi.

    inet_interfaces = 192.168.1.200, 127.0.0.1
    

    Má-li Postfix běžící na tomto počítači sloužit i jiným počítačům v síti, je potřeba ho nastavit, aby naslouchal i na vnějším rozhraní. Máme-li počítač, který má jedno rozhraní vnější (do Internetu) a druhé vnitřní (do vnitřní sítě), je samozřejmě žádoucí, aby Postfix naslouchal jen na tom vnitřním. To zajistí výše uvedené nastavení – povolí naslouchání na jedné adrese z vyhrazeného prostoru a na adrese místní. Pro IPv6 by se obdobně použily IPv6 adresy. Není-li počítač dostupný z vnějšího světa (je viditelný jen z místní sítě), stačí udělat toto:

    inet_interfaces = all
    

    Tak bude Postfix naslouchat všude, což ale nevadí, protože se k němu z vnějšího světa nikdo nedostane. Ještě jedna důležitá poznámka – ve výchozím nastavení Postfix pracuje pouze s protokolem IP verze 4. Pokud je třeba i verze 6, musí se explicitně zapnout (oba uvedené řádky jsou v současné době funkčně ekvivalentní – v obecné rovině se ale samozřejmě liší):

    inet_protocols = all
    inet_protocols = ipv4, ipv6
    

    Užitečné příkazy

    link

    Součástí sady programu Postfix jsou (kromě modulů serverové části) také různé utility, které slouží ke specifickým činnostem souvisejícím s funkcí programu. Tady je přehled některých příkazů, které lze s výhodou použít při ovládání poštovního systému. Přehled samozřejmě nenahrazuje manuálové stránky k jednotlivým příkazům, jde spíše o to vědět, co k čemu použít.

    postconf – konfigurační nástroj

    Utilita postconf slouží k operacím těsně souvisejícím s konfigurací. Asi nejvýznamnějším použitím je výpis hodnot konfiguračních parametrů:

    postconf -n
    postconf
    

    První příkaz vypíše hodnoty všech explicitně nastavených parametrů. Poskytne neocenitelnou službu v situaci, kdy něco nefunguje, a není jasné proč. Častou příčinou totiž bývá chyba v názvu konfiguračního parametru (případně zapomenuté „zakomentování“ parametru), která způsobí, že se hodnota parametru nenastaví. Neobjeví-li se požadovaná hodnota v seznamu, je jasné, že se nenastavila. Příkaz na druhém řádku vypíše hodnoty všech parametrů (včetně těch, které mají výchozí hodnoty) – opět je to vynikající pro zjišťování, jak je Postfix aktuálně nakonfigurován.

    postconf toho ale umí víc. Tady je pár dalších příkladů použití:

    postconf -e message_size_limit=1024576
    postconf -m
    postconf -l
    

    Příkaz na prvním řádku slouží pro přímý zásah do konfiguračního souboru. Nastaví v souboru parametr na danou hodnotu. Hodí se to v případě, že je soubor velmi rozsáhlý, takže se v něm obtížně hledá, a je potřeba rychle něco změnit. Jednotlivé hodnoty se oddělují mezerou, pro ochranu speciálních znaků lze řetězec uzavírat do uvozovek.

    Zbývající dva příkazy slouží k výpisu podporovaných možností. V prvním případě jde o informační zdroje (vyhledávací tabulky), které Postfix podporuje (viz první díl seriálu – jsou to hodnoty jako btree, hash, static, regexp apod.). Ve druhém se pak vypíší podporované zamykací metody (typicky flock, fcntl a dotlock – první dvě jsou zamykací metody jádra, viz flock()fcntl(), třetí je vytváření speciálního souboru na aplikační úrovni).

    postqueue – základní operace s frontou

    Standardním chováním systému Postfix je, že zprávy, které dočasně nejdou doručit (například cílový server neběží, dočasně zprávu odmítl převzít apod.), zkouší doručovat opakovaně ve zdvojnásobovaných intervalech. Může se stát, že se některé zprávy zdrží na server hodně dlouho (třeba hodiny nebo i dny), ale potom je příčina nedoručování odstraněna a příslušné čekající zprávy by bylo možné ihned doručit. Jenže automaticky to nenastane, protože to Postfix prostě nezkouší.

    V takové situaci může nastoupit ruka administrátorova a server trochu „popohnat“. K tomu slouží program postqueue, který lze spouštět bez zvláštních privilegií. Umí v podstatě dvě operace – vypsat zprávy ve frontě a vynutit doručení.

    postqueue -p
    postqueue -f
    postqueue -s nejaka.domena
    postqueue -i 49A8D6241
    

    První z příkazů vypíše seznam zpráv, které aktuálně čekají ve frontě. Výpis má „formát programu sendmail“ a pro každou zprávu obsahuje její identifikátor, velikost, čas příchodu, odesílatele, příjemce a důvod, proč zpráva čeká. Tyto údaje umožňují zjistit, co se děje, proč nebyly zprávy doručeny.

    Pro vynucené doručení slouží další tři příkazy. První (tj. příkaz na druhém řádku) vynutí pokus o doručení všech čekajících zpráv. Je vhodné ho použít v případě, že byl nějaký problém s doručováním všech zpráv, a proto byly zadržovány neselektivně. Druhý příkaz je již selektivnější – vynutí pokus o doručení zpráv pro určitou doménu. Je jasné, že se hodí pro situace, kdy byl problém s doručováním právě do dané domény. A konečně poslední příkaz vynucuje doručení pouze jediné zprávy, a to na základě identifikátoru. Identifikátor lze zjistit z výpisu fronty. Příkaz je určen pro případy, kdy je potřeba znovu zkusit doručit jednu konkrétní zprávu.

    postsuper – silnější nástroj na ovládání fronty

    Někdy – zejména při ladění konfigurace a posílání testovacích zpráv – bývá potřeba provádět s frontou zpráv radikálnější operace, než jaké umožňuje nástroj postqueue. Je proto nutné sáhnout po programu postsuper, který takové operace umožňuje. Pozor ale na to, že ho může spouštět pouze uživatel root.

    postsuper -d 49A8D6241
    postsuper -d ALL deferred
    

    Oba uvedené příkazy slouží k odstraňování zpráv z fronty. Ovšem zatímco první z nich odstraní pouze jednu konkrétní zprávu podle identifikátoru, druhý odstraní všechny zprávy (ALL; musí se uvádět velkými písmeny) z uvedené fronty, tedy z odložených zpráv (podobně lze uvádět i jiné fronty).

    postsuper -h 49A8D6241
    postsuper -H ALL
    

    Postfix umožňuje zprávy ve frontě „pozdržovat“. Zpráva se přemístí do speciální fronty hold, kde čeká, dokud není uvolněna. Takovou zprávu se server nepokouší doručovat. Pozdržení zprávy může mít smysl v případě, kdy se zjistí, že by nebylo zatím dobré, aby se Postfix zprávy pokoušel doručovat (například proto, že problémy přetrvávají a zbytečné doručovací pokusy by jen brzdily ostatní provoz). První příkaz pozdrží zprávu s uvedeným identifikátorem. Lze také uvést ALL (pro všechny zprávy), případně ještě s typem fronty (např. ALL incoming). Druhý příkaz uvolní všechny pozdržené zprávy. Opět je možné uvést naopak konkrétní identifikátor. Uvolněné zprávy jsou přesunuty do fronty deferred.

    postsuper -p
    postsuper -s
    

    Poslední dva příkazy (postsuper toho umí ještě víc, zejména znovu vkládat zprávy do fronty – popis je v manuálu) slouží pro údržbu systému. Na prvním řádku je příkaz pro odstranění dočasných souborů, které zůstaly po dřívější havárii Postfixu nebo celého systému. Druhý řádek pak obsahuje příkaz pro kontrolu a opravu adresářového stromu programu Postfix. Spouští se před spuštěním programu samotného, a to například po haváriích nebo po obnově poštovních front ze zálohy.

    V sadě systému Postfix je podobných utilit více. Patří mezi ně například také některé příkazy pro kompatibilitu s programem Sendmail, který je různými aplikacemi v systému očekáván. Jejich čas ovšem přijde později.

    Již (skoro) plnohodnotný server

    link

    Se serverem, který umí pouze a jen předávat přijaté zprávy někam dál, se lze málokdy spokojit. Obvykle požadujeme mnohem více. Tedy konkrétně schopnost doručovat na cílové servery a také do schránek přímo na serveru. Server také musí být dostupný z Internetu, ale současně nesmí být k dispozici pro rozesílání spamu. To všechno už je o něco málo tvrdší oříšek, než bylo sestavení několikařádkové konfigurace pro předávání zpráv. Ovšem není to vůbec složité, jak se každý bude moci přesvědčit příště.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    30.10.2009 00:48 GG
    Rozbalit Rozbalit vše Skvělý seriál
    Skvělý, srozumitelný a názorný článek! Stejně jako oba předchozí.

    Děkuji.
    30.10.2009 07:00 pupu | skóre: 30
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 3 (instalace, základní konfigurace Postfixu)
    Pekne napsano. Jenom nepodstatny detail - defaultni pocet procesu je take konfigurovatelny parametr, konkretne default_process_limit.
    30.10.2009 07:15 ext3fs
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 3 (instalace, základní konfigurace Postfixu)
    Trochu chybí podrobnější popis kompilace/instalace Postfixu. Protože v některých distribucí (třeba RHEL) nemá distribuční Postfix podporu mysql a kompilace nového postfixu je docela lahůdka.
    30.10.2009 08:23 B0biN
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 3 (instalace, základní konfigurace Postfixu)
    Je to clanek pro zacinajici uzivatele postfixu, kompilace v RHEL je uplne jiny level. Staci zvolit napr. Debian a zadna kompilace neni nutna. Ale pokud mate zkusenosti s tou kompilaci na RHEL tak sup sup udelat blog ... :)
    30.10.2009 12:18 Nikilauda
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 3 (instalace, základní konfigurace Postf
    Nebo použít balík s podporou MySQL (k dipozici v repository Centosplus)
    30.10.2009 23:12 ZZ9
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 3 (instalace, základní konfigurace Postfixu)
    Navic komplikovat cokoliv v RHEL je podle me pekna blbost, jelikoz ztracite "zaruku"...
    1.11.2009 07:49 pupu | skóre: 30
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 3 (instalace, základní konfigurace Postfixu)
    Videls nekdy RHEL? Nic jako 'zaruka' na system jako celek neexistuje. Dostavas pouze support k balikum. Pokud tedy potrebujes balik, ktery v distribuci neni, pripadne verzi, kterou RH do tehle distribuce nezaradil, prijdes o support na ten konkretni balik, nic vic. Jinak pokud nahlasis problem se 'supportovanym balikem, mas jakous-takous jistotu, ze se tim nekdo bude zabyvat, ale velmi casto je to spis ve stylu 'poslete sysreport, pak dlouho nic a pak filozoficka debata, ze to je vlastne v poradku'. Na druhou stranu je fakt, ze pokud se jedna o konfiguracni chybu, dokazi poradit vcelku rychle a dobre.
    3.11.2009 20:43 ..... Izak ..... | skóre: 14
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 3 (instalace, základní konfigurace Postfixu)
    Nebyl bych si tim tak jist, k RHEL se dodavaji SRPMS a tam lze pri sestavovani pres rpmbuild rict dalsi parametry, nezridka je tam dokonce kometar, pro povoleni te a te fce odkomentujte to a to.

    Takze pokud si vymenim GCC a verze, tak mozna, pokud si ale sestavim RPM z jejich zdrojaku z jinou volbou, tam se zaruka jiz neztraci a kdyz odvolat se nato v potzich muzou taky.

    Zase linux je OS, kde se nic SAMO nepokazi a kdyz se to jednou odladi, tak to jede, dokud se neco nezmeni, treba nejaka verze programu, sice v 99% to funguje spolehlive i tak, ale od toho maji RPM, YUM i up2date moznos vratit se zpet k danemu casu ;-)) moc fajn vec, nemusim pak zkoumat, ktere baliky jsem upgradoval, proste je vratim zpet tak jak byly .... samozrejme svoje lokalni ne, pokud je nedam do repozitare, ono si to stahuje ty programy z netu/repozitaru, neudrzuje je na disku.
    1.11.2009 09:58 ext3fs
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 3 (instalace, základní konfigurace Postfixu)
    Byl jsem nucen rozjet pod RHEL postfix s podporou mysql..takze na vyber moc nebylo. Spis jsem v te dobe dost premyslel proc tam ta podpora mysql neni...ale to uz je druha vec. Jediny problem je, ze veskere aktualizace si musim resit sam.
    1.11.2009 10:04 ext3fs
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 3 (instalace, základní konfigurace Postfixu)
    To je skoda. Myslel jsem, ze to bude podrobnejsi pohled na problematiku, protoze staci zadat do googlu postfix+mysql+dovecot a vyhleda to desitky podobnych pouzitelnych navodu. Vsude tam ale chybi ty "speky", ktere si uzivatel nakonec musi resit sam... No nic, dalsi XXte rozsirene vydani neceho co uz je, ale mozna se pletu.
    Luk avatar 1.11.2009 21:52 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 3 (instalace, základní konfigurace Postfixu)
    Člověk se nikdy nezavděčí všem. To je fakt a nedá se s tím nic dělat.
    protoze staci zadat do googlu postfix+mysql+dovecot a vyhleda to desitky podobnych pouzitelnych navodu
    Většina těch návodů má jedno společné - jsou udělané pro jeden konkrétní scénář. Kdo chce něco mít jinak, je namydlený.
    Vsude tam ale chybi ty "speky", ktere si uzivatel nakonec musi resit sam...
    Za ty "špeky" ovšem každý považuje něco jiného a to je zásadní problém.
    No nic, dalsi XXte rozsirene vydani neceho co uz je, ale mozna se pletu.
    Na to se dá říct jen jediné: koho ten seriál nezajímá, ať ho nečte.
    LinuxMarket - linuxový e-shop | LinuxEXPRES - linuxový magazín | OpenOffice.cz - portál uživatelů OpenOffice/LibreOffice
    2.11.2009 15:42 Kall Ell | skóre: 15
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 3 (instalace, základní konfigurace Postf
    moc pěkný, už se těším na další díl. A měl bych dotaz, bude součástí tohoto miniseriálu i webová aplikace?
    Luk avatar 2.11.2009 16:54 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 3 (instalace, základní konfigurace Postf
    moc pěkný, už se těším na další díl.
    Díky. Další díl je již napsán a měl by brzy vyjít.
    A měl bych dotaz, bude součástí tohoto miniseriálu i webová aplikace?
    Webová aplikace bohužel součástí nebude, nicméně jsem se domlouval s člověkem, který má připraveno poměrně dost informací ohledně webmailů, takže bude záležet na tom, zda se dohodne s redakcí na napsání článků.
    LinuxMarket - linuxový e-shop | LinuxEXPRES - linuxový magazín | OpenOffice.cz - portál uživatelů OpenOffice/LibreOffice
    2.11.2009 17:16 ext3fs
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 3 (instalace, základní konfigurace Postf
    Pokud by byl zajem mohu podat informace ohledne webmailu Horde (IMP) a Roundcube. Prvni s urcitou upravou pouzivame ve firme druhym rokem a druhy jmenovany zatim testuji a v nejake dobe by mel u nas nahradit Horde Webmail.
    Luk avatar 2.11.2009 18:28 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 3 (instalace, základní konfigurace Postf
    Pokud by byl zajem mohu podat informace ohledne webmailu Horde (IMP) a Roundcube.
    Šéfredaktor ;-)
    Prvni s urcitou upravou pouzivame ve firme druhym rokem a druhy jmenovany zatim testuji a v nejake dobe by mel u nas nahradit Horde Webmail.
    RoundCube je výborný. Nejdřív jsem jeho vývoj řadu měsíců pozoroval, pak ho na začátku letošního roku nasadil do zkušebního provozu (po vydání 0.2) a po pouhých 6 týdnech šel do provozu ostrého. Za dalšího půl roku jsem odstranil ze serveru SquirrelMail, protože už ho nikdo nepoužíval (je to skutečně nebe a dudy). Další zajímavá změna se udála po vydání 0.3, kdy přibyla podpora pluginů. RoundCube je velmi spolehlivý, snadno ovladatelný a i se základním skinem vypadá velice slušně. Po technologické stránce bych ho označil za ukázku kvalitní AJAXové aplikace, přičemž AJAX jinak (především vinou mizerných použití na mnoha webech po světě) z hloubi duše nesnáším.
    LinuxMarket - linuxový e-shop | LinuxEXPRES - linuxový magazín | OpenOffice.cz - portál uživatelů OpenOffice/LibreOffice
    3.11.2009 15:47 Kall Ell | skóre: 15
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 3 (instalace, základní konfigurace Postf
    Já mám na jednom serveru nasazený tak squirrelMail a moc s ním spokojený teda nejsem. Vypadá hrozně a uživatel sám nemá moc možností nastavení. Navíc má jednu chybu, o které teda vím a vadí mě. Mám na serveru víc jak tisíc mailů a když si je dám zobrazit všechny(ne po stránkování) tak se to zhroutí. Rád bych ho nahradil něčím lepším. Mrknu se na ten RoundCube.
    18.11.2009 09:11 Michal
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 3 (instalace, základní konfigurace Postfixu)
    Trochu plavu v bounce. Mám na mysli, jak správně ošetřit, když přijde spam na neexistující mailbox a snaží se pak vrátit neexistujícímu odesílateli ? To bych viděl jako jeden takový ten "špek" :) Např. jak udělat aby po nějaké době takovýto mail zahodil či poslal např. postmasteru?

    Díky
    20.1.2010 14:33 jazujimi
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 3 (instalace, základní konfigurace Postfixu)
    Zdravim vsetkych zucastnenych priamo aj nepriamo.Chcel by som sa iba opytat jednu vec.V navode je napisane ze subor master.cf sa nachadza citujem:
    Tato komponenta je řízena souborem master.cf, umístěným – stejně jako většina konfiguračních souborů pro Postfix – typicky v adresáři /etc/postfix.
    Zial prave tento adresar postfix som v adresari /etc nenasiel.Mam cerstvo nainstalovanu verziu Ubuntu server 9.10.Bez akychkolvek uprav a zasahov.Viete mi povedat,preco ten adresar nevidim a na zaklade toho ani nevidim dany subor master.cf? Vdaka za vasu/e odpovede
    8.1.2013 16:52 rainbof | skóre: 13 | blog: Svet_podle_rainbofa
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 3 (instalace, základní konfigurace Postfixu)
    omlouvam se ze to pisu na temer 3roky stare tema ale je to proto ze v zakladni instalaci serveru neni postfix obsazen.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.