Dnes je 18. prosince 2017  02:05
nepřihlášen  Neznámý   zaregistruj se
"Každý program má dva účely: Jeden, pro který byl sestaven, a druhý, pro který nebyl."

QMAIL - instalace a základní konfigurace

Qmail je MTA (Mail Transport Agent), to jest program pro dopravu pošty po síti. Qmail je náhradou k asi nejrošířenějšímu MTA na Unixech - sendmailu a zdá se , že se v mnohém sendmailu vyrovná. Je to volně dostupný software od Dana Bernsteina, který je mimo jiné guru přes
security. Qmail je s ohledem na bezpečnost přímo navržen, takže případná bezpečnostní chyba by neměla napáchat mnoho škod. Z důvodu neexistence předkompilované verze Qmailu v současných distribucích, přinášíme návod, jak Qmail instalovat a zprovoznit na linuxovém stroji.

Hned na úvod článku vybereme nejdůležitější z hlavních rysů:

  • podpora virtuálních domén
  • host a user masquerading
  • podpora relayingu
  • kladen vysoký důraz na bezpečnost
  • vestavěná pop3 služba (qmail-popup,qmail-pop3d)
  • kompatibilita s .forward (.qmail nebo balík dot-forward)
  • kompatibilita s /etc/aliases (balík fastforward)

Instalace:
Po stažení zdrojového kódu (současná verze qmail-1.03.tar.gz) následuje tento postup:

  1. Vytvoříme domovský adresář pro qmail
    # mkdir /var/qmail

  2. Vytvoříme uživatele a skupiny potřebné pro moduly qmailu (pro zvýšení bezpečnosti běží každý modul na svém vlastním UID)
    # groupadd nofiles
    # useradd -g nofiles -d /var/qmail/alias alias
    # useradd -g nofiles -d /var/qmail qmaild
    # useradd -g nofiles -d /var/qmail qmaill
    # useradd -g nofiles -d /var/qmail qmailp
    # groupadd qmail
    # useradd -g qmail -d /var/qmail qmailq
    # useradd -g qmail -d /var/qmail qmailr
    # useradd -g qmail -d /var/qmail qmails

  3. Nyní program přeložíme a naplníme adresářový strom
    # make setup check
    Pro post-konfiguraci můžete spustit buď
    # ./config (vyhledá hostname stroje v DNS a automaticky naplní odpovídající konfigurační soubory v /var/qmail/control)
    a nebo skript
    # ./config-fast your.full.host.name , kdy naplní konfigurační soubory v adresáři /var/qmail/control pouze záznamem "your.full.host.name". (soubory me,locals,rcpthosts)

  4. Nastavení aliasů
    Pokud přecházíte ze sendmailu vězte, že Qmail nepoužívá aliasy ze souboru /etc/aliases ani je neumí převést, takže pokud vaše databáze aliasů není rozsáhlá, budete muset převádět sami. Jinak můžete použít balík fastforward.
    Qmail nedoručuje poštu pro uživatele root, také pro uživatelské účty, které nemají uživatelský účet stroje (nemají vytvořen vlastní domovský adresář), takže pro výše uvedené musíme vytvořit aliasy (v domovském adresáři uživatele alias) - /var/qmail/alias:

    # (cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root)
    # chmod 644 ~alias/.qmail*

    Je třeba ješte přidat řádku do každého souboru se jménem uživatele, kterému bude pošta přeposlána.
    Pokud vytvoříte soubor .qmail-default, všechny došlé zprávy pro neexistující uživatele budou přesměrovány na uživatele uvedeného v tomto souboru.

  5. Nyní si můžete vybrat lokálního mailera (program pro lokální doručování pošty, MDA, mail delivery agent), buď použijete již nainstalovaný mailer ve vašem systému(procmail,binmail), nebo program qmail-local, který je součástí qmailu. (Např. sendmail pro lokální doručování pošty používá program binmail nebo procmail)

    Zde je třeba připomenout, že lokální mailer qmail-local doručuje poštu do ~user/Mailbox resp. ~user/Maildir/, místo /var/spool/mail/user.
    Nepoužívá tyto přihrádky z důvodu nízké bezpečnosti a pomalého přístupu k adresáři u serveru s velkým množstvím uživatelů. (Tyto soubory jsou chráněny přístupovými právy jednotlivých uživatelů, takže uživatelé si nemohou číst zprávy navzájem)
    Qmail tedy raději používá ~user/Mailbox (~user/Maildir/) v kořenovém adresáři každého uživatele.
    Pokud tedy chcete používat qmail-local a Maibox, ale váš systém je nastaven pro doručování do /var/spool/mail/user, je třeba udělat následující:

    • vytvořte symbolický link link z každého /var/spool/mail/user na ~user/Mailbox. (pokud vaše stávající POP3 nebo IMAP program používá pro zprávy /var/spool/mail/user) Např.:
      # ln -s /var/spool/mail/tonda ~tonda/Mailbox

  6. Zkopírujte vámi vybraný spouštěcí skript z /var/qmail/boot/ do /var/qmail/rc. Pokud hodláte používat lokální mailer:

    • binmail - /var/qmail/boot/binm(1-2-3)
    • procmail - /var/qmail/boot/proc
    • qmail-local - /var/qmail/boot/home

    Já budu dále budu používat program procmail pro lokální doručování zpráv.

Nyní přijdou na řadu testy (ještě qmail nešpehuje na SMTP portu....):

Nastartujeme qmail pomocí /var/qmail/rc.
Hned poté zkontrolujeme syslog, zda obsahuje řádku

qmail: status: local 0/10 remote 0/20

např. pomocí tail -f /var/log/maillog.
Ještě zkontrolujeme, jestli nám běží všichni (4) démoni, třeba pomocí ps -A | grep qmail.

Local-local test: (pošli prázdnou zprávu lokálnímu uživateli)

# echo to: local_username | /var/qmail/bin/qmail-inject

Po provedení by měl syslog obsahovat něco jako:

qmail: 1001704207.048771 new msg 51183
qmail: 1001704207.049011 info msg 51183: bytes 237 from <anonymous@domena.cz> qp 22349 uid 0
qmail: 1001704207.054426 starting delivery 1: msg 51183 to local pech@domena.cz
qmail: 1001704207.054626 status: local 1/10 remote 0/20
qmail: 1001704207.101205 delivery 1: success: did_0+0+1/
qmail: 1001704207.101394 status: local 0/10 remote 0/20
qmail: 1001704207.101439 end msg 51183

Local-postmaster test: (pošli prázdnou zprávu vzdálenému uživateli)

# echo to: POSTmaster| /var/qmail/bin/qmail-inject

Zkontrolujte syslog:

qmail: 1001706051.902875 new msg 50894
qmail: 1001706051.903116 info msg 50894: bytes 360 from <anonymous@domena.cz> qp 22797 uid 507
qmail: 1001706051.906094 starting delivery 27: msg 50894 to local pech@domena.cz
qmail: 1001706051.906290 status: local 2/10 remote 0/20
qmail: 1001706051.906340 delivery 26: success: did_0+1+0/qp_22797/
qmail: 1001706051.906384 status: local 1/10 remote 0/20
qmail: 1001706051.906424 end msg 50855
qmail: 1001706051.946519 delivery 27: success: did_0+0+1/
qmail: 1001706051.946708 status: local 0/10 remote 0/20
qmail: 1001706051.946752 end msg 50894

Tak testy bychom také měli za sebou, teď nastavíme SMTP službu pomocí xinet démona. Řešení je také v použití programu tcpserver, který je součástí balíku ucspi-tcp, ale o něm až jindy. Vytvořte tedy v /etc/xinetd.d soubor qmail-smtp a do něj dejte:

service smtp
{
disable = no
user = qmaild
server = /var/qmail/bin/qmail-smtpd
socket_type = stream
wait = no
protocol = tcp
}

restartujeme xinet démona. Teď už můžeme testovat pěkně online, třeba opět pomocí příkazu

echo to: vzdaleny_uzivatel@domena.cz | /var/qmail/bin/qmail-inject.

potom bychom měli dostat v syslogu něco jako:

qmail: 1001713499.378043 new msg 50855
qmail: 1001713499.378285 info msg 50855: bytes 227 from <anonymous@lokal.cz> qp 24465 uid 0
qmail: 1001713499.382271 starting delivery 1: msg 50855 to remote vzdaleny_uzivatel@domena.cz
qmail: 1001713499.382446 status: local 0/10 remote 1/20
qmail: 1001713499.542639 delivery 1: success: 192.168.1.1_accepted_message./Remote_host_said: _250_2.6.0__<20010928214459.24464.qmail@domena.cz>_Queued_mail_for_delivery/
qmail: 1001713499.542815 status: local 0/10 remote 0/20
qmail: 1001713499.542858 end msg 50855

Závěrečné poznámky:

Z důvodu širokého využívání sendmailu na unixových systémech se stal sendmail určitým standardem, proto mnohá API mají přirazen kód lokálního volání MTA právě k sendmailu. Při přechodu na qmail ze sendmailu je proto třeba přepsat soubory sendmailu nacházející se většinou v souborech /usr/bin/sendmail či /usr/lib/sendmail souborem /var/qmail/bin/sendmail z balíku qmailu:

# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

Základní konfigurační soubory:
  rcpthosts - seznam domén, na které je povoleno odesílat poštu
  locals - jmenné názvy lokálního počítače
  me - pod jakým jmenným názvem bude lokální server vystupovat

Qmail nepoužívá záznamy v /etc/hosts.
Uživatelé mohou vytvářet v domovském adresáři soubory .qmail plnící stejnou funkci jako sendmailový .forward.

(Testováno pod RedHat Linuxem 7.1)



Autor: Roman Pěch
Vytvořeno: 01.10.2001
Oblast: Software




Související články:

08.10.2001  QMAIL - instalace a konfigurace, dokončení
20.10.2001  QMAIL - přechod na Maildir a instalace kompletního poštovního systému




Diskuse k článku "QMAIL - instalace a základní konfigurace":

DatumAutorPředmět
    zobraz vše    přidej komentář

Krátké zprávy:

  • 04.04.2005 20:47:51
    LinuxExpo: IBM, Red Hat, Mozilla i OpenOffice.org 2.0

    Ve dnech 12. až 14. dubna 2005, se uskuteční pátý ročník veletrhu LinuxExpo, největší středoevropské konference a výstavy zaměřené především na operační systém Linux, Open Source software a související témata. Letos bude LinuxExpo hostit Hotel Olympik v Praze, jehož reprezentativní prostory poskytují nejen vysoký standard, ale přinesou i komfortní zázemí konferenční části, na kterou kladou pořadatelé akce stále větší důraz. V rámci konferenčního programu shlédnou návštěvníci nejen celou řadu odborných a popularizačních přednášek, ale budou se moci zúčastnit i několika specializovaných konferencí.

    Tajemství strategie společnosti IBM ve vztahu k Linuxu a otevřeným standardům nám poodhalí hned první z konferenčních bloků v úterý 12.4. Zasvěcené informace se dozvíme přímo od specialistů IBM z Česka i zahraničí. Linux nezanedbává ani legendární SILICON GRAPHICS. O jeho využití nejen pro náročné vizualizace, ale třeba jako platformu pro budování infrastruktur moderních podnikových řešení budou hovořit zástupci SILICON GRAPHICS s.r.o. během středečního konferenčního programu. Pokud se chcete dozvědět více o distribuci Red Hat, určitě si nenechte ujít čtvrteční konferenci s názvem "Red Hat - Prostředí pro Byznys". Přinese ji distributor Red Hat v ČR, firma Servodata.

    Z dalších prezentovaných distribucí jmenujme například Mandrakelinux, zastoupený společností QCM. Přes rostoucí komerční specializaci nezapomíná LinuxExpo ani na neziskové a vzdělávací projekty, které se představí v rámci Free Linux Zone, připravované ve spolupráci se serverem Linuxsoft. Vydržíte-li do čtvrtečního odpoledne, můžete být přítomni exkluzivní premiéry nové verze populárního kancelářského balíku OpenOffice.org 2.0. David Majda z týmu Czilla přednese přednášku Mozilla pro vývojáře, prezentovat se budou také známá česká live distribuce Danix, DTP řešení pro Linux aplikace Scribus, databáze Firebird a mnoho dalších zajímavých projektů.

    Kompletní přehled konferenčního programu, stejně jako aktuální a podrobné informace o veletrhu LinuxExpo najdete na internetové adrese www.linuxexpo.cz. Tam se také návštěvníci mohou registrovat a získat tak volnou vstupenku na dny pro veřejnost, nebo si dokonce rezervovat místa na jednotlivých přednáškách.[RP]


  • 07.11.2002 23:42:55
    Red Hat Linux Advisory: glibc
    Synopsis: Updated glibc packages fix vulnerabilities in resolver
    Issue date: 2002-09-10
    Updated on: 2002-11-06
    Product: Red Hat Linux 6.2 7.0 7.1 7.2 7.3
    Keywords: glibc resolv DNS
    Více na LinuxToday.[RP]


  • 28.10.2002 22:51:34
    Red Hat Linux Advisory: ypserv
    Synopsis: Updated ypserv packages fixes memory leak
    Advisory ID: RHSA-2002:223-07
    Product: Red Hat Linux 6.2 7.0 7.1 7.2 7.3
    Keywords: ypserv memory leak
    Více na LinuxToday.[RP]


  • 20.10.2002 22:58:22
    Vyšlo nové beta jádro 2.5.44. Changelog naleznete zde.[RP]


  • 20.10.2002 22:36:08
    Red Hat Linux Advisory: mozilla
    Synopsis: Updated Mozilla packages fix security vulnerabilities
    Advisory ID: RHSA-2002:192-13
    Product: Red Hat Linux 7.2 7.3 8.0
    Více na LinuxToday. [RP]

    Archiv krátkých zpráv

    Oblasti:

    Informace:

  • Pokud chcete pro nás psát čtěte zde.
  • e-mail redakce: redakce@linux.poweroff.cz

  • Umístěte si náš banner na stránku





  • H E A D L I N E S


    PHPBuilder:
  • PHP Web Blog - Part 2
  • Creating an Online Survey - Part 2
  • PHP Web Blog - Part 1
  • Preventing Web Attacks with Apache
  • phpwiki - The Wiki for PHP Developers
  • Developing a Ajax-driven Shopping Cart with PHP and Prototype, Part 2
  • Developing a Ajax-driven Shopping Cart with PHP and Prototype
  • PHP Form Validation System: An Object-Oriented Approach
  • Validating PHP User Sessions
  • Preventing Spam When Using PHP's Mail Function

    LinuxToday:
  • Phoronix Test Suite Brings Linux Benchmarking to the Desktop
  • Open Source Tour of Europe: Portugal
  • Linux On Mars!
  • Hey FOSS Project, What's Your Pedigree?
  • How Linux Could Better Market Itself
  • Measuring Open Source Adoption the Hard Way
  • Wine 1.0 Review
  • Cobbler Pieces Together Mass Red Hat Linux Installations
  • Open Source Solves UK Cancer Charity Challenges
  • Bash Arrays



    Hledání

    Zadejte (několik) klíčových slov oddělených mezerou.
  • Hledej v článcích
  • Hledej v krátkých zprávách
  • fulltextové vyhledávání

    Nejčtenější články:

  • QMAIL - přechod na Maildir a instalace kompletního poštovního systému (363895)
  • RShaper - omezení rychlosti síťového provozu (83253)
  • PHP v objetí objektů (převzato) (65463)
  • Copyright © 2001 PowerNET