Mailman - The GNU Mailing List Management System
Copyright (C) 2001,2002 by the Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA


ÁLTALÁNOS BEÁLLÍTÁSOK

    A Mailmannek minden gond nélkül működnie kell egy általánosan
    beállított Postfix-el. A dokumentáció írásakor a beállítások
    Postfix 19991231 verziótól kezdve pl13 verzióig, és 200010228
    verziótól pl08 verzióig lettek tesztelve.

    Ajánlatos megadni a main.cf konfigurációs állományban az 
    "owner_request_specil = no" beállítást nehogy a Postfix az -owner
    és -request címekre érkező leveleket külön kezelje (az ezekre
    a címekre érkező leveleket is egyszerűen továbbítani kell a 
    Mailman wrapper programjának). Az alapértelmezett beállítás
    valószínűleg "yes".

    Ahhoz hogy esetlegesen használni tudjuk a Mailman VERP küldési
    képességét ki kell kapcsolnunk az luser_relay (ez az alapértelmezett)
    beállítást és módosítanunk kell a recipient_delimeter értékén.
    Javasoljuk hogy kommentezzük ki a main.cf állományban az luser_relay
    sort és adjuk meg a "recipient_delimiter = +" beállítást. Ezzel
    beállítottuk a programban, hogy a cím a bővített címzésben a + jelig
    kell értelmezni. Ezekkel a beállítások a Defaults.py állományban
    megadott alapértelmezett VERP_FORMAT és VERP_REGEXP értékekkel
    megfelelően működnek.

    Végül ha Postfix-stílusú virtuális tartományokat használunk, akkor
    olvassuk el az erről szóló lejjebb található fejezetet.


POSTFIX ÉS MAILMAN ÖSSZEKAPCSOLÁSA

    A Postfixet össze lehet kapcsolni a Mailmannel úgy, hogy egy új
    lista létrehozásakor, vagy törlésekor a Postfix alias adatbázisa
    automatikusan frissüljön. Ehhez a következők lépéseken kell 
    végigmennünk.

    A leírás feltételezi, hogy a Mailmant az alapértelmezett telepítési
    helyére telepítettük, ez a /usr/local/mailman. Ha nem így tettük,
    akkor a lépéseknél megfelelően módosítsuk az elérési útvonalakat
    azokra amiket a konfigurálásakor a --prefix és --with-var-prefix
    kapcsolóknál használtunk.

    - Ha Postfix-stílusú virtuális tartományokat használunk és 
      szeretnénk, hogy a Mailman kezelje ezeket a tartományokat, akkor
      először olvassuk el a virtuális tartományokról lejjebb található
      fejezetet.

    - A $prefix/Mailman/mm_cfg.py állományban adjuk meg a következőt:

      MTA = 'Postfix'

      Az MTA változó értékével arra a programmodulra hivatkozunk a 
      Mailman/MTA könyvtárban, amelyik az adott MTA-ra jellemző hívások
      segítségével kezeli létrehozáskor vagy törléskor a listákat.

    - Keressük meg a Defaults.py állományban a POSTFIX_ALIAS_CMD és
      POSTFIX_MAP_CMD változókat. Győződjünk meg, hogy a változók a
      postalias és postmap programok helyes teljes elérési útvonalát
      tartalmazzák.

    - Futtassuk a genaliases programot az aliases állomány létrehozásához:

      % cd /usr/local/mailman
      % bin/genaliases

      Győződjünk meg, hogy a data/aliases és data/aliases.db tulajdonosa
      a `mailman' és az állományok csoport tulajdonosa is a `mailman'.

      % su
      % chown mailman:mailman data/aliases*

    - Módosítsuk a Postfix main.cf konfigurációs állományában az alias_maps
      változót úgy, hogy a tartalmazza a következő elérési útvonalat is:

          /usr/local/mailman/data/aliases

      (nincs a végén .db kiterjesztés) Az alias_database változóban ne
      adjuk meg ezt az útvonalat, mert nem szeretnénk hogy módosítsa a 
      Postfix newaliases parancsa a Mailman aliases.db állományát. Mindössze
      azt szeretnénk, hogy a Postfix figyelembe vegye az aliases.db 
      állományt, amikor a hely kézbesítési címeket keresi.

      Célszerű egy hash: típusú adatbázisként megadni ezt az állományt.
      Ezt megtehetjük például így:

      alias_maps = hash:/etc/postfix/aliases,
          hash:/usr/local/mailman/data/aliases

    - A Mailman konfigurálásakor használjuk a --with-mail-gid=mailman 
      kapcsolót (mellesleg ez az alapértelmezett beállítás), mivel az
      aliases.db állomány tulajdonosa a `mailman' felhasználó és a Postfix
      a Mailman wrapper programját mailman uid és gid alatt próbálja meg
      futtatni.

    Ennyi! Egy kis gond: amikor létrehozunk, vagy törlünk egy listát, akkor
    az aliases.db állomány azonnal frissül, viszont nem fut le automatikusan
    a változtatások érvényesítéséhez a "postfix reload" parancs. Ez azért
    van így, mert ehhez root jogokkal kell rendelkezni, vagy egy suid-root
    programnak kell futnia, amelyek biztonsági kockázatot jelentenek.
    A megoldás egyetlen hátrányát tehát az jelenti, hogy körülbelül csak
    egy perc múlva veszi észre a Postfix a módosításokat és érvényesít a
    változtatásokat. Ez a kis kényelmetlenség szerintünk elviselhető.


VIRTUÁLIS TARTOMÁNYOK

    A Postfix két típusú a "Postfix-típusú" és "Sendmail-típusú" virtuális
    tartománykezelésre képes. Az utóbbinál minden bejegyzés (aliases)
    minden tartományban látható, ekkor semmi különleges beállításra nincs
    szükség a Mailmannél.

    A Postfix-típusú virtuális tartományoknál már kicsit tükközni kell,
    azonban itt sem lesz gond a Mailman beállításánál. Először is a
    Postfix virtual_maps változóhoz kell egy újabb könyvtár elérési
    utat adni:

    virtual_maps = <your normal virtual files>,
        hash:/usr/local/mailman/data/virtual-mailman

    Esetünkben a Mailman alapértelmezett telepítési könyvtárát vettük fel
    a változóba. Fontos, hogy kövessük a Postfix leírást arról, hogy
    hogyan kell virtuális tartományokat beállítani; ezért már a Mailman
    beállítása előtt hozzuk létre a megfelelően működő virtuális
    tartományokat.

    Következő lépésként az mm_cfg.py állományba állítsuk be a
    POSTFIX_STYLE_VIRTUAL_DOMAINS változóba azon virtuális tartományokat,
    amelyekre a Mailmannek figyelnie kell. Előfordulhat, hogy nem itt nem
    soroljuk fel a Postfix beállításunk által támogatott összes virtuális
    tartományunkat. Az itt megadott értékeknek pontosan egyezniük kell a
    levelezőlisták host_name változójában megadott értékekkel.

    Nézzük meg egy példán keresztül:

    Tegyük fel, hogy a Postfixben a dom1.ain, dom2.ain és dom3.ain
    virtuális tartományokat szeretnénk kezelni. Ehhez mondjuk a main.cf
    állományban a következő beállítások vannak megadva:

        myhostname = mail.dom1.ain
        mydomain = dom1.ain
        mydestination = $myhostname, localhost.$mydomain
        virtual_maps = hash:/some/path/to/virtual-dom1,
            hash:/some/path/to/virtual-dom2,
            hash:/some/path/to/virtual-dom2

    Példánkban a virtual-dom1 állományban a következő sorokat adtuk meg:

        dom1.ain  IGNORE
        @dom1.ain @mail.dom1.ain

    Ezzel a Postfixet arra utasítottuk, hogy minden dom1.ain-re címzett
    levelet tegyen ugyanabba a postafiókba, mint a mail.dom1.ain, az
    alapértelmezett címre érkezőket.

    Ez esetben a POSTFIX_STYLE_VIRTUAL_DOMAINS-ben nem szabad megadnunk 
    a dom1.ain-t, mivel különben a Mailman levelezőlisták bejegyzései a
    dom1.ain tartományban a következő lennének

        mylist@dom1.ain         mylist
        mylist-request@dom1.ain mylist-request
        # és így tovább ...

    Az egyre pontosabb bejegyzések felülírják az előttük található
    általánosabb bejegyzéseket, ezzel megakadályozzák a dom1.ain
    levelezőlisták megfelelő működését.

    Azonban az mm_cfg.py állományban megadjuk a dom2.ain és dom3.ain
    értékeket:
    
        POSTFIX_STYLE_VIRTUAL_DOMAINS = ['dom2.ain', 'dom3.ain']

    Ezzel elértük, hogy minden olyan listának, amelyet a Mailman a fenti
    két tartomány valamelyikében hoz létre a megfelelő bejegyzései a
    /usr/local/mailman/data/virtual-mailman állományban helyesen fognak
    megjelenni.

    Csak úgy mint a fent említett data/aliases* állományoknál, itt is
    győződjünk meg arról, hogy a data/virtual-mailman és 
    data/virtual-mailman.db állományok felhasználó- és csoporttulajdonosa
    `mailman' legyen. A megfelelő működéshez tehát előbb hozzuk létre
    a virtuális tartományokat, futtassuk a bin/genaliases programot és
    végül ellenőrizzük ezen állományokon a jogosultságokat. Ezen túl,
    többet már nem kell velük foglalkoznunk.


EGY MÁSIK MEGKÖZELÍTÉS

    Fil <fil@rezo.net> máshogy, virtual maps és szabványos keresési
    kifejezések használatával kezeli a virtuális tartományokat.
    Leírása megtalálható:

    (franciául)  http://listes.rezo.net/comment.php
    (angolul) http://listes.rezo.net/how.php

    Egy jó (és egyszerűbb) módszer azon esetekben ha nem bánjuk, hogy
    a tartomány részben egy újabb hostnév jelenik, ezzel növelve annak
    a címnek a karakter hosszát, amelyen keresztül a felhasználók
    elérik a listát. Pl. a listát a felhasználók sajatlista@lists.dom.ain
    címmel érik el sajatlista@dom.ain cím helyett.

    Ezt a megoldást a dokumentáció készítője alaposan nem tesztelte.



Local Variables:
mode: text
indent-tabs-mode: nil
End:
