Dnes je 21. října 2017  10:24
nepřihlášen  Neznámý   zaregistruj se
"Na složité problémy existují jednoduché, snadno pochopitelné nesprávné odpovědi."

QMAIL - instalace a konfigurace, dokončení

Qmail má velmi nízké nároky na provoz a i na počítači s procesorem i486 dokáže obsloužit až 100,000 zásilek denně. Qmail je velmi modulární a jeho konfigurační možnosti jsou takřka neomezené. Bohužel jak jsem již zjistil v případě Qmailu (a ostatně i v případě většiny ostatního softwaru od p. Bernsteina), dokumentace je dost strohá a ne moc user friendly. V tomto článku dokončíme konfiguraci Qmailu, blíže si popíšeme konfigurační soubory v /var/qmail/control/ a projedeme nastavování virtuálních domén.

Pro začátek několik tipů a vylepšení:

Skript pro automatické spouštění qmailu (/etc/~init.d/qmail) :

#!/bin/bash

program="Qmail"
proc1="qmail-send"; proc2="qmail-lspawn"; proc3="qmail-rspawn"; proc4="qmail-clean"

start() {
        echo -en "Startuji $program.."
        pid=$(pidof $proc1)
        if [ $? = 0 ]; then echo -e " \t[\\033[1;33m UZ BEZI \\033[0;39m]"; exit 1; fi
        /var/qmail/rc &
        if [ $? -eq 0 ]; then echo -e " \t[\\033[1;32m SPUSTENO \\033[0;39m]"
        else echo -e " \t[\\033[1;31m SELHALO \\033[0;39m]"
        fi
        }

stop() {
        echo -en "Ukoncuji $program.."
        killall $proc1
        if [ $? -eq 0 ]; then echo -e " \t[\\033[1;32m UKONCENO \\033[0;39m]"
        else echo -e " \t[\\033[1;31m SELHALO \\033[0;39m]"
        fi
        } case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        stop; start
        ;;
  status)
        for proc in $proc1 $proc2 $proc3 $proc4
        do
            echo -en "$proc pid:"
            pid=$(pidof $proc)
            if [ $? -eq 0 ]
            then echo -e " \t[\\033[1;32m $pid \\033[0;39m]"
            else echo -e " \t[\\033[1;31m NEBEZI \\033[0;39m]"
            fi
        done
        ;;
  *)
        echo "Pouziti: {start|stop|restart|status}"
        exit 1
esac

Testování služeb SMTP a POP3 pomocí telnetu:

SMTP:

# telnet hostname 25
Trying 192.168.1.99...
Connected to r0man.poweroff.rp
Escape character is '^]'.
220 r0man.poweroff.rp ESMTP
HELO
MAIL FROM: user
RCPT TO: user@domena.cz
DATA
^c
QUIT

POP3:

# telnet hostname 110
Trying 192.168.2.99...
Connected to r0man.poweroff.rp
Escape character is '^]'.
+OK POP3 r0man v2000.70rh server ready
USER username
+OK User name accepted, password please
PASS heslo
+OK Mailbox open, 23 messages
LIST
RETR 1

Formát souboru .qmail

Každý řádek může obsahovat jednu instrukci, Qmail je vykonává postupně. Instrukce mohou být:

  • Forward dopisu na jinou adresu - na prvním místě řádky znak '&', pak adresa.
    &uzivatel@nekam.cz

  • Uložení dopisu do jiného souboru než Mailbox - na řádku je jméno souboru včetně cesty. Řádek musí začínat lomítkem nebo tečkou a nesmí končit lomítkem.
    ./Mail/dopisy

  • Uložení dopisu ne do souboru, ale do maildir - na řádku je jméno adresáře (s lomítkem na konci) včetně cesty. Řádka musí začínat lomítkem nebo tečkou, musí končit lomítkem.
    ./Maildir/

  • Předání dopisu nějakému programu ke zpracování - řádka začíná znakem | , za ním jméno programu.
    | progmail

    Poznámka: většina známých programů pro zpracování pošty (např. program filter, doplněk programu elm) potřebuje přidat program preline.
    | preline /usr/local/bin/filter

Příklad:
Uživatel tonda chce, aby mu pošta byla přesměrována na adresu tonda@post.cz, ale kopii každého dopisu chce pro jistotu ponechat i zde (neboli standardně uložit do souboru Mailbox v domovském adresáři). Do souboru .qmail tedy napíše:

# vsechno forwarduj na tonda@post.cz,
# kopii ponech tady
&tonda@post.cz
./Mailbox


Tak, a nyní přistoupíme k tomu hlavnímu...

Konfigurační soubory Qmailu: (/var/qmail/control/)

Konfigurační soubory qmailu jsou čteny pouze při startu programu, takže pro načtení změn v konf. souborech je třeba qmail restartovat. Následující řádky obsahují pouze nejdůležitejší konf. soubory Qmailu:

  • me - soubor obsahuje název serveru. Zadáme zde název pod kterým bude váš server vystupoval.
  • rcpthosts - seznam domén na které je povoleno odesílat poštu
    nebo originál říká, cituji:

    "Allowed RCPT domains. If rcpthosts is supplied,qmail--smtpd will reject any envelope recipient address with a domain not listed in rcpthosts.
    Exception: If the environment variable RELAYCLIENT is set, qmail--smtpd will ignore rcpthosts, and will append the value of RELAYCLIENT to each incoming recipient address."


      r0man.poweroff.rp
      .domena.cz

  • defaultdomain - jméno vašeho serveru.
  • locals - obsahuje seznam (místních) názvů domén, pro které bude Qmail přijímat poštu.
  • virtualdomains - seznam virtuálních uživatelů či domén, každý na jednom řádku. Obecná forma je uzivatel@virtualni_domena:lokalni_uzivatel. Například u záznamu


      nekdo@domena.org:adam

    kdy zpráva přichází pro příjemce nekdo@domena.org qmail-send přepíše hlavičku příjemce na adam-nekdo@domena.org a zprávu přijme lokálně pro uživatele adam.
    Uživatel adam ale musí mít v domovském adresáři soubor buď .qmail-default pro příjem všech adres, nebo .qmail-nekdo pro příjem pošty odeslané na nekdo@domena.org !!

    Záznamy mohou obsahovat též wildcards:


      .org:lokalni_uzivatel
      :alias-uzivatel-seber_vse
      uzivatel@virtualni_domena.org:lokalni_uzivatel

    Platí zde ovšem jedna vyjímka: pokud je za dvojtečkou prázdný řetězec ( domena.cz: ) znamená to, že doména není virtuální doména.
    Také všechny virtuální domény definované ve virtualdomains musí být v rcpthosts ale již nemusí být v locals. Pro správné doručení zpráv pro vámi definované virtuální domény jsou nutné odpovídající záznamy MX v nastavení DNS serverů.

    Jeden (dva) příklady za všechny:

    • Chceme vše příchozí z virtuální domény virtual.com předat lokálnímu uživateli bob kromě tonda@virtual.com, což pošleme Tondovi, a Bob chce zprávy od alois@virtual.com kopírovat ješte do souboru Mailbox-alois v ~bob/. Tedy:

      1.do virtualdomains dáme:

        virtual.com:bob
        tonda@virtual.com:tonda

      2.doménu virtual.com dáme také do souboru rcpthosts
      3.restartujeme qmail
      4.uživatel tonda si vytvoří v domovském adresáři soubor .qmail-default nebo .qmail-tonda, uživatel bob si vytvoří soubory .qmail-alois a .qmail-default . Soubor .qmail-alois naplní těmito dvěma řádky:

        ./Mailbox
        ./Mailbox-alois

    • Chceme aby uživatel Bob mohl přijímat zprávy ze dvou různých domén, ale chceme tyto zprávy od sebe nějak oddělit. Nechceme ale vytvářet dva účty.

      1.do virtualdomains dáme:

        bob@virtual.com:bob-com
        bob@virtual.net:bob-net

      2.doménu virtual.com i virtual.net dáme také do souboru rcpthosts
      3.restartujeme qmail
      4. nyní si Bob může vytvořit ve svém domovském adresáři soubory .qmail-com-default a .qmail-net-default a dále specifikovat, jak s došlými zprávami naloží.

  • envnoathost - defaultní doména k adrese postrádající '@'.
  • badmailfrom - odmítne určité odesílatele - From: (@spam.com).
  • helohost - hostname které je použito u příkazu SMTP HELO.
  • databytes - maximální možná velikost posílané zprávy (v bytech). Pokud obsahuje 0 , velikost zprávy se nekontroluje. Pokud zpráva přesáhne uvedenou velikost, vrátí se odesílateli s chybovou hláškou. [upozornil tomik]
  • smtpgreeting - SMTP úvodní pozdrav, defaultně je to obsah souboru me, pozdrav by měl začínat doménovým názvem počítače.

Ještě poznámka k zamezení přístupu k SMTP službě z určitých adres, k relayingu a ochraně proti spamu:

Pro zajištění přístupu k SMTP pouze z námi uvedených adres použijeme balík ucspi-tcp, který obsahuje program tcpserver (obdoba xinetd).
Po rozbalení do dočasného adresáře balík nainstalujeme pomocí # make a make setup check
Vytvoříme adresář /etc/tcpserver a v něm vytvoříme soubor tcp.smtp, do kterého budeme uvádět ip adresy počítačů, které mají povolen přístup k naší SMTP službě.Obsah tedy bude vypadat zhruba takto:

    127.0.0.1:allow,RELAYCLIENT=""
    192.168.2.:allow,RELAYCLIENT=""
    :deny
(Pro praxi se ale spíše hodí
    127.0.0.1:allow,RELAYCLIENT=""
    192.168.2.1:deny,RELAYCLIENT=""
    :allow
upozornil labkun)

Po každé úpravě tohoto souboru musíme vytvořit aktualizovaný tcp.smtp.cdb pomocí příkazu:

    # tcprules /etc/tcpserver/tcp.smtp.cdb /etc/tcpserver/tcp.smtp.tmp < /etc/tcpserver/tcp.smtp

Teď již můžeme spustit tcpserver, který bude pomocí portu 25 komunikovat s okolním světem.

    # tcpserver -x /etc/tcpserver/tcp.smtp.cdb -u 508 -g 507 0 smtp /var/qmail/bin/qmail-smtpd &

Tímto je k SMTP povolen přístup pouze místním uživatelům a počítačům z 192.168.2. sítě. Pro tyto uživatele je z důvodu definované proměnné RELAYCLIENT ignorován soubor rcpthosts a tudíž mohou zasílat zprávy kam se jim zlíbí. [upozornil tomik]



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




Související články:

01.10.2001  QMAIL - instalace a základní konfigurace
20.10.2001  QMAIL - přechod na Maildir a instalace kompletního poštovního systému




Diskuse k článku "QMAIL - instalace a konfigurace, dokončení":

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 (363882)
  • RShaper - omezení rychlosti síťového provozu (83242)
  • PHP v objetí objektů (převzato) (65454)
  • Copyright © 2001 PowerNET